Mobile Automated Testing
Organizations intending to deploy mobile applications must plan their testing strategy across manual and automated testing approaches using automation where and when it’s appropriate. As with regular automated testing, mobile app testing follows the same rules; it makes no sense to automate where it’s not economical. In other words, don’t automate tests that aren’t run often, and don’t automate tests what will need to be changed frequently due to an application that is changing often.
Mobile test automation is now commonly used to tackle platform and application complexity issues and increase coverage as the number of platforms continues to expand. Learn when and when not to consider using automation for mobile testing by reading this white paper (Mobile Test Automation with Robotium – Getting Started).
There are also many automation tools available to test mobile applications. Each has its own strengths and limitations and you may need a combination of several to do what you need. We’ve listed a few below but this is not exhaustive as new tools and versions are released frequently:
- Experitest – Accelerate mobile testing cycles and increase the quality of your releases with high-volume automated android testing.
- Robotium – Robotium is a free Android UI testing tool. It is suitable for test automation on different Android versions and sub-versions. Software developers often describe it as Selenium for Android. Tests created by Robotium are written in Java. In fact, Robotium is a library for unit tests, but it takes much time and effort to create tests by means of Robotium, as one must work with the program source code in order to automate tests. The tool is also unsuitable for interaction with system software; it cannot lock and unlock a smartphone or a tablet. There is no Record and Play function in Robotium, and it does not provide screenshots.
- MonkeyRunner – MonkeyRunner is one of popular Android Testing tools used for automating of functional testing. One does not have to deal with the source code in order to automate tests. The tests are written in Python and one may use a recording tool for creating tests. MonkeyRunner can run tests on real devices connected to a PC or emulators and has an API what allows it to control a smartphone, a tablet or an emulator from outside the Android code. A significant disadvantage is that it is necessary to write scripts for each device. Another problem of MonkeyRunner is that the tests require adjustments each time the user interface is updated.
- Ranorex – This is a licensed tool good for test automation of not only the latest, but beginning from Android 2.2. One of the Ranorex advantages is its detailed reporting with screenshots. It can connect a smartphone or a tablet to the Internet via Wi-Fi.
- Appium – Is a framework for creating automated tests for iOS and Android. It is a free tool. It supports Android versions from 2.3 and later. Appium utilizes WebDriver interface for testing and supports many programming languages, such as Java, C#, Ruby and others which are in the WebDriver library. It can manage Safari and Chrome on mobile devices, but some test engineers complain that it provides poor reporting.
- UI Automator – This tool supports Android versions beginning from 4.1, which represents about 66% of all devices using the Android operating system. UI Automator is able to interact with all types of Android products, including system applications. This enables UI Automator to lock and unlock a smartphone or a tablet. It can be integrated with testing framework TestNG to generate informative and detailed reports.
Lastly, in our White Paper, Mobile Testing Challenges and Solutions, learn more about how to handle:
- Platform and sensor proliferation and fragmentation, perspectives into location, photography, and communications.
- Application design considerations and how they impact testing requirements.
- Actionable recommendations on how to best employ and achieve efficient software tests – from manual test approaches through large-scale automated test suites employing continuous integration.