We’ve decided that we should tackle a difficult topic today: CLOSED TESTING. To be honest, we even had quite a debate about whether or not we should disclose this kind of information, but because we are all about transparency… here we go! Here are a few more backstage secrets about our product.
First of all, don’t worry! This is not going to be a technical treatise full of tech terms. We simply want to let you know how we are working on our innovative messenger app before handing it over to you. Testing is surely the most dynamic, explosive and fun process of all, which is why we wanted to shed a little light on it for you. That’s right, our testers lead fun lives, all day long.
Testing: An Insider Look
So, first things first, and we begin with autotests, the keystone of our testing process. And it’s very straightforward: if a code fails an autotest, it means there’s an error that we missed while writing or assembling it, and so it gets sent back for fixing before we allow it to be built into the master.
That’s how autotests guarantee that any changes we introduce will not adversely affect the integrity of anything that’s already been done over months and months of hard work; in other words, they guarantee that the app will run and perform stably across all platforms… always — just the way it’s meant to.
Autotests ensure the integrity and performance of each and every one of the app’s core modules, like the message exchange module, the file transfer module, and so on. A successful autotest report means that, at every stage of development, only fully functional code makes it all the way to the final version of the app.
But there comes a time when you need actual hands on deck — when you can no longer ‘delegate’ the more important, complex and subtle tasks to autotesting algorithms. For example, when you need to adapt the product to all the different devices and OS versions that are out there on the market. In that kind of work, you often find the odd stubborn bug in completely unexpected places. And that’s why we have our glorious testers; the Aegees team’s finest, a total of 36 experts led by Rustam Yusupov. He is, as a Russian saying goes, stern but fair, and he’s a bit of a control freak. There, we said it!
These are the guys who design and perform tests that can’t be automated. Just like the rest of our team, they literally have to be kicked out of work each evening — and when we’re too soft, they stay up working all night, all day, and all weekend, too, violating all Agile software development standards. Arghhh.
They also test all competing products on the market. They know every single bug and every vulnerability in the current market leading messenger apps, and they know who is chasing their heels right now. They probably know better than any of the experts on our team how the apps work, because that’s how they are able to identify all those pesky, sneaky and tricky little bugs.
With a job like this, a great sense of humor is vital. It really is! (Fun fact: did you know that depression is a recognized occupational hazard for testers?)
To give you an example, here’s an actual test report produced by Mikhail Medvedev who was looking into an overheating problem we encountered with some Apple devices. He called his report SM-911.The art of calling, or how I learnt to be a chef: Here it is:
You will need an iPhone X or an iPhone 8, because you need their glass back panel.
1. Run Aegees;
2. Make a couple of calls from the app;
3. Place the phone, screen down, on a flat surface;
4. Fetch some eggs from the fridge (tip: quail eggs are the best!);
5. Crack an egg onto the device;
6. Wait for 2 minutes.
Salt and pepper to taste. Enjoy!
P.S. A bonus hack: if you have two phones, a combination is great for grilling.
So you can see now how much fun our testers have!
Some bugs are too much fun to have just once
Well, to anyone on the outside, both the testers’ work and their relationship with developers may look like an endless sitcom, and that would be the case if you didn’t also know how absurdly tough their job is, just how disciplined the work has to be, and the enormity of their responsibility.
Testing is a complex multi-flow process that requires meticulous planning and perfect organization. Humor is the only thing that stops the job turning into a series of extremely monotonous dead-serious hackathons, and with that level of intensity and nervous overload, we’d probably be at each other’s throats every time we had even the slightest problem. Can you think of at least one team in the world where testers and developers have never had even a minor altercation once in a while? Well, if you’re reading this, you know of at least one where they certainly do.
By the way, the Easter Egg bugs developers build into their apps are not just for fun. In our experience, they serve as perfect motivation to inspire testers to go out of their way to identify some very rare and exotic bugs.
Here’s one example; last Christmas, multiple clicks on the “Crypto Container Size” menu item would send a flurry of pretty snowflakes flying across the screen. The developers even placed bets on whether or not the testers would find it. Needless to say… they did!
We have to admit, there were times when we all simply forgot about an Easter Egg that hadn’t been found! For example, we had a smiley face that popped out when you searched for a contact and then… well, it deleted the contact. That was a bad, bad joke but it does illustrate just how high the stakes are both for developers and testers alike. We’ve even heard a rumor that our project manager once took up shooting as a hobby. That must have calmed the nerves…
Sometimes testers encounter unusual bugs that do not affect functionality but are nonetheless there. For example, we found that on some Samsung phones, the device’s voice recorder continued to display a running track after you hit the stop button and the actual recording had stopped.
Some bugs are extremely difficult to catch, like the one in this video.
Yes, we are headhunting for hackers 🙂
To boost our app’s security we have planned all sorts of hack, malware, backdoor and undocumented feature tests, as well as relevant penetration, database and code analysis tests. We will certainly need third-party experts to get the job done right and we do realize we will have to choose someone from the very best on the market, like Deloitte, Cure53, or FireEye.
When we get their report, we’ll take time to modify and improve things. We’d be delighted if our app passed all the tests and proved impregnable at the very first attempt, but if nothing else, we are realists (well most of us are, apart from the guys who set our deadlines).
So what do we have?
Testing a truly innovative software product is doomed to be a challenging process. Our team’s priority is to tackle the problems head on, never give up and work out solutions even when no one has ever done it before. Today, we can safely say that we have succeeded in overcoming the lion’s share of the challenges that are the natural consequence of taking on such an ambitious task as creating Aegees, the most innovative messaging app on the market. Of course, there’s a lot more to come, but we are ready, bright-eyed and bushy-tailed, because we know we’re on the home stretch now!