Challenges with Mobile Application

Environment perspective

 Adapting to frequent OS changes

 Domain constraints

 Target devices that are most used by end users

 Check the application on different OS versions

 Efficient use of gestures and device controls

 The tests for the same may not be possible at the time of the application’s final QA but should be continuous process which will come into play as and when the device OS is updated.

(Adapting to frequent OS changes)

 (Ex.1:when the user has to navigate from the present page to the previous page, he makes use of the“Back” button. In the case of the iPhone, he searches for the “Back” option inside the app. The app should have uniformity across all the devices.) (EX.2: switching between desktop view and mobile view (if the app has both desktop side and mobile side) must all be checked by the QA.)

(Efficient use of gestures and device controls)

Application perspective

 Native/web/hybrid-based applications

 Behavior on different devices

 Different development processes for multiple device OS’s

 Constant comparison of the mobile application with existing desktop/web application

 Ensure the application is as similar as possible to the existing one

 Check the behavior of the application on different targeted devices

 Ensure application works across these devices in a similar manner

 Always Carry out a Certification Test

 iPhone and iPad applications are created using objective C, whereas BlackBerry and Android applications are created using JAVA but different SDK (Standard Development Kit). So always ensure that the same application works flawlessly on all these platforms. The primary focus of the QA team in such cases should be to ensure that all the devices have the same functionality implemented and working perfectly.

(Different development processes for multiple device OS’s)

 If we are targeting multiple devices, the QA team should ensure it has at least one actual device of these and carries out all the test cases on each of these devices at least once for every build released. This would ensure defect-free delivery across multiple devices.

(Check the behavior of the application on different targeted devices)

User’s perspective

 Ensure to keeping it simple and easy for navigation

 Ensure to reduce the key inputs to the fewest possible

 Ensure quick access to the application

 Keep the menus simple and easy to access

Device perspective

 Browser limitations of the devices

 Touch and non-touch devices

 Memory constraints

 Battery Drainage

 Check on all possible device simulators and actual devices if possible

Automation perspective

 Most of the available tools are device/OS specific

 Most of the tools’ capabilities are limited to web application testing

 Keep updating yourself on the tools available

 Always check out and evaluate new tools

Network perspective

 How does application behave in poor/no network situations

 Ensuring off-line support

 Ensuring the application works on WIFI

 Ensure off-line capability is tested

 Track the response of the application to interruptions

 Decide and implement the course of action the application should take in response to interruptions

 How does the application respond to interruptions

 Ensure network fluctuations are addressed

 Ex.A very common practical method to test the application for network fluctuations is to carry the device into an elevator and keep testing while it is on the move.

(Ensure network fluctuations are addressed)

 Check the application’s data storage capacity and ensure that all the data that is stored offline are updated to the right destinations once online.

(Ensure off-line capability is tested)