How to stop Android app testing from haunting your dreams

Have you ever had one of those mornings where you rushed out of the door without taking a final check in the mirror? Did you then find out from strange looks and random staring that something was off only to realize that you had your t-shirt on backwards? Well that is pretty much what happens when you launch an android application without any sort of QA testing. Except that, your business doesn’t lose out financially from the former but definitely feels the burn from the latter.

It is easy to get carried away during the creation of the apps and completely disregard or leave out the testing part. However, this oversight or poor judgment can cost you dearly. When launching, you need to ensure that your app puts its best foot forward. When you don’t test before launching, you leave your business vulnerable to the possibility of a whole lot of trouble arising from customers who are disappointed with the bugs in your app.

Testing, however, isn’t child’s play and teams who carry out the testing carry the herculean responsibility of doing it right. With android applications, the situation becomes much more complex. Multiple versions of the Android platform combined with innumerable hardware types result in every testing team’s nightmare – the much dreaded Android fragmentation. What this means for testing teams is that there is no guaranteed manner or accepted norm to test android apps. However that does not mean that you wish away the security risks of not testing well, especially when you deal with the enterprise.

Does this mean that testing for android apps is impossible or an exercise in futility? Certainly not. While it may not be easy as pie, there are certain approaches that have proved very useful in such situations. Here are some guidelines that you can use.

Know your customer
This is the cornerstone of every customer-facing process and it cannot be emphasized enough. While you will have an idea of what your typical customer is like, your search has to get a lot more specific for android app testing. You need to know basics such as the devices your customers use, what versions of Android platforms are popular with your target group, what are their usage patterns, what is the nature of their occupation, where are they located, gender and so on. Correlating platform and device specific data with demographics will give you a much more complete picture on customer psyche. Often you’d realize that the fragmentation is not as perverse and deep as it looks on paper.

Data insights
One way to get a clearer picture on customer expectations is by using data from either previous applications that you may have developed or from surveys that you can conduct if you’re launching an application for the first time. This sort of data can help you understand your customers’ usage patterns in greater detail. Studies show that an average mobile user purchases a phone for a maximum of 2 years. However in the case of Android, the recently published data from Google I/O shows that Android users are changing phones every year. Usage related information & device life can also arm you with insights on customer expectations and preferences which you can incorporate while testing so that your android app is bullet-proof.

Device segmentation
Once you’ve gathered all the information that you require, you can go ahead and segment the existing devices and platform versions into specific groups. These groups can then be applied during testing to determine which devices you need to test the android apps on. One way to segment is by dividing the devices into one group containing devices with the latest hardware and software, one with the devices and software combinations that are most popular with your target groups and one with hardware and software that are neither new nor popular but still form a significant part of the market. You could also include one group that features the tablets.
Essentially, you need to form coherent grouping based on the information you have.

There are a lot of tools in the market that help with android app testing such as Android Lint, Find Bugs, MonkeyTalk, Robotium, Slendroid. Choosing one will be dependent on whether you require a premium tool or an open source one as well as technical specifications.

Choosing the right approach (strategy + tools) to test your android applications is crucial for the effectiveness of testing. Formulating the perfect approach requires combination of comprehensive understanding of the target group, information of devices and platform versions and a predominantly rational commonsensical mindset to put them together.

  • We hear from prospects/customers all the time about how hard it is to harden up apps against the fragmented Android Market. It is good to know that the matrix isn’t as overwhelming as it appears to be, but is still a major pain point for start-ups and smb’s. Great article!