BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Testers accustomed to Web and desktop environments are faced with entirely new challenges in mobile quality assurance. The testing community, limited by devices and network conditions, has had to reassess its priorities. The current focus is on simplifying apps without sacrificing user experience. Developers and testers alike must find creative ways to emulate realistic user scenarios in order to build, monitor and update applications that customers will find a joy to use.
For those just entering mobile testing’s complex arena, here are some answers to frequently asked questions that will help to get started.
How is mobile app testing different from Web app testing?
Software teams transitioning to mobile should expect challenges that require an entirely new approach to quality assurance. For one thing, the lifecycle is shorter and software updates are more frequent, which creates the need for more testers.
Software teams transitioning to mobile should expect challenges that require an entirely new approach.
Time-to-market has become so competitive that mobile releases are rushed out the door before all the kinks are worked out. For this reason, more updates are required to smooth out the wrinkles and to keep data relevant to different devices as well as changing operating systems.
Testers are much more central in this scenario than they were in the past. Traditionally, there was one tester for every three (or more) developers. Now, mobile requires one tester for every developer.
What are the first steps to take in mobile testing?
Mobile testers need to learn to anticipate the real-world challenges users face. This means accounting for variable network conditions, limited battery power and device constraints. Testing expert Matt Heusser suggests purchasing real devices rather than relying on emulators and simulators to mimic user scenarios. For all their sophistication, they can never be as accurate as the real thing.
Should testing practices be different depending on the app?
A tester's priorities will shift depending on the purpose of the app as well as its intended user. According to Scott Sehlhorst, the primary focus for B2C applications should be to encourage widespread adoption. This means focusing on simplicity, functionality and design (i.e., user experience).
Alternatively, B2B and B2E applications can mandate usage and therefore do not need to focus as much on fostering customer participation. It is crucial, however, for enterprise applications to have a dependable security policy, one that protects both company and private user information. Since BYOD has blurred the line between business and personal devices, it also falls to development teams to build applications with cross-platform technologies. This means considering the constraints of different devices and testing for each.
What mobile security concerns should I be aware of?
In terms of software, mobile security concerns are much the same as those in desktop and Web apps. The main difference is that portable devices can be lost or stolen. This means that developers will need to consider the way in which data is stored so that, if the device does fall into the wrong hands, sensitive information is protected.
One method is encryption. Developers might also store data in random-access memory so that it’s accessible to the application but hidden from view. Code signing is another protective measure in which a digital signature is attached to application binaries so that a source can be authenticated.
Security expert Dan Cornell also recommends creating a diagram of all the systems and databases the mobile app interacts with. This visual portrayal can be useful because it shows developers and testers how data moves through the app and at which points security might be threatened.
How do I account for variable network conditions?
Software teams have to consider network variability early in the development process, according to SearchSoftwareQuality expert Jen Lent. Mobile apps that are proactively designed for speed and simplicity will be less vulnerable to network interference. Furthermore, define how the app should behave when a phone switches from WiFi to 3G, then test it. Walk the device into a dead zone to see how it maintains functionality with a lost or weak connection.
What skills are most valuable in the mobile space?
The best mobile apps not only have an intuitive user experience but also have a high-quality user interface (UI). Such design skills are not necessarily primary in desktop and Web development and are therefore relatively hard to come by. Many development teams grapple with a UI design skills gap, according to tech journalist Crystall Bedell, particularly because devices and operating systems change so quickly that even talented designers have trouble keeping pace.
How do I approach tight release cycles?
Though it may seem counterintuitive, the popular approach is to limit initial testing, release applications in their infancy and then update often, depending on the problems that crop up. When it comes to mobile apps, updates are so frequent that users have come to tolerate and expect them. In fact, many updates run in the background without any user initiation. This makes post-release improvements much easier. SearchSofwareQuality expert Kevin Parker says it’s also useful to automate the parts of the lifecycle that can be automated, freeing up workers to pay attention to the parts of the lifecycle that matter.