App development is a long and complex process and should always end with the launch of a useful and 100% functional product. This is why the last step before launching an app is testing it.

App testing should cover various aspects: functionality, ease of use, potential vulnerabilities, compatibility to different models of phones, etc. As there is an increasing need to perform complex and advanced tests on apps within a reasonable period of time, various app testing tools and platforms were developed.

This article focuses on testing tools for Android apps because, without a doubt, this is the mobile operating system running on the largest variety of devices. There are many brands all over the world – some of them produce top-level devices, others budget phones with lower performances. This is why testing usually takes longer for Android apps – they should run smoothly on devices with very different performance levels.

The following tools are among the most frequently used by developers to test Android apps:

1. Appium


alt

This is one of the best known app testing tools, both for Android and iOS. The key features of Appium are:

  • Easy-to-automate API testing;
  • Free, open source platform;
  • The app can be tested without modifying it.

Appium is compatible with the most frequently used programming languages: Python, Java, JavaScript, Ruby and C#. It can be installed on mobile phones, emulators and simulators. On the down side, Appium does not support older Android versions (below 2.3) and offers no direct support for warnings on Android.

2. Robotium

Another well known and free testing tool for Android, Robotium allows you to perform automated testing for apps on various Android versions and sub-versions. All the tests in Robotium are written in the Java language. The key advantage of using this app testing tool is its speed: it is possible to automate several Android activities and develop a solid test case in a very short time.

However, tests have to be performed one by one. Also, the tool cannot be used to test Flash elements or web components.

3. Selendroid


alt This testing tool is recommended for performing in-depth tests on complex apps. Among the features and benefits on this platform are the following:

  • It can be used on mobile phones, emulators and simulators;
  • The Inspector tool tests the UI of the app;
  • It is compatible with older Android versions;
  • It is fully compatible with JSON Wire Protocol;
  • It allows the plugging in and out of hardware devices without stopping the test.

The only downside in using Selendroid is the fact that tests take quite a lot of time to complete.

4. UI Automator

This app testing tool is quite recent and was developed by Google. It is compatible with Android versions starting with 4.1 and can be integrated with the TestNG testing platform as well.

UI Automator has the ability to run an app under testing on several devices at the same time and contains a file with an API including various class interfaces and exceptions. Using UI Automator requires JavaScript knowledge.

5. Ranorex


alt

This testing tool offers support for a very large number of Android versions – starting from version 2.2. Another reason why developers prefer this tool is the high level of detail in reports, accompanied by screenshots.

Other features and benefits:

  • Dynamic ID support;
  • Easy to install and maintain;
  • It can open .exe files;
  • It includes UI object map editor and “Click & Go” XPath editor.

On the downside, Ranorex can only be used for native Android apps, not hybrid or web applications. Also, there is no support for drag-and-drop or gestures.