Mobile applications may be downloaded for the first time and used only once or twice. Unless the value of an application is compelling, users may not be coming back to use it. They will ignore the app or even delete it after some time. Here are nine types of tests that should be included in your mobile test strategy to ensure your
1. Conceptual testing
Mobile apps and the features planned for them need to be socialized before development starts with at least an informal focus group consisting of typical users in the demographics to which they are targeted. Mobile apps are used in ways different from how users approach a client application or a Web-based application. Interactions need to be quick, short and appropriate for smaller form factor screens. Users also expect seamless integration with social networks and online resources. Sounding typical users out before any development is done can eliminate unnecessary features and ensure the right ones are in, before too much development effort is expended.
2. Unit testing, system testing
If the mobile app has a variety of components or logs into a back-end server, downloads or uploads data between the app and a server, regular unit testing and system testing may all need to be in place and executed extensively. If the app does not work well with the server, the overall experiences are bound to suffer.
3. Mobile user experience testing
Once a mobile app is ready with all features, it may be worthwhile to do a round of mobile user experience testing. This is giving the users the app on their mobile device before any formal release. They use the application in its entirety and report on what the experience was like, overall. This will enable developers to remove impediments to a smooth, continuous and pleasant overall user experience. When a user completes a task or an entire use case, then you can validate whether features you have implemented all fit together nicely. If not, adjustments can be made.
4. Stability testing
The second or third time any app crashes, mobile users may delete the app rather than continue to use it. Stability of the app is paramount in mobile apps. As you add more components to the app and have it interact with backend server software, the chances of software crashes increase. Testing for memory leaks is crucial in ensuring that crashes don’t happen. Network stability issues may also play a part in apps crashing the system. This needs to be tested as well.
5. Connectivity testing
Increasingly, most mobile apps have a third-party social login component integrated with the app. Or there may be components of the app that have links to bring up a Web page on a browser interface. All these links need to be tested for availability and currency. Dead links, network connectivity problems and slow server responses may diminish the overall user experience. To the end user it just looks like the app is slow or broken.
6. Performance testing
Performance testing of apps, especially when the app talks to backend servers, becomes a very crucial part of mobile apps testing. Mobile users may not care whether the delays in the app are due to front-end client issues, or backend server issues. To them, the whole app may seem slow and sluggish, if performance testing is not done adequately and problems fixed.
7. Device compatibility testing
Smart phones and tablet computers may run different version levels of the same operating system with widely different capabilities. Testing an app on at least the last three or four successive generations of these devices is imperative, especially with the speed with which new models with new versions of operating systems are released. Device compatibility testing will bring to the fore these kinds of issues, and help them be addressed before apps are released.
8. Security testing
Security is increasingly becoming an issue with smart phones and tablet computers also. Viruses can find their way into security holes in apps, just as easily as they do on laptops and desktop computers. Security and vulnerability testing is important in these apps. Security-oriented code reviews can unearth holes that may have otherwise been overlooked.
9. Certification testing
App stores have policies that each app must follow before they are approved for listing on their stores. Knowing these ahead of time, and testing the app for compliance for each and every one of these rules will save a lot of time down the road when the submission is made. Typically there is a lead time for approval with each attempt at submission and approval. The last thing you want is for the app to violate a policy because we have not tested it thoroughly for compliance. The app may have to go through their entire testing and approval cycle all over again, delaying deployment of the app, or the sale of the app affecting revenues.
Mobile apps need to be tested and their quality assured in ways that are different from other applications. The overall user experience is paramount. Apart from the routine mechanics of testing and quality assurance, whatgets tested at various stages of the app’s development has a significant bearing on whether the app is effective for the user. Paying attention to the user experience from the start of the project to the final stages of testing and quality assurance will be the key differentiator in making the app highly effective.
About the author: Nari Kannan is currently the Chief Executive Officer of appsparq Inc., a Louisville, Kentucky-based mobile applications consulting company. Nari has over 20 years of experience in information technology and started out as a senior software engineer at Digital Equipment Corp. He has since served variously as vice president of engineering or CTO of six Silicon Valley startup companies, working in the areas of business process improvement, IT consulting, automotive claims processing, human resources and logistics applications. He can be reached at firstname.lastname@example.org.
This was first published in September 2011