Solving the Three Primary Challenges of Mobile Testing
In the race for mobile app supremacy, innovation and speed-to-market are now vital. Learn more about useful resources for mobile app testing teams that need to respond to these market conditions.
by Mush Honda
Mar 26, 2014
Over one billion smartphones and nearly 220 million tablets shipped globally in 2013. Mobile app development for the consumer and business markets exploded—both the Google and Apple app stores surpassed the one million app mark in 2013, growing by at least 300,000 apps each.
In the race for mobile app supremacy, innovation and speed-to-market are now vital. Apps are no longer planned, built, tested, released, and gradually deployed; instead they live in the cloud, change rapidly in response to user feedback, and deploy instantly to millions of devices. Within this article, we provide useful resources for mobile app testing teams that need to respond to these market conditions. We also discuss what differentiates mobile testing from traditional testing and how to plan accordingly along with practices that enable successful launches.
Primary Mobile Testing Challenges
Mobile testing varies from traditional application testing in several important ways. Here's a quick rundown of the three primary challenges:
Fragmentation: Considering the need to test mobile apps on all the various combinations of software and hardware, the scale of this problem is unprecedented due to variances in device sizes, screen resolutions, operating systems, versions, development options (HTML5, native, hybrid), and networks.
Networks: Mobile devices must run on a wide variety of networks using different technologies. Consider the current list—GSM, GPRS, EDGE, 3G, HSDPA, HSPA+, LTE, 4G, LTE-Advanced, WiMax—which is also growing all the time.
Usability: Testers have to look beyond basic mobile software functionality and ask if it is intuitive enough. Swipes, double taps, pinch-to-zoom, and other gestures are now common.
Optimizing Your Mobile Testing Plan
Just like any other test plan, the key is to concentrate resources where they deliver the most value. Here are some practical considerations:
Identify Your Target: Consider the demographics of the intended audience. A user profile identifies the key platforms and devices. Start with a core group and then mix in a few outliers during secondary testing. There are too many combinations to cover everything.
Tighten Your Focus: Consider the common modules that are independent of the hardware. Incorporating that data into your test plan cuts down the variations and tightens the scope.
Cover Your Bases: You still need a mix of devices, but you don't need to acquire them all at once. Start with emulators to identify functional problems. Then use real devices when drilling into usability, distractions, security and network testing.
Four Key Mobile Tests
For each of the following mobile testing areas, there are many considerations. Every app is different so obviously not everything here will be relevant, but this gives you a good start:
Functional Testing: Just like any other app, ensure the sign up and login process are handled correctly. Also check to make sure all menu options are present and navigable; the app handles a wide range of screen resolutions; and the keyboard works properly. Also test each supported version of each platform.
Usability Testing: A requirements checklist covers navigational workflows, gestures, and touchscreen inputs. Certain keys are expected to perform to spec, such as the <Back> and <Home> keys in Android. You also need to consider auto-rotate for landscape and portrait views and a range of gestures including pinch-to-zoom, swiping, and double taps.
Performance and Load Testing: The app should handle different chipsets and memory combinations. If it accesses the cloud, draws data from a database, or syncs progress for retrieval on another device, check how it handles all of these processes. Also measure how fast the app responds to inputs and how much battery life it consumes, as well as the required installation time.
Security Testing: Sensitive data must be encrypted and stored correctly and confidentiality is important to users offering personal information. For cloud syncing, you need to consider how data is transferred, stored on the server, and accessed elsewhere.
Help QA Relieve the Pressure
Mobile app testing is in its infancy, but by adopting the above practices and testing types, you can overcome the challenges. A combination of software development techniques such as those discussed—that focuses on speed-of-delivery and addresses the unique challenges of testing mobile apps—will help your QA department manage the inevitable added pressure of the exploding mobile app market.
About the Author
Mush Honda is QA Director at KMS Technology, a provider of IT services across the software development lifecycle with offices in Atlanta and Vietnam. He was previously a tester at Ernst & Young, Nexidia, Colibrium Partners and Connecture. KMS services include application management, testing, support, professional services and staff augmentation.