Article: Mobile Testing

Abstract. Mobile apps are everywhere. Some apps entertain and others enable business transactions. Apps increasingly interact with complex IT landscapes. For example, a banking app on a mobile device acts as a front end that invokes services on a back-end server of the bank, which might contact even more servers. Mobile testing becomes crucial and challenging. This paper follows a user-centric testing approach. The app’s architecture matters for testing, as does its user base and usage context. Addressing these factors ensures that test cases cover all relevant areas. Most apps need test automation for two reasons: agility and compatibly. Agile projects test frequently, such as every night, to detect bugs early. Compatibility tests ensure that an app runs on all relevant devices and operating system versions on the market. Thus, testers execute test scripts on many devices. This demands for a private device cloud and a mobile test automation framework. Swisscom IT Services followed this path, enabling us to address the major quality issues we identified for mobile apps: pre-usage failures (installation fails, app crashes during startup) and lack of basic regression testing (upgrades buggier than predecessor).