As you probably know, we are working to create Aegees, a revolutionary messaging app that we intend to make the most protected messenger on the global market. The application is nearing roll-out phase, so the focus now is on testing and problem fixing. We spoke to the Head of Testing at Aegees, Rustam Yusupov to find out how it’s all going, and he had some excellent news to share. We also hope that his brief interview might provide curious readers with some interesting insight into the overall app making process and where we are in it now.
We’ve heard that the bug count has been pretty high throughout the year, is that normal? Why is that and what do you do about it?
Well, up to a certain point we were really focused on developing all the new, even revolutionary, features that we want to give our users so they can enjoy convenient and completely safe communication, the kind that no app has ever been able to give to the world yet.
That is why our main task for a long time was to design and implement solutions for a huge number of such things, like file transfers, message quoting in chat, copy-pasting, exporting messages, and so on and so forth. So that each would work in line with the modern user’s expectations while maintaining the impregnable security standard we want to introduce with Aegees. I can say that we’ve managed all of that development in an almost impossibly short timeframe.
With massive development, the number of bugs, an inevitable side effect of the process, is also massive. As the bugs accumulate, they can reach a critical amount that causes system crashes. Once we found ourselves that far forward, we knew it was time to make changes to our priorities and focus more on stabilising the app.
So what did you do?
To improve app performance, we looked up the stats showing the number of crashes per user per month across all releases and set ourselves a new goal to bring that number down by at least 50 per cent.
To reach that goal, we used online analytical processing tools and assigned high priority to all crash causing bugs. Then we’d fix the top three of those, then test again. After that, we process the stats and review the bug list again to identify the next top three and go through the process again. That allowed us to identify elements in the app that needed re-writing, and that’s what we did.
In a parallel stream, we collected feedback from users reporting all the bugs they experienced, and we fixed them too.
Is that the more efficient approach to testing compared to the usual routine, and why?
I believe it is efficient. In the traditional testing workflow, the entire bulk of discovered bugs is handled by the team at all times. This includes both high and low-priority bugs. Whereas, when you prioritise jobs based on stats and direct user feedback, you pinpoint the user scenarios that cause the most app crashes, which allows you to fix them and improve the app more quickly.
Let me give you an example: many users reported that closing the app while it was busy decoding a large transmission, resulted in a crash. So, because it was a crashing bug that affected usability, we pulled it to the top of our priority list and fixed it ahead of other bugs, such as, for example, a bug that caused user contact data occasionally to fail to save properly.
But that other bug is important, too, isn’t it?
Of course, it is, I never said it wasn’t! But the point is that when we fix, say, 10 bugs of the first type, it makes 90 per cent of our users happy and considerably improves app stability.
I see, and how’s progress so far?
Well, using this approach, we’ve now been able to reduce the number of crashes per month by 200 per cent, compared with the stats we used as a starting point, and our work continues.
So, the Aegees team, including its resourceful and glorious testers, are working hard to get the application ready for its first global roll-out soon and doing whatever it takes — if that means inventing a new testing approach, then so it be — that’s what we do!