“We need a mobile application NOW.”
Does this sound familiar? Companies around the globe are driving application development teams to develop mobile apps faster than ever before. And we’re not talking about just any old mobile applications. Customers expect and demand usable, useful and engaging mobile experiences. They have a voice, and competition makes their opinions even more important.
To make things more complicated, it’s no secret that mobile apps live and die by their ratings in an app store, as Jeffrey Hammond wrote recently in SD Times. When quality is low, the rating suffers. And when the rating suffers, the download rate suffers. With more than 500,000 mobile apps in the Apple App Store and more than 450,000 in the Google Play store, mobile developers can no longer afford to skimp on quality.
For Forrester’s Mobile App Development Playbook, we asked mobile development vendor and user firms to share their processes, tools and best practices when it comes to successful mobile applications. The (not-so-secret) secret? Good-quality applications make happy customers, and happy customers differentiate you from the competition.
So how can developers ensure the quality of their mobile applications and optimize testing strategy? In the Playbook, we recommend the following best practices:
Prioritize testing in the real world. Brands live and die by how their customers view their apps. What better way to appease them than to get them involved in the development process? Whether this involves location-based testing, crowdsourcing or traditional feedback, the customer is the one who will use the app, so the customer should have a say in the features and functionality. Customer involvement can include:
1) Feedback: In an ideal world, companies would know what their customers want, when they want it, and how they want it packaged. So for mobile app developers, make each day a potential election: Customers who vote on which functions to include or features to drop can provide fantastic input. But it’s more than just building the right features: Customers now feel that they own a piece of the app. And in an increasingly fickle world, customer loyalty is keenly important. By allowing customers to test the features in which they are interested, mobile app development teams can make loyalty a natural part of the development process.
2) Location testing: Apps that have location-based components should be tested in different locations. This is especially important if you are building a navigation app that guides users to the nearest store or clinic, as mistakes in these apps can be costly and result in people getting lost.
3) Crowdsourcing: It’s time for developers to take testing to the crowd, allowing groups to test the app and report back on their experience. Crowdsourcing is also a great way to gather data on how your app performs in “real-world” 2G, 3G, even 4G environments.
Embrace agile practices and build not only for today, but for tomorrow. Technology is always in a state of flux, but in the mobile space, the rate of change is even greater. The key to adapting to the world of mobile testing is agile. Built to support the unknown, agile development methodologies allows teams to incrementally build software while simultaneously learning from experience and meeting market demands. Why reinvent the wheel each time you build an application? Consider where the state of mobile will be in six months: New devices will be released. Thus, design mobile software with change in mind.
Mix virtual and physical testing. Neither purely virtual nor purely physical testing works. Physical testing is time-consuming and requires numerous devices and plans, while virtual testing never gives a complete picture of the truth. By combining testing approaches, application development professionals can identify the majority of bugs, and then use physical testing to focus on user and preproduction concerns.
Adopt automation practices. Manual testing only works when organizations start small, supporting a limited number of devices and platforms. However, as soon as their target audience expands, device support must expand as well. In order to reduce the time and cost associated with traditional testing, developers must start adopting automation practices. In fact, one executive responsible for mobile testing told us, “We have always found automation difficult for our Web apps and have never had the incentive to introduce automation. But with mobile, we don’t have that option.” Automation is required from day one in order to fulfill the “release early and often” mantra.
Margo Visitacion is a vice president at Forrester Research.