How to Test an App: Mobile App Testing Checklist
Mobile app testing is notoriously complex. With so many device and OS variations, with different functionalities across them all, you have a lot to cover when testing mobile applications.
Keep reading to learn how to test an app with a comprehensive mobile app testing checklist to ensure your apps are thoroughly tested and defect free.
Mobile App Testing Checklist
Here’s a mobile app testing checklist for defect-free apps:
- Strategic automation.
- Framework selection.
- Platform considerations.
- Functional testing.
- Performance testing.
- Accessibility testing.
- UX testing.
- Compatibility testing.
- Security testing.
Keep reading below to learn more.
First thing on your mobile app testing checklist is determining whether the tests will be manual, automated, or both. High rates of automation are the goal of continuous testing. But not all of your test cases will be automated. So, which types of test cases should you automate?
Manual Testing or Automated Testing?
When it comes to manual vs. automation testing, prioritize automating the tests that will give you the most ROI. Tests should be automated if…
- The task is repetitive.
- The requirements are unlikely to change often.
- The test is time consuming.
- The test is subject to human error.
- The test has downtime between steps.
Unit tests, integration tests, and functional tests are the ones that should be automated first. Tests should be conducted manually if they are not run often or are subject to change.
Test Automation Frameworks
Once you decide which tests to automate, you’ll also need to decide which test automation framework you’ll use.
Espresso is an automation framework for Android apps. Espresso testing focuses on Android-specific UI and the framework is very developer friendly. Because the framework is embedded into the Android IDE, it’s easy to get started with.
XCUITest is a mobile test automation framework for iOS. Being iOS-specific, XCUITest is entirely developed and maintained by Apple. The framework is embedded into the XCode IDE which also makes scripting fast.
Quantum is a BDD testing framework. It can be used for both mobile and web testing. You don’t need to know code to write test scripts with Quantum. You can create automated tests in plain language.
You also need to decide which platforms you will execute your tests against. Will you use real mobile devices, or virtual ones? We encourage using a mix of both as a best practice.
Simulators & Emulators
Virtual platforms test faster than real devices and they also help you shift testing left. But simulators and emulators should be saved for testing in the early stages of development.
Nothing can replace real device testing. Real devices simply catch more bugs than virtual platforms. When you test early on with virtual devices, use real devices later on in the test cycle for end-to-end UI tests.
Related Reading: Mobile App Testing Strategy Combining Virtual and Real Devices
Functional testing is the basic testing activity that ensures that all the features of your app work as they should. It is fundamental to assess that your app functions as expected across devices, OSes, and other variations.
You need to test...
- Sending and receiving messages with the app running.
- Responding to push notifications with the app running.
- Making and receiving calls with the app running.
- Resuming the app after an interruption.
- Rejecting calls with the app running.
- Entering and exiting the app.
- Memory used by the app.
- Your app’s effect on the device’s battery.
- Biometrics, like fingerprint and face ID.
- Functions like camera, screen resolution, and geolocation.
Performance testing ensures that your app performs as it should in different circumstances. It also makes sure these functions work under different types of conditions.
Performance testing includes testing...
- Your app under typical levels of traffic.
- Your app with stress/load levels of traffic.
- Your app with real user conditions.
- The CPU utilization of your app.
- The timeto install and uninstall the app.
- The time to launch the app.
- App performance during low battery.
- App performance under varying network conditions. These include:
- Ideal network conditions.
- Poor connectivity.
- Changing network while moving.
- Dead zones.
- Switching between 2G, 3G, 4G, and 5G.
Don’t forget accessibility testing of your mobile apps. Not only does it make your app accessible to all users — it’s also the law. Violating accessibility regulations could result in big fines.
In your automated accessibility testing, be sure to test...
- Text color contrast.
- Screen magnification.
- Dynamic font size.
- Color ratios between text and background.
- Screen reader compatibility.
- Readability of the application.
- Speech recognition capability.
- UI hierarchy for consistent structure.
- Labels used by assistive technologies, like VoiceOver or TalkBack.
- Hit area size for designated user interaction.
Usability testing, or UX testing, measures how user friendly and intuitive your app is. Usability testing can reveal problems in the mobile UX design which impact the end user experience.
Usability testing should include…
- Testing the app when changing the screen orientation.
- Testing the navigation of the app.
- Testing the mobile menu of the app.
- Testing visual feedback for user interactions.
Compatibility testing ensures that your mobile app works across different devices, OSes, and generations. Given the fragmented nature of the mobile landscape, prioritize testing against the most popular mobile devices and OSes in your region. You can find that data in our Test Coverage Index.
Be sure to test...
- Screen size.
- Screen resolution.
- Device-specific features.
- OS-specific features.
- Changes in the UI.
Users want to know that their digital experiences are secure, and that’s where security testing comes in. Security testing ensures that sensitive information and data remains safe.
In your security testing, test for…
- Two-factor authentication.
- Fingerprint and face ID.
- Proper storage of app data and private information.
- Proper encryption of information stored locally on the device.
Try Mobile App Testing With Perfecto
Now that you know how to test an app, give it a try with Perfecto. It’s the world’s only end-to-end continuous testing platform for web and mobile apps. And it allows you to do your automated mobile testing at scale in the cloud.
Start your free trial. In it, you can:
- Scale testing across platforms.
- Test on real mobile devices.
- Automated advanced testing scenarios.
- Test securely from anywhere in the world.
- Find and fix bugs with advanced reporting.
- Fully integrate into your CI/CD toolchain.
- And more.
Give it a try for free today.
- The Complete Guide to Appium Basics
- Mobile Testing 101: Strategy, Types, Tools
- Mobile Testing With Appium: 3 Advanced Automation Techniques