Mobile App Development Blog

Blog Home

App Quality Assurance 101: Does your Mobile App Need a Comprehensive Testing Cycle?

January 20, 2017

In today’s world, when our lives are controlled by our smartphones, mobile apps have become an integral part of our lives. We stay productive using Asana. We stay well-fed (and lazy) with DoorDash. We stay fit on ClassPass. You name it.

mobile-app-qa-101

And while the world is abuzz with the creation of a wide variety of mobile apps, there is no denying the role quality plays in the success of any given app. According to a survey, nearly 60% of users will delete an app that requires registration and more than half of users expect an app to launch under two seconds. If this criterion is not met, the app gets deleted. Still wondering if quality is really important?

Recently, I felt an urge to order some snacks to eat alongside my tea. I logged in to order from a well-known tea and snack website in India. I came across a bug in the system that was extremely minor but its impact was huge. According to the website, it would deliver my snacks in thirty minutes (which would be 12:56 PM) but the site actually read it as 12:56 AM. I was confused whether ordering in the afternoon would really get me my delivery post-midnight. To be safe, I decided not to order from there. So they lost at least one customer and who knows how many more through one minor bug. So, you can see how critical software testing is for your business. And when it comes to mobile app testing, I believe in the philosophy of KISF( Keep It Simple and Functional). Anything that is simple to use in design and functionality wins the game. Nobody wants to waste time understanding convoluted apps.

Everybody wants to make apps and earn money. So, how do you ensure that you are making the right app and testing it appropriately? You need to target a market. It’s important to know who the users will be. It’s important to consider the age group of the users, sometimes even their gender and geographical location. For instance, a grocery ordering app will find it difficult to sustain business in small towns. It might have a huge market in metro cities since people work long hours and might not have the time to go to a grocery store. Also, in big cities, the nearest grocery store may be quite a trek. In small towns, such an app likely wouldn’t make money since the vegetable seller often sells vegetables outside the house and grocery stores are located less than a mile away. If you release an app without considering these factors, the app would most likely never be installed or it might receive bad reviews. Also, customers might download apps from your competitors since your competitors have done their market research.

How is mobile testing different from other software testing? The major difference is that mobile users are always on the go. So, you need to be sure that the app works everywhere. For instance, in my previous job, I was working on an app that was meant for skiers. Obviously, apart from testing it in the lab, it was important that it was tested on the high mountains as well, where the actual customer base was located. We needed to ensure that every feature of the app worked in real-time situations. If the user loses their Wi-Fi connection, they must be able to use the app with their cellular network. In short, mobile apps need to be tested in real environments. Testers should have a strategy based on the mobile device, platform and the type of app: native, web-based and hybrid.

At July Rapid, we not only care about developing apps, but also about quality. Apart from manually testing our apps, we also place a huge emphasis on automation testing to improve quality and figure out bugs in the app that are difficult to discover via manual testing. The tool which we use here is Appium, an open source automation tool founded by Sauce Labs. There are a number of benefits to this tool. First of all, it is open source. Second, it supports iOS, Android and Firefox operating systems. Also, you can write scripts using different languages such as Java, C#, Python, Perl and Ruby. And not only does it communicate with the app being tested, but it can also start another app from that app. For example, if you want to test whether the app is properly taking you to the camera app to capture the image of the user, it can be done using Appium. Mobile testing is vast and there are numerous automation testing tools available in market today such as Robotium, Espresso and KIF amongst others, which is beyond the scope of this article.

So if your app isn’t raking in the dough, don’t sweat it just yet. Improve its quality and see your app sales bloom because quality matters.


About the author:

Ridhi Joshi is an Automation Test Engineer at July Rapid. She is also the author of Lovedale, a collection of short stories. When she is not testing and writing, she is mostly daydreaming.