Common mobile app testing mistakes to avoid
|Rob Mason in Application Testing Friday, December 7, 2018|
How developers can test their mobile apps, and avoid common mistakes and pitfalls that cause app failure.
Consumers downloaded more than 175 billion mobile apps in 2017. The cost of developing a mobile app can exceed $1 million, with the median cost falling in the range of $100,000 to $500,000. Multiply those numbers together and it’s apparent that a startling amount of resources are spent yearly on mobile app development.
The bad news? Most of those resources are squandered.
A Big Boon or a Big Bust?
Organizations devote so many resources to app development because of the business-boosting, customer-cultivating potential offered by mobile apps. On average, U.S. consumers now spend an estimated five hours per day using mobile devices. More than 85% of that time is spent interfacing with apps.
It’s no surprise that companies want their customers spending part of that time interfacing with their apps. But most are less-than-successful in achieving such a goal. Many fail dismally; most apps are discarded or ignored soon after downloading. Only 5% of mobile apps are still used by consumers 30 days after download. And nearly one in four apps are abandoned after only a single use. The obvious takeaway is that most apps fail to offer consumers a satisfying user experience.
Given the high cost of development, the opportunity cost of an app failure, and the startlingly high failure rate of apps, the risk associated with mobile app development is sky high. Essentially, many companies are dabbling in high-stakes gambling with their app development. And losing big.
A Whole New Breed of Application
While also called apps, those on mobile are a different breed from the applications found on the average consumer’s desktop computer. And the modern mobile app user is a far more tech-savvy, discerning, and demanding consumer. Today’s consumers expect and demand a seamless, high-quality user experience. Satisfying this demand requires that brands offer apps featuring cutting-edge technologies such as geo-fencing and geo-awareness, artificial intelligence, localization, personalization, and voice recognition.
Quality assurance teams are the final gatekeepers invalidating each mobile app meets the high expectations of modern consumers. And yet, as indicated by the statistics noted above, many subpar apps are slipping through the QA gates and into the hands of consumers. Traditional testing processes and procedures simply aren’t working.
Technologies and consumers’ expectations have evolved. Testing strategies must do the same.
A New Testing Paradigm for the Age of the Mobile App
Diversification of testing techniques and approaches is key to implementing a QA strategy capable of supporting the development of successful mobile apps - applications that consistently meet consumer expectations. Following are the top six challenges currently faced in mobile app testing, based on experience from testing thousands of apps and releases for the world’s top brands, along with the best-practice strategies for meeting these challenges.
The technologies utilized by mobile apps have advanced dramatically in recent years, and continue to evolve at a breakneck pace. QA teams can ensure that testing methodologies match the app’s tech by diversifying testing strategy among the following three testing techniques:
- Test Automation: Offers the opportunity to maintain quality while simultaneously increasing speed and reducing tester fatigue. Teams should focus on leveraging automation for the testing tasks most suited for, and adaptable to, automation - regression testing and simple pass/fail exercises, for example. Testing teams will then have more time to devote to the manual testing of high-impact, high-revenue code.
- Crowdtesting: So many technologies; so many different mobile devices; so many unique user experiences and environments. It’s impossible to duplicate them all in a QA lab environment. Crowdtesting provides a means of testing that precisely duplicates real-world users in a myriad of real-world conditions - a necessity for mobile app testing.
- Customer Beta Testing: Does your design align with customer expectations? Only your customers can tell you with certainty if what you’ve created matches their needs and expectations. The preliminary feedback provided through beta testing can be invaluable.
Geo-Awareness and Localization
Most mobile apps are targeted to a global audience. But distributing your own proprietary QA teams across the face of the planet to test in all countries and cultures is an obvious impossibility. To combat this challenge, many teams use crowdsourced communities of testers that can be called upon on demand.
Testing across locations is a must to ensure experiences are understood and appreciated regardless of language or locale. How will different cultures react to your content? How will your content translate across borders and oceans? How will your app handle the diverse array of different connection speeds, internet providers, and mobile carriers that will be encountered in real-world usage? Testing in the real world can provide the answers to all of these questions - and to questions that might not even have been thought of by your development team.
Rapid Release Schedules
Historically, QA teams tend to struggle with rapid release schedules. But with the prevalence of Agile development, it’s essential that your organization understand and manage the risk profile associated with a rapid release.
Risk profiles account for the likelihood of issues and the detriment these issues will have on the user experience. The most severe risk profiles indicate that a release should be manually tested early and often. For less severe risk profiles, automation is a safe choice.
Are your app’s communications personalized to each customer? If not, more than half of your customers are likely to abandon your brand in favor of another. But many organizations struggle to deliver the degree of personalization that consumers currently expect - an expectation that will only increase going forward.
In part, achieving personalization is so tough because of the difficulties involved in testing personalization. The key is to test with real customers that represent your target demographics - a goal achievable through crowd testing. The result - real and potential customers, telling you how they prefer you communicate with them - can help you fine-tune your personalization strategy for best results.
It’s estimated that there are around 45,000 different mobile devices on the market. Must you test your app across so many different devices? Doing so is neither necessary nor possible. But it is essential that you focus on the most popular devices in use among your target demographic. It’s also important to test on outdated device operating systems since many users fail to update their devices immediately upon each new OS release.
Given the variety of platforms and devices involved - even when focusing testing on the most prevalent of them - automated testing does not provide an answer to devise fragmentation. Real people performing real chores with your app on their many different devices is the best approach.
Real-World Use Cases
Any app is likely to be used across two use-case categories: the way you think your customers will use your app, and the unanticipated ways in which they use it. For development teams, anticipating the unanticipated use cases is made more difficult by team members’ day-in, day-out immersion in the application. Hands-on testing with qualified and objective users can bring a fresh perspective that helps to reveal otherwise-unanticipated use cases.
All Mobile Apps Are Crowdtested - One Way or Another
Crowdtesting provides a range of unique benefits that directly address the six most problematic challenges faced in testing mobile apps. That’s why crowd testing has become an increasingly valued tool in mobile app development.
But ultimately, every organization that develops and releases a mobile app will have that application crowd tested. Whether the crowd testing is performed before the release in a controlled process, or after the release as customers begin to use the app, it can make all the difference.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.