Thursday, January 30, 2014

Useful Tools For Android Apps Test Automation

In our previous article we talked about Why test automation is not good but it’s obvious that automation testing makes life easier and helps to find more bugs, so let’s take a look at the well-known tools for automated testing for Android.

Robotium is probably the most popular framework for test automation of Android applications for now. It is a powerful tool for writing reliable automatic tests for minimal time. Tests are written in Java, and there are side solutions for writing them in other languages like Python. Tests cannot be run on devices, only on the emulator.
Monkeyrunner is included to Android SDK tools and provides API to control a device for functional testing of applications. It does not need the source code of an app and can be run both on the emulator or the device itself. Tests are written on Python or with the help of the recorder.
Appthwack is an interesting service for testing on Android devices. You load your application to the resource and it is installed to the real devices (over a hundred of options). After that it is researched by running, taking measurements of memory and CPU usage, identifying errors and problems, having a small monkey test. According to the survey Appthwack provides a report with screenshots.
JamoSolution is a rapidly developing platform which allows to test native, web-based and hybrid apps and supports Android 1.5+, iOS 4.2+ Windows Phone 7.5+ and others for testing on a wide range of devices. The tests can be recorded and played. JamoSolution works through installing the agent app that lets the developer not to modify his application.
EggPlant developed by TestPlant allows to run your test script on multiple devices at the same time. You can test on iOS and Android and on their emulators, and also on Windows Phone emulator. It supports Windows, Mac and Linux.
MonkeyTalk is a free tool with its own powerful script language and it also supports Javascript. Used for testing Android and iOS apps. It has With MonkeyTalk you can create and store testing projects (test cases, test suites). It can be integrated to Eclipse.
Monkey is a tool for stress-testing included to SDK. It emulates chaotic user actions, in other words, it’s like when the device with a running app is in monkey’s hands. The test can be run either on the device or the emulator.
Cloud services are a good solution for remote testing on multiple devices and transfering testing data to the developer. The most popular cloud services for app testing are Perfecto Mobile and Device Everywhere. The advantage here is one testing script for all mobile platforms and multiple devices. You also not limited in apps to test. But these services usually have high prices.
We hope you’ll find a useful tool for your needs.