Tuesday, 12 May 2015 12:56

Mobile Testing Featured

Rate this item
(3 votes)

Mobile applications have now become a part of life. It’s common for users of smart phones, tablets and other mobile devices to download applications from the online store. The focus has considerably moved from the web to the mobile.

The Basics of Mobile Development

As it stands, most mobile devices use one of the two dominant operating systems: Google-developed Android and the Apple-developed iOS. The difference between these operating systems and their related devices isn’t just aesthetic: Just as your MacBook won’t run a Windows application, an Android phone can’t run an app built for iPhone — in most cases at least.


There are 3 types of mobile applications; native, HTML5 (web) and hybrid

Native apps: are specific to a given mobile platform (iOS or Android) using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android

HTML5 apps use standard web technologies—typically HTML5, JavaScript and CSS. This write-once-run-anywhere approach to mobile development creates cross-platform mobile applications that work on multiple devices

Hybrid apps: make it possible to embed HTML5 apps inside a thin native container, combining the best elements of native and HTML5 apps.

Testing Strategy for Mobile Apps

When testing mobile applications one has to focus on the following for complete test coverage.

1.      Functionality: Ensuring functionality provided by the application works.

2.      Usability: To make sure that the mobile app is easy to use and provides a satisfactory user experience to the customers.

3.      Security: Testing an application to validate if the information system protects data or not.

4.      Offline capability: testing if the application works with / without network connectivity.

5.      Interoperability: Testing on various devices & operating system versions

6.      Performance: UI responsiveness, peak load, transaction response time etc

7.      Conformance: To the standards laid out by Apple & Google

8.      Various Network Operators: Testing on CDMA and GSM networks

9.      Network configuration: 2G, 3G, 4G or WIFI

Test Environment & Device Selection

One of the biggest item to plan is where all to test the mobile application and what to utilize for testing. A range of options exist.

First and foremost, you must plan for the devices (hardware), operating system and the browser. Create a matrix and mark which ones you’d like to target.

Next you must decide how you are going to test on these devices. Are you going to utilize emulators, real devices (that you buy yourself) or online mobile labs? Each of the 3 options has its pros and cons so choose and plan carefully.

Automation Testing

Another critical aspect of mobile test planning is to decide on the tool if you plan to automate testing. Two kinds of tools are available for mobile test automation

Object based: automation by mapping elements on the device screen into objects. This approach is independent of screen size and mainly used for Android devices since Android devices come in various sizes. E.g.: Ranorex, Jamo Solutions

Image based: create automation scripts based on screen coordinates of elements. E.g.: Eggplant, Perfecto Mobile

To conclude, you cannot replicate desktop or web testing practices to mobile testing. The first step for testing mobile apps effectively is to realize that mobile application testing is very different from traditional testing (desktop + Web) because of the way users interact with the mobile applications. Add to this complexity the mix of devices, operating systems and browser. Users use touch to interact with mobile applications, rather than the traditional point-and-click used to navigate desktop and web applications. A key challenge therefore lies in testing these interactions (touch) in a repeatable and consistent manner across this fragmented mobile space.


Read 113 times Last modified on Tuesday, 12 May 2015 13:23