May, 2015

Android App Testing Criteria

Published: 04.05.2015 | 2488

The Android OS is undoubtedly the leading mobile market player, which causes the high-level requirements to apps’ quality and tough competition of developers. So the comprehensive product testing has a special role in successful release in Google Play.

Given the fact that smartphones and tablets on Android have significant differences in hardware and software, then in addition to functional testing and verification for compliance with the mobile application development (Android UIG) there are a number of other checks that are directly related to the specifics of the system and device. Today the name of the game is unique checks for testing Android apps, established by the peculiarities of the system itself.

1. App Installation.

There’s several ways to install the application on an Android device. The use of a particular method may be followed by failures and errors, both during the installation and in the further product using.

Google Play (Market) Way:

  • Through Google Play from the device;
  • From the PC to the device via the web version of Google Play (remote installation).

In contrast to the closed systems, Android OS provides users with possibility to install any app outside the Google Play (Market):

  • Installation through the .apk package on a device (using file manager or application manager);
  • Installation through the .apk package from PC via Android SDK (using ADB debugging tools).

2. Device Resources.

Checks carried out in accordance with the device functional features:

  • Application installing or porting to the SD card.

Android devices usually have not only the internal memory to store user data and installed programs, but also the additional expansion card (SD). As soon as internal memory happens to be frequently overloaded, it is very important to test the correct app’s porting and installing to the SD card while keeping all user data. Any problems arise during transferring must be followed with an appropriate notification.

  • Functions, supported by application, may not be available in some devices. For example, a SIM slot card, 3G, camera, SD-card and so on.

Functions, unavailable to the app on the device, shouldn’t be displayed. For example, when there is no slot for a SIM card in the device, function «Tap to call» is unavailable. When any functions are impossible to use due to lack of support on the device, the relevant notifications should appear.

3. No Memory Leaks.

Some of the most dangerous vulnerabilities of Android apps are memory leak and out-of-memory error. Out-of-memory error occurs when your application requires more memory than it’s left on the device.

Memory leak usually happens when storing data in an excessive volume and its untimely deleting. This is truly insidious error, because memory leak can be detected only upon receipt of failure notification, and the app may crash for a number of reasons. Thus, the Android leak test is a quite complex, but a very necessary task. These days testing is carried out with special tools: Mat plugin and Eclipse memory analyzer along with Traceview of Android SDK and Valgrind.

Android Testing

4. Battery Consumption.

Modern mobile and tablet devices are a real replacement to the computer. However, working with a multitude of functions requires rather large amounts of energy. Obviously, games, multimedia and GPS are the biggest battery killers. However, sometimes the energy leakage reason is hiding in the harmless application when performing certain operations. Now that’s not that obvious at all.

To prevent such problems, you need to test Android apps for energy usage. Typically, tests are performed with the special tools. Following the results, a detailed analysis is provided in accordance with the data, obtained in a percentage correlation, with a variety of conditions and on various parameters.

5. Operation with the Enabled / Disabled Antivirus

The growing popularity of mobile and tablet Android devices entails the increase in activity of hackers and fishers, which heightens the probability of virus infection. Therefore, the number of various antivirus software installs is growing every day.

The running antivirus can often cause crashes of other active apps, or even completely block the application.

In order to prevent these situations, we shouldn’t forget following checks:

  • Check the application operation when running antivirus
  • Check the application operation when it’s added to the exceptions of antivirus
  • Expected result is Android application works with no errors when running antivirus, and all parts of the app are available.

    6. Screen Resolution.

    Android OS devices have a huge number of screen resolutions and sizes. This is due to the presence of many manufacturers producing devices with this operating system and the diagonal divergence.

    All Android screens can be divided into 4 different sizes (small, medium, large and extra-large) as well as 4 different resolutions (ldpi (low), mdpi (medium), hdpi (high), xhdpi (extra). So the chances of the same application will be displayed and work the same way on each device (such as phones and tablets) aren’t too good. The application must run on different types of devices with supported versions of Android OS.

    To reduce the risk of unforeseen problems while using the application on different devices, testers should pre-check the correct app’s functioning and graphics adaptation to screen size and different pixel density. Thanks to the extensive number of real mobile and tablet Android devices as well as access to the specialized services providing cloud rent of missing devices, Webmart QA Company is always here to help with challenging testing tasks!

    7. Monitoring app processes during testing.

    User missteps, bugs in 3rd party libraries or programmer mistakes may sometimes cause errors using app. When you work with Android applications, an unhandled exception entails an error message, and the program shuts down.

    However, a statement of a problem isn’t enough. At least the minimum analysis of application logs is required. It will help to solve the problem successfully, as will provide information on the nature, location and cause of the error. To solve this problem we use a variety of tools such as the ADB debugger (Android SDK), the Eclipse debugger, CatLog and others.

    The extensive Android apps testing approach ensures the successful project realization, especially taking into consideration the high cost of post-release application errors and increasing competition in the mobile development industry.