Test Automation for Android apps

Posted on: 11:36 am on 20/08/2013 By admin

In order to keep pace with the constant changes and new technologies, enterprises are being forced into development of mobile applications, particularly for Android, one of the two most used operating systems for Smartphones, tablet computers and other smart mobile devices. However, the development processes that otherwise work well in the web world do not happen to work in that way when it comes to development of mobile apps. Rigorous testing is needed so that the ever increasing demand for mobile apps is met successfully.
Testing is an incredibly important phase of application development process for Android devices. There are plenty of reasons behind the same:

  • Size of screen and resolution
  • Presence of external keyboard, front facing camera, and NFC and so on.
  • Version of the different devices
  • Form Factor

Owing to the above mentioned reasons, it is imperative that the developer conducts testing of the application on a range of devices. Since there are all sorts of myriad Android devices, manually conducting testing can be time consuming. Reducing manual testing effort every single time is essentially the biggest benefit of automated testing of Android devices.
Good candidates for automation are test cases that have repeated business logic, functional flows or data-driven testing, Smoke test and build acceptance testing, regression testing, compatibility testing, GUI testing and testing non-dynam¬ic UI components, as well as cross-platform functional testing.
Here are some tips for testing teams before the commencement of testing:

Testing scripts need to be written while the actual development is in progress

The task of writing testing scripts should not begin once the development is complete. Instead, it should begin along with the development. This approach gives the testing team sufficient amount of time for test script modifications and test script execution for the applications. The testing teams ought to work in sync with the development teams to ensure that all aspects of the apps, including security, get tested rigorously.

Have a good framework

Automation calls for planning while there is a stress on faster completion of application development. Howsoever contradictory it may seem, but one must ensure that a reliable framework is in place so that testers are able to conduct tests quickly. They can make use of existing function libraries in order to save considerable amount of time.

Perform review of the automation process frequently

Frequent review of the automation process is necessary for making requisite updates in a timely manner. QA teams ought to review the testing processes and update the test scripts and test plans as per the requirement.

UI changes should not affect Automation tests

Automation testing tools use a series of attributes to identify an object. Moreover, a testing tool often depends upon location coordinates to search an object. Now, if the object location has changed, the Automation test tool will not be able to accomplish the locating. Thus, you may have to frequently change the names of the controls every time you run the test against new version of the application. A better practice would be to use object properties for various user actions in test scripts, so that test scripts are independent of the UI changes if any.

Tools for Android Application Automation

Automation testing tools used for test automation should be reliable, easy to use and produce desirable results. Some of the tools used for android mobile apps are

  • Perfecto Mobile
  • Robotium for Android