Every app has its weak point that might take it one step too far and crash! We took Twitter’s, Skype’s and Facebook’s Android apps for a ride on TestObject’s Stress testing and our monkey made them go BANANAS! Who is the fittest app of them all?
- Android 4.1
- 1000 Random Inputs using TestObject’s MonkeyRunner (Key, Buttons, Clicks)
- Logged in User
- Android Twitter, Facebook and Skype Apps
That’s how the mass looks like: (Click here for Twitter’s full log)
77% of app users are worried! why?Applications can endure a lot, one would hope, but the reality in the market shows that apps can be as unpredictable as their users’ actions. This is the reality of mobile apps today, otherwise there is no other reason that 77% of mobile app purchasers would worry about the apps they buy (as seen here). With fear of bugs, crashes, performance, speed and numerous other user, device or weather related reasons, users will probably think twice before downloading an app.
Developers are thinking of all possible actions that users might take making sure their app could manage any event. All possible errors that might come up in the apps they are working on are being taken into consideration.
Though, the ones to fearlessly explore the wilderness of user’s behaviour jungle are testers that are designing numerous test cases. Trying to forecast what users might be doing with your app once it’s out in the wilderness might be a tedious task but should never be dismissed. Thought, even the most creative of testers won’t be able to find the specific chain of actions that no one have thought of that would make an app lose it.
|To test or not to test? (Wikimedia)|
Based on the Infinite monkey theorem, we like to think of the Monkey tests in the following way: based on the idea that you had a million monkeys typing on a million keyboards for a million years, statistically speaking, they might eventually write a Shakespearean play. Meaning, eventually they might find that magic chain of actions that would make an app go bananas!
Crashing the Twitter and Skype app with TestObject
|A simple click worth 1000 events|
So, what we basically did is simply logging in with an account we have created for our MonkeyRunner and gave it the freedom to execute as much as 1000 actions randomly. Our user was so enthusiastic and soon enough shared some tweets, retweeted, followed users and skyped with some imaginary friends – until suddenly the app crashed!
With more than 500,000,000 (500 hundred million) twitter users and an average of 400,000,000 tweets a day, one would assume that Twitter’s app will be bullet proof. Meaning that all the possible scenarios have been cleared and there’s substantially nothing this app won’t be able to take.
But ho boy! Twitter was the first one to fail the race (Full log). Next one was Skype who showed some hesitation during the test and finally gave up crashing with a fierce K.O. (Full log)
|TestObject recorder interface, Houston we’ve got a problem, Skype is struggling|
What does Nullpointer Exception crash mean?
A null pointer exception is an indicator that there is a malfunction in a program’s code. Typically, the Java program (and consequently, the programmer) attempted to access or reference a Java object that did not exist.
As an analogy: You own a piece of land but didn’t build anything on it yet. Accidentally you started giving out your future house’s address saying “That’s my home address”. The postman, your friends and family are looking for the house but can’t find it in that address. This is the equivalent of getting a NullPointerException.
What does it mean for Twitter and Skype?
While the code was developed, some areas in it were neglected, leaving blank spots that each time reached cause the apps to crash. As seen in our testing example, our monkey easily found such lank spots. Finding those bugs doesn’t require a lot of resources and can be done in less than 5 minutes.
If Facebook doesn’t crash, why should other apps crash? User experience can determine the success or failure of an app and help or harm a brand’s reputation. As a result, almost nine out of ten mobile app users associate negative feelings with brands that have poorly performing mobile apps.
Who’s the fittest of them all? FACEBOOK!
Using Facebook on Android can be nerve wracking sometimes, but, as our monkey test showed, something in this app is just right!
Not only that Facebook’s Android app run by our user Koko Runner has made it through thousands of random comments, it is actually being extremely social, proving how easy it is even with simple random actions to friend people, tag them around the world and chat, even when all you have to say is: “q*!s& *”. (Don’t forget to friend her!)
Now it’s time for you to Stress test your own apps and make sure they can make it in the wilderness! Don’t forget to run those tests regularly as they have the potential to press buttons you’ll never think of. Click here to learn more about TestObject and learn how to create a test in less than 5 minutes!
Let the monkey games begin!
|What are you thinking about, koko? MonkeyRunner in action|