Search for bugs as a way of life: a review No. 3


Against the background of the introduction of a self-isolation regime, the popularity of some programs and services has increased. And consequently, more people will encounter bugs that developers have not “noticed” before. This review includes the services that are so popular now: food delivery and delivery club Delivery Club, Yandex.Food, iGooods and Car Sushi. And other software that I needed to use when I was at home for a long time: Sberbank, Puzzle Movies and Taxes FL.

Introduction


This series of articles brings real benefits. Thanks to your views, dear readers, the information reaches the responsible people associated with the projects. Within a few weeks, bugs are fixed.

List of previous articles: an overview of the N1 , an overview of the N2 .

Food delivery


Car sushi




Car sushi is a large network of cafes in Russia. It was founded in 2009 and is now present in approximately 30 cities.

I have a double attitude towards this company. On the one hand, there are the best rolls for my subjective taste, on the other - the most terrible support I have ever met. Nowadays, it is very dangerous for such companies to lose competition in the online arena, but they somehow still hold on. Surely, because of the good cuisine. But in my memory, many cafes with good food have closed, so we draw conclusions.

I was always annoyed by their personal account on the site, in which your delivery addresses are accumulated in the corresponding section, but with a new order you can never choose the address used, you must enter it again each time. Most likely, this bug is still there, but I have been using a mobile application for a long time, so the main story will be about it.

The task is to repeat the last order. Why go to the appropriate section of the application:



Remember the order amount is 707 rubles. These records are clickable, go to the last order and see the following:



Where did the extra 50 rubles come from? I'm sure you will think that the price tag has grown. But this is not so, because the article is about bugs. Go to the order confirmation page:



And then we immediately see how the found bug manifests itself. Additions, due to an application flaw, are duplicated in the main order. In the end, the amount is correct, but the bug manifests itself at the initial stage of the repeat order, and when it lies in the basket, the amount will also be incorrect. I would not trust online payment to an application that even an order cannot correctly calculate.

The last note will be on the order ready page:



In short, a useless page. Never works, never shows anything. Here I would advise taking an example from the Yandex.Food service. This is where a similar section works fine.

In addition to bugs, there are a bunch of questions for the development of the application. For example, it’s high time to refuse to confirm the order by phone, to introduce Apple Pay and other payment systems. Technical support has never answered me for many years. Maybe here I can convey to executives and developers that making orders at Car Sushi is much more difficult and longer than with competitors.

Delivery club




Delivery Club - food delivery service from Mail.ru Group. Like the Yandex.Food service, it now has a great responsibility to maintain the work of restaurants closed to visitors. But there is one problem that I encountered at the beginning of this year. After restarting the application, the active order may disappear there. You can open the application, and there are no statuses, no orders, nothing. As they said in support: “It happens , they still work with your order.” I have not used this service for a long time, but I really hope that under an increased load this bug did not appear more often.

igooods.ru




igooods.ru - a product delivery service from such large retail chains as Lenta, Metro, Globus, etc. In my city appeared recently. Maybe 2-3 months ago. And it is worth noting that very on time. But, like in any software, there are bugs that prevent you from using the application fully.

I made my first order much in advance and had to add the product to an existing order, which is possible before the appointment of a personal typesetter. I was not able to find how to do this myself (a hint of an interface flaw). And after the prompt of the call center operator, I still could not figure it out for some time, but in the end I found it. And then I came across a harsh reality, in which the testing department is not working out:



A button to add an item to an existing order is located under the pop-up bar. The phone screen size is 5.8 inches, i.e. option with too small diagonal is not considered. Just an unsuccessful implementation coupled with poor testing. The strip cannot be removed. She is “nailed” until the order is completed. I had to add goods through the site.

But this is not the only bad news about iGooods. On the day this article was written, my area fell out of the delivery area. Given that this is a residential area in the city center, then the service is doing very poorly. They had to go to the reduction of the zone due to increased demand. Instead of rapid growth in the current situation, the service stagnates due to flaws at different levels. For example, on the site I managed to log in only with the third attempt.

Here is a good example of the fact that you cannot make good service with just some goods and good food. It is also necessary to invest in the quality of software and hardware.

Yandex.Food




Yandex.Food is also a food delivery service from the company of the same name.

Contrary to the format of this series of articles, on the contrary, I would like to express gratitude and respect to the developers of this service and mobile application. This is one of the few applications where everything is really thought out and convenient. There are no bugs in key functions. Great job. The developers of such services should take an example from these guys.

