As mobile technology demands continue to accelerate, application developers and testers will struggle to keep pace without a shift in thinking when it comes to mobile quality, performance and development. Creating effective apps for an increasingly competitive market depends on rigorous testing to minimise errors and failures. However, this is not as straightforward as it sounds as apps today may need to run smoothly across as many as 1,800 different device platforms. Developing apps for Android OS, for example, demands the consideration of over 130 different devices, running seven different platforms on two firmware sets.
The challenges for developers and testers in the new world of the mobile device app are daunting. Their products need to work smoothly across many existing device platforms while trying to predict the requirements of handsets currently in development - a sizable challenge for any organisation.
Developers and even testers are often sitting in silos and are both at times culpable for skipping the testing either at the development or during the lifecycle of apps. Thus, it is important to ensure apps continually perform from the moment they go live.
Best practice tips for app testing:
Reusability: By definition, mobile app development is a moving environment. Systems must withstand frequent changes and keep pace with rapid developments.
Maintainability: Mobile testing scripts need to be easily modified and portable across platforms to avoid rework which results in delays and added costs.
Real world mobile use: While what we perceive as the 'real world' will change, mobile apps should be tested in the same way that the audience will use them.
Industry standard languages: Some things are more stable. Java or C# will integrate into any continuous delivery system.
Multiple devices: The testing solution should support multiple iterations of the mainstream mobile development platforms.
Improved performance tests: accuracy is paramount in performance testing. You want real traffic from native apps that mimic real devices.
Use emulators and simulators: Take away the legwork by using software that mimics the actions of different devices.
Simulate real mobile bandwidth: Test for the real world by covering and replicating real mobile bandwidth speeds such as GPRS, EDGE, UMTS, HSDPA, HSPA+, and LTE.
Scale it up: while there are some variables, the future is going to see more people using your app, so scale up your mobile testing to a global scale.
Identify the correct testing subset: It is unrealistic to test your app on every known released device and mobile OS platform, so identify your key players - and recalibrate it as required.
The future of mobile testing isn't - and cannot be - about silos of developers working on niché projects. It's going to be teams of developers and testers working closer together and drawing on their creativity and expertise to create robust code that meets the challenges of mobile. While testing may not be a priority when building applications, ensuring that apps deliver true business value is indispensible. By following the tips outlined, developers can ensure that testing is done thoroughly, without eating into developer time.
Chris Livesey, vice president, Borlond