Ensure your app is ready every time you release with this mobile app testing checklist and learn ten essential tests to perform before release.
The mobile application space is competitive and crowded. If you want to succeed, you need to be sure that your application works well at launch and after each new release. And you need to stay ahead of the competition with new features and support for new operating systems and platforms. No matter how skilled and careful your developers are, bugs are inevitable. How do you continue to improve your app without introducing new bugs?
Complete and effective testing is your primary line of defense against a buggy new release. You need to test every new feature while checking for regressions at the same time. So when you send an update to your users, you know your app still performs as expected.
You need a mobile app testing checklist to ensure your app is ready every time you release. These ten mobile app tests should be performed every time you prepare a new release.
Mobile apps need to work on thousands of different phone models. There are two major operating systems with their own application stores and several active versions at any given time. And, the mobile phone market is truly global, with a wide variety of languages and localizations. How can you get started with testing and make it a part of every release?
One way to make sure your latest version is ready for users is with a checklist that you can refer to at the start and end of every test cycle.
Push notifications are critical. Your users rely on notifications for alerts and reminders, and you need them to keep your users engaged. So, they should be the first thing you test.
Be sure to test that your notifications:
Learn more about testing notifications.
Your tests aren't complete until you’ve verified your app on devices that represent your user community. This means you've run tests on several actual devices instead of simulators, and that you made sure it looks and acts correctly on all of them.
This is a heavy lift. You need to test on devices that represent your user community, and you need the time to execute the tests.
First, use your application analytics to identify the devices that the majority of your users own. If you don’t have that, use the most common device data you can find.
Then, use automated testing to get your tests done in a reasonable amount of time. Automation reduces errors and saves time. Automated testing with real devices is a game changer for verifying new features and checking for regressions.
When you set up your test, you need to check for:
Users notice when a new release introduces performance problems. But, application performance is a complex subject that involves a few overlapping factors. Testing it isn’t easy.
First, if the new release involves server or API changes, they need to be tested for performance separately.
On the device, run these tests:
High memory usage can have a serious impact on performance, and it deserves its own checklist entry. It can lead to crashes or simply make the application unusable on older hardware that has less RAM.
This is another issue that can crop up after a seemingly innocuous code change. It can happen because of a memory leak or an unexpected usage pattern.
The best way to test memory consumption is by simulating an end-user. Exercise the application in a variety of ways for extended periods of time, while recording memory usage. It should remain predictable, depending on what the application is doing.
How can you do this? Here again, testing on an assortment of different hardware profiles is your best approach.
Security is a primary concern for developers and users alike. It needs to be a big part of your application testing plans.
The obvious first step is ensuring that your application is secure.
Verify that it:
These are mostly design issues, but that doesn't mean that new features can't slip in and break these rules. You need to do a complete security check for every release.
For more details on security, the Open Web Application Security Project (OWASP) has a mobile security testing guide here. Use it as a starting point for your security testing.
And there's more to security testing: each new mobile operating system release brings its own set of new security features. You need to stay up-to-date on new OS versions and update your tests.
Mobile devices are subject to different network situations. They have to switch between Wi-Fi and different levels of cellular connectivity. They're often switched in and out of airplane mode to save battery.
Your applications need to handle these changes, even if it's to display an error message until the user has network access. If it freezes because it can't reach a network service like your API server, it can lead to a frozen phone and a very confused and unhappy user.
These situations are simple to test. At a minimum, you can toggle Wi-Fi, cellular data, and airplane mode on and off while running the application. If you want to set up more sophisticated scenarios, you can disable network connectivity by disabling the network or placing the phone in a Faraday cage.
Customizations based on location and language are important to the user experience, especially if you're trying to reach a global market. Whether it's as simple as adjusting search results based on GPS location or supporting languages other than English, these features are important and you must test them.
Verifying these customizations needs to be a part of your automated tests. Your automated test system should support localized testing and geolocation, so running all your tests in supported languages and with a variety of different locations should be easy.
Your users expect a customized experience. They want to go beyond localizations and set preferences like dark vs. light mode and custom swiping gestures. Add setting, saving, and restoring these preferences to your test suite to be sure that they're not broken as a part of a new release.
Power utilization, like application performance, can ruin a user experience. Mobile users have wrestled with short battery life for years and an application that uses too much battery too rapidly is quickly removed and replaced with a competitor. This is a bug that can easily happen because of a coding error with network access or even just a missed loop variable, so verifying that your app isn't suddenly using extra power must be part of every regression test.
This testing should be another part of your automated suite. As you put your application through its paces, watch the battery level and ensure that it doesn't drop more quickly than it did in the last version.
It's important that your application and content are accessible to all users. Besides being good business, it's also a legal responsibility. Businesses that don't make their content available to people with disabilities open themselves up to legal liability.
W3C has published guidelines for making online and mobile content usable for everyone. These standards can serve as your baseline for testing.
We've covered a mobile application testing checklist composed of ten key test types and scenarios. You need to test every release extensively, and manual testing or simulators aren't up to the task. Use this checklist as the foundation for your testing efforts before you send a release to the app store.
With Mobot, you can perform your tests with mechanical robots on real devices and run your tests as a real user would. It's the best way to be sure that you don't miss a thing and cover your mobile app testing checklist.
Get in touch with Mobot today to see how you can test better, faster, and smarter.
This post was written by Eric Goebelbecker. Eric has worked in the financial markets in New York City for 25 years, developing infrastructure for market data and financial information exchange (FIX) protocol networks. He loves to talk about what makes teams effective (or not so effective!).