Many products today rely on software and apps to operate successfully. In addition, many companies are recognizing that consumers expect smartphone and tablet integration with their products and are looking to launch apps showcasing their products, services, and offerings. As more companies enter the fray of mobile app development, for any number of reasons, standing out is of utmost importance, but standing out for the right reasons is even more critical.
Quality is always a surefire means for an app to get attention in the mobiel space. A high-quality app that is perceived to offer value to customers will be a success and pave the way for future apps and products, building a steady reputation for a company. But an app that underperforms or fails is sure to damage a brand.
Consider, for example, an app designed to operate home security systems. If it doesn’t arm or disarm the system correctly, or if the video stream has glitches, the consumer will view it in a bad light, and the entire product——from app to alarms to monitoring systems—takes a hit. This could lead to bad reviews highlighting the glitches, warning consumers to stay away from the product, and ultimately damaging the brand’s reputation.
A 2012 Apigee survey of mobile app users showed that app performance is a primary concern for most consumers, with 98 percent of respondents stating that it matters. Moreover, 99 percent of respondents indicated that if an app didn’t perform as expected or advertised, they would take action by deleting the app, telling others how bad it is, and/or complaining on social media.
From the consumers’ point of view, the requirement is simple: They want a positive experience with a product and an app that fits their needs. Users expect simplicity, functionality, practicality, and convenience. Manufacturers and developers can fill this need by making app quality a top priority.
App quality starts at the beginning of the project—identifying what consumers and the company need—and continues throughout the design and development process. There are several steps developers can take before and during the development phase to help ensure quality.
• Create a target device map. Which devices will support your app, and which versions of those devices? Will the app be for Android or iPhone alone? Should you also target tablets and notebooks? Develop a priority matrix before development begins to ensure quality considerations for all platforms.
• Initiate a build release schedule. This should be based on the functional spec as well as your development team’s size, while providing key targets throughout the design and development process:
• Develop a test plan. Begin with developing the functional spec and derive your initial test plan from that spec. Sharpen the plan over the course of the app’s development and plan on continuous maintenance of your test schemes. Parts of your test environment may require automated testing, while others will require manual testing. At this point, it’s also important to decide the makeup and process for your QA team, including whether to perform testing internally or trust a third party to conduct tests.
• Build in unit test planning and testing. As features are being built, unit tests should be developed, documented, and introduced as part of the app development process. Building unit testing into your build environment is an effective way to employ quick automated tests.
• Identify what can be automated and what requires manual testing. Automated testing can save time and resources, but thought should be given to what should be automated and what should be tested manually. Adjust timeframes accordingly for any splits between automated and manual testing procedures. Both manual and automated test cases may require significant overhaul as your application changes functionality over time.
• Define a load test for the application. If you integrate server or cloud components into your application architecture, define your likely load scenarios based on your sales plans. Ensure that servers are capable of handling the load but also make sure to test your servers to evaluate maximum capacities so that you can respond proactively to unforeseen successes. Identify any areas that need to be more robust.
• Build in beta/UAT testing. Beta or user acceptance tests are powerful tests used to verify features and/or that they are acceptable and valuable to the end users. Make sure to allow enough time for feedback from your beta tests to be useful to the development team. Try to keep your beta testing demographics as close as possible to your expected end customer demographics.
• Identify and set up test environments. Now is the time to prepare the testing environments. Test logins, databases, credit cards, accounts for internal and external testing to provide to third-party QA teams. All of these things are necessary prior to testing and are typically forgotten until the last minute.
Once an app is released, a continued focus on quality is essential for maintaining user satisfaction. Testing should also continue to ensure that each build is solid and that the app is continuing to add value for your users. Some valuable tests to consider include: