How to test android applications | DeviQA
DeviQA LogoDeviQA is the finalist of the Software Testing Award 2019

How to test android applications

By on 2021-04-02T00:00:00.000Z
How to test android applications

It is impossible to imagine our life without smartphones. It even seems that these days people are born with gadgets in their hands. According to the forecast of Statista, the number of mobile devices operating around the world is expected to hit 17,72 billion by the year 2024. In these terms, it is worth noting that nowadays Android is the most popular mobile operating system. Its worldwide market share reached 71.81% in March 2021. So, it is not a surprise that the number of apps available in the Google Play Store was about 2 950 000 in December 2020. In spite of an enormous number of Android devotees, the competition on the market of Android applications is rather severe.

To attract as many users as possible, and, what is more important, to retain them, it is essential to hit the market with a valuable application of the highest quality. Here a question of how to provide proper testing of Android applications arises. In this article, we will share some useful tips on this subject.

Execute testing on the most popular mobile devices

According to the perfect scenario, an app should be tested on as many mobile devices as possible in order to make sure that users will enjoy the app whatever device use. In practice, it is pretty time-consuming and expensive. In this case, the happy medium is to identify the most widely used devices and conduct testing on them. Samsung Electronics, Google, LG Electronics, HTC, and Xiaomi are the main players on the market. So choose the most appropriate models and add them to your stock of testing devices.

Always test your app on various Android versions

Over the years of its existence, eleven Android versions came out and the release of Android 12 is coming soon. To have a wider range of happy users, consider supporting and therefore testing on as many OS versions as possible. Nevertheless, Google Play requires apps to target recent Android versions foremost. So, it is a good idea to start testing on devices powered by the most popular Android versions and the latest version and then proceed to the older ones if time permits.

Android OS market share by version worldwide in January 2021

Android VersionMarket Share
Pie 9.021.53 %
Oreo 8.19.89 %
10.045,29 %
Marshmellow 6.05,77 %
Oreo 8.05,19 %
Nougat 7.04,09 %
Lollipop 5.13,16 %
Nougat 7.13,01 %
KitKat 4.40,98 %
Other1,09 %

*Source is Statista

One more useful tip for start-ups on a budget - engage your friends and family members to app testing! You can always borrow their Android-powered devices and test your app on them, maybe even run a set of smoke tests. From our experience, even a short time spent on this can provide you with plenty of useful information.

Do not use emulators for manual testing

What is suitable for development is not always good for QA. While developers make active use of emulators, a QA team would rather test mobile applications on real devices. There are lots of reasons for this. First of all, you can emulate how an app looks, but not how it feels - using it with a full-size keyboard and mouse cannot be compared with a real-life experience. Certain user interactions, e.g. pinching, scrolling, and zooming are considerably different on the touchscreen. So accurate usability testing of mobile apps can be executed only on real devices.

The necessity to execute proper performance testing is one more argument for the importance of testing on real mobile devices. With an emulator or simulator, it is just impossible to define and assess memory consumption, CPU consumption, or battery draining out. Besides, using emulators it is impossible to experience and check network issues.

Last but not least, by testing your Android app on a device you can get it affected by different third-party software, which you cannot reproduce on the emulator.

Pay particular attention to memory issues

High memory consumption is a common problem for many mobile apps. Far too often apps or games do not run on particular Android-powered devices due to extremely high memory consumption. As a rule, the most popular and highly rated apps in the Google Play Store do not have this problem. So to ensure Android app success it is important to check and test app memory handling across the range of different Android devices, including high-end and low-end ones.

Get the most out of automated testing

Depending on the app itself, release frequency, development process, and financial capacity, it can be reasonable to make use of automation for your Android app testing. Test automation has lots of pros and not as many cons as may seem from the first glance. In essence, its main drawback is a high initial cost, which is easily repaid in the long term.

Android app automation testing is the best way to reach an optimal level of test effectiveness, extend test coverage, and provide excellent product quality. The ultimate value of test automation lies in an opportunity to avoid manual execution of the oft-repeated tests, concentrate on the more important tasks, and significantly speed up test execution.

These days the market is overloaded with different Android app automation testing frameworks, the most widely-used among them are Appium, Espresso, Robotium, Selendroid, Ranorex, TestComplete, etc.

So, do not lag behind - implement test automation.

Check compliance with Google Play Store Guidelines

There are guidelines for each mobile platform outlining how to support different features and UX standards. Non-compliance with Google Play Store guidelines may lead to an app fail or frustrating user experience. For instance, if during the app development the "Back" button has been added, it might conflict with the Android built-in back button. Moreover, the Google Play Store guidelines also define the Privacy Policy and Content Policy with which an Android app must comply as well.

Do not ignore beta testing

As beta testing is executed by the real app users, on the real devices, and in real-life conditions, it can provide your QA team with numerous useful insights enabling it to increase the quality of your Android app before its official release. Beta testers can provide you with feedback on the app running on different devices and with different network variations (Wi-Fi, 5G, 4G, 3G, and 2G) and report bugs that have been left out by the QA team. Due to beta testing, you can launch your Android app being confident that it will be well accepted by end-users.

Testing types for Android apps

Android applications as any mobile application usually undergo the following tests:

Functional Testing:

Usability testing;

Compatibility Testing:

Compliance Testing;

Recovery Testing;

UI Testing:

Network Testing:

Performance Testing:

Memory Leak Testing:

Installation Testing:

Security Testing:

Interruption Testing:

Localization testing, etc.