Today’s Mobile Applications deliver complex functionality on platforms having limited resources for computing. The Mobile environment comprises of plethora of devices with diverse hardware & software configurations. This diversity in Mobile computing environment presents unique challenges in quality assurance thus requiring unique testing strategies.

Challenges in Mobile Testing:

The challenges in Mobile testing arise from the diversity of device environment, hardware & networking considerations and methodologies of application development. The prime challenges are:

  • Device Environment – There are almost 100 types of devices available in market with more than 40 Mobile browsers running on several operating systems. Rendering images, positioning of elements on screen, application runtime etc are just few of the areas one need to test across devices.
  • Hardware & Network – Limitations in processing speed, Memory size of mobile devices, protocols used to communicate with outer world, network latency, gateways etc are the major challenges from a hardware & network perspective for Mobile testing.
  • Scripts – This challenge arises from the choice of manual or automation testing scripts. Because of several different user interfaces working on several devices the script has to be build accordingly.

Critical Factors:

The critical factors that determine the success of any Mobile Testing project are:

  • Mobile Environment testing
  • Application complexity testing
  • Use of emulators & actual devices
  • Use of test automation

Mobile Testing Features:

The major features of Mobile Testing are:

  • Functional Testing – Under functional testing the tests which are performed are Installation testing, System testing, Mobile Web content testing & Usability Testing. Security Testing is also done for Input Validation Checks & Authentication Checks.
  • Performance Testing – Under performance testing the focus is on Test application responsiveness to user events, measure server response time in case of API calls, simulate multiple use request to perform load test & bandwidth choking to simulate mobile network speed.
  • Usability & Compatibility Testing – This testing is done to understand how people interact with the platform, observe how the mass market use, avg. time taken for a use case, ease of use and recall, compliance against mobile usability standards, mobile browser compatibility test & multi-device compatibility check for OS, resolution, device level features etc
  • Network Testing – In network testing, we test the application using multiple carriers, on different modes of connectivity, perform memory profiling, battery usage test for high data volume apps etc

Test Automation tools:

For building automation test scripts various tools are available in market (Open source as well as Commercial). Below is a sample list of the tools available:

Unit Testing System Testing (Open source) System Testing (Commercial)
jUnit Robotium M-euxTest
Roboelectric Selenium DeviceAnywhere
jMock MonkeyRunner Perfecto Mobile