Creating testing strategy for your mobile applications

The mobile device world is characterized by a plethora of devices, screen resolutions operating systems, operators and locations. In a world that is comprised of tens of thousands of different client devices and over 400 operators around the globe, testing your mobile application can become a real problem.

In this article we will make an attempt to describe the main challenges in testing your mobile applications as part of the mobile application lifecycle and offer some solutions that will help you improve your mobile testing strategy, reduce your testing costs and improve your TTM (time to market).

Main challenges in testing mobile applications

Screen resolution – You need to make sure that your application works properly on every handset out there and on every screen resolution, in order to make sure that your customers and potential customers will have the best user experience possible.  This problem gets even bigger when you take into consideration not only the common screen sizes for mobile phones (320x480, 176x220 and 240x320), but also the strengthening stream of tablet devices that are rumored to pour over the market in 2011 as well as the tablets that already in mass use (Like the iPad tablet with 1024x768, and Samsung Galaxy Tab with 1024 x 600).

Device input method – Applications often require the user to interact, and in order to do so, they rely on the handset input method. Touch screens are becoming more and more popular in recently released smartphones, but there are still some very popular manufacturers, such as BlackBerry and Nokia, who offer non-touch screen-based phones. If you want to make sure that your application is suitable for everyone, you need to test it on a numeric keypad, QWERTY keypad, TrackBall device and touch screen device.

Operating systems – You may test your application's performance on one operating system and be happy with the response time and overall performance, but different operating systems vary greatly in processing speed and memory size, a variation which results in marketing a poor performing application. Thus, you must test your mobile application at least on the main popular operating systems and make sure you have backward compatibility. 

Network limitations – Operators determine different boundaries for their networks. For example, networks have gateways (Proxy) through which the application is communicating with the server, and this communication can be optimized by the operator in order to make the content more suitable for specific devices, resulting in changing the user experience. You need to test your mobile applications on real handsets connected to real operators, to make sure you see what your end user will see.

Proposed solutions

Testing your mobile applications can indeed be very difficult, but there several solutions that can simplify your mobile testing strategy.

Choose your most important devices – organizations who want to test their mobile applications must plan their mobile testing strategy carefully and make an effort to minimize the amount of handsets being tested. In order to do so, the organization should take into consideration the expected number of users for a device and/or operating system as well as the marketing needs for the application, such as target audience and market share of devices. After weighing these factors, the organization can decide which handsets are wanted to test application's functionality and design.

Remote handset access – This type of mobile testing solution is comprised of real handsets, connected to real operators, which can be accessed via the web. This solution lets organizations test different devices with different screen resolutions and operating systems, saving the trouble and the costs in buying the real handsets. 

Automation tools – automation tools let you write a testing script that can be executed on several devices or countless times on one device, thus cutting quality assurance and regression tests' costs. The right automation tool can also check the end-to-end functional flow in all possible platforms, indemnity problems as pre-defined in the script, make reports and enable collaboration between stake holders in the organization such as: developers, product managers, marketers and QA teams. 

Conclusion

Mobile testing is becoming more and more complex over time as the mobile devices market gets bigger and more important. Never the less, big and small organizations are finding out they can't give up on publishing their own mobile applications, whether designated to the end user or to the corporate worker. In order to do so, organizations must think ahead of their mobile testing strategy and use existing tools, such as remote device access and automated scripting tools, in order to simplify their mobile testing.