ps a promotional code for a good review can be thrown in PM ;-)

Entertainment


Puzzle movies




Puzzle Movies - for learning English from movies and TV shows. You can familiarize yourself with all the features of the service on the official website. I like a very large selection of content and double subtitles. Novelties of the series are promptly replenished. But there is one inconvenience that will be discussed.

Any movie is convenient to watch on a large screen. Therefore, choosing between a laptop and a TV, I gave preference to the latter. There is a Tizen OS and a modern browser. The main functionality of the site works fine. I encountered inconvenience when I started using the site regularly. The volume of content is very large, and on the TV I am limited in input. Then the “Favorites” section comes to the rescue, in which you can save the started films and series, and return to them in a couple of clicks. Here I found that this is the only page of the entire site that does not load on the TV. An infinite boot symbol is displayed on the screen. Voice dialing in the search bar helps me a little, but due to such a flaw, the usability of the site has noticeably decreased.

They said in support that they took this problem with the lowest priority, but I don’t really hope for a fix. Although I think that the improvements there are minimal.

If anyone is interested, then the User-Agent from such a TV looks like this:

Mozilla / 5.0 (SMART-TV; Linux; Tizen 3.0) AppleWebKit / 537.36 (KHTML, like Gecko) SamsungBrowser / 2.0 Chrome / 47.0.2526.69 TV safari / 537.36

Sberbank Online




Using the Sberbank Online mobile app has become a kind of entertainment for me. Despite the fact that many are currently not working, no one has canceled the payment of utility bills (although the Russians are asking). Unfortunately, I have one provider whose services can only be paid for in this way. And as it often happens with me, it’s difficult to launch the application only once a month and not run into a bug.

I’m sure that many, like me, first put the receipt in front of themselves, and then turn on the application and try to catch the QR code. In such a simple scenario, something strange began to happen: the camera blinked, a transition to payment was performed, and an error appeared there. I did not immediately understand what the problem was, but I figured it out and was able to reproduce the bug.

It turned out that the QR code recognition algorithm in the Sberbank Online application responds to any printed information. In this animation, you can see how it looks:



I turn on the code search mode on the background of the blanket, so that probably nothing is recognized. Then I slowly bring to the table with the text and "recognition" occurs.

Here you can already see that this is a terrible bug. If you continue to "pay" when the "recognition" has occurred, then the expected error will be:



To pay for that receipt, I had to gently start the camera with a QR code, bypassing extraneous information that is printed nearby.

FL taxes




Taxes FL is a mobile application for individuals where you can receive or provide information to / from the federal tax service.

Finally, I had time to file a tax return for the past year. There is an interesting bug in the mobile application. If you click the cross in the list to select the year, you can get an error. It looks like this:



Why do I consider this a bug, or at least a terrible implementation? Surely many of you have tried to teach someone from the middle or older generation to use a new device, website or application. Surely they heard the phrase "I'm afraid to push and break." Because of such error warnings from scratch, it may really feel like something is broken. The development of this application must be approached with greater responsibility.

Connection with the search for errors in the code


The appearance of the described problems and errors has certain reasons. These are flaws in the process of developing programs, as well as in organizing the work of employees as a whole. From writing code to delivering the application to the user, there are several steps.

Identified problems are, first and foremost, the approval of the testing departments. In large companies, these are usually large testing teams. But their effectiveness can suffer from various factors.

One of the important factors that worsens the work of testers is errors that could be corrected even at the stage of writing the code. Processing found bugs takes a few people time. But some of them might not reach the testers, which, in turn, saved the time of the testers. They would spend it on a more productive and high-level testing.

So, our PVS-Studio code analyzer development team is promoting a static analysis methodology. This is the software development phase that faces the transfer of the application to the testing department. In our experience, most errors are flaws in the development phase. And they can be fixed at an early stage, saving time and money.

Unfortunately, unlike open source programs, here I have no way to independently check the code for errors. But if the code is written in C, C ++, C # or Java, then these commands would be useful to go to the site , download the analyzer and run it on your code. Using this tool makes a major contribution to improving the quality of open source software.

Conclusion


In the process of writing the article, I used the ScreenToGif program to convert videos to animations. I'm not even surprised that in the process of describing some bugs I encounter others:



At the end of each review, you hope that the developers will listen, review their development cycles, invest in testing, but this does not happen.

All Articles