Testing Android Applications
The Android device market is growing at a staggering pace. Along with this growth comes the challenge for Application Developers to support multiple screen sizes and resolutions. In addition to this, device manufacturers inflict restrictions on certain Android OS APIs which limits functionality. If that wasn’t complicated enough, each device’s hardware specifications can vary widely. This impacts Apps that makes use of a device’s native capabilities such as the camera or GPS.
For an Enterprise Mobile Application, this problem can be managed by scoping out the target devices and carrying out tests on specific devices. However if it’s a consumer facing Application, this is a different story.
To ensure that the Application support a wider audience as possible, the App needs to be tested on a wide range of devices as possible. This invariably leads to an increase in costs and affects the ROI of the App Development venture. There’s no silver bullet for this issue but it can be approached pragmatically.
Testing on Emulators – is a great place to start. This will make sure whatever is getting developed is tested for sanity and functionality. Emulators are available freely along with the Android SDK.
Test Automation Tools – Mobile test tools are a powerful way for testing Apps with a large set of functionalities and speeds up the process dramatically. Robotium is great tool we use for Mobile App testing and have created a framework using it.
Testing on Actual Devices – while the above techniques help a great deal in cutting down the testing effort, there is no substitute for testing on actual devices. To address the fragmentation and form factor related issues, we have a test bed set up by looking at the Android device marketplace and covering over 80% of screen sizes and resolutions that are available -
A few practical tips for Android App Testing -
- Develop a test strategy before you jump into the App Development
- Whenever possible, decide early on a set of target devices
- Make sure you work with a vendor with a set of defined test processes and tools
- Minimum Viable Products vs Ideal products: the Apps marketplaces can be pretty brutal, one bad user review could potentially destroy your App’s image
- Writing test scripts: getting the QA team involved during the requirements definition and application blueprinting phase will ensure that test scripts written, capture UI and functionality related requirements.