How To Go About Testing Your Android App

Be it the enterprise market or the consumer market, the one aspect of Android that makes it a hard beast to handle is the fragmentation – device, platform and OS. If developing an Android app is a big enough deal, the fragmentation makes the testing of it an even bigger deal.

What is the first thing to do before you consider submitting your app to the Google play store – TEST… Test… test. A company that has had a Million downloads for their app has tested it in about 400 different devices. Well, the idea of testing your app in 400 different devices definitely creates a high barrier for entry into the Android app market – both in terms of cost and testing time. But the entire testing can be addressed in an intelligent way which makes it viable for an app developer.

Going by the 80-20 Rule for Devices

It is almost impossible for small companies and solo app developers to carry out elaborate testing of their apps across various devices. It is extremely time consuming to test manually and even worse, it simply is not cost effective.

One of the best ways to address this problem is to go by the 80-20 principle. As a general rule, 80% of the market is controlled by 20% of Android devices. What this means for you is that by testing on that 20% alone you have covered most of your market and that is a great start. Once you have seen traction for your app, you can invest more resources into catering to the long tail Android market.

So, what is the best way to go about finding the percentage distribution?

– Android website stats to find the popular OS versions
– Android website stats to find the most popular DPI-Screen size combination
– Devices that cover both the above

One of the points to keep in mind is that it is important to not spend valuable initial resources on testing your app on outdated phones and OS in an attempt to be thorough. If you have enough resources to start with, then it might be a good idea to test your app on the most popular devices across the price range – high, mid and low end.

Using the Android Emulator

The Android SDK ships with a device emulator that runs on your computer. This is an alternative for prototyping and testing your app instead of using an actual device. There are a lot of disadvantages in this option – you cannot make actual phone calls, the difference in terms of results when used on the actual device can be ridiculously bad. The general advice is to test the app at-least once on an actual device or use the other options described here.

Using a Third Party Testing Service

The success of the Android app marketplace has led to a plethora of services that contribute to the app ecosystem. Some of the most useful are the ones that provide offshore testing for Android apps. They offer a variety of testing services – functional, integration, load and usability testing.

Some of the bigger companies find it efficient to have the testing team in-house – especially those in gaming who push constant updates to their apps. But offshore testing can be a decent option for companies just starting out in the Android app market.

Some of the services available in the market are Testology, utest, Test-droid, App Thwack and Ranorex.

Design Tests While App Development Is On

One of the best ways to bring down the total development time is by carrying out test designing simultaneously with app design and development. This method saves time drastically especially if you are pushing a feature to a live app. Once the specifications for a feature are decided on, the specs for the test can be written when the development of the feature happens. These tests can be run right after the feature development is over and the feedback can be funneled into the system back again for refinements.

Android development and testing are not straightforward just because of the multitude of platforms and devices. The above options should help you def-rag your app development and testing process.