Many beginners in the field of testing have a question: “How do you test a mobile app? Where to start, what checks should be done?”. To answer these questions, a universal cheat sheet has been prepared that can be used when testing virtually any application. It is also would be useful for clients of any mobile testing company who want to check if the work was done right.
This checklist includes only general characteristics. Of course, there may be functionality in the application under test for which you need to take a separate approach and create separate scenarios. The same is true for performance, usability, security, and other testing that your app needs.
The checklist for mobile app testing consists of eight sections:
- Functional testing
- Compatibility testing
- Security testing
- Localization and globalization testing
- Usability testing
- Stress testing
- Cross-platform testing
- Performance Testing
Functional Testing
At this point, it’s important for us to make sure that our product meets the right functional specification mentioned in the development documentation.
What do we test?
- Installation/uninstallation/versioning
- The app launching (displaying the Splash Screen)
- Functionality of the application
- Authorization (by phone number/ via social networks/e-mail)
- Registration (by phone number/through social networks/e-mail)
- Onboarding of new users
- Validation of mandatory fields
- Navigation between sections of the application
- Editing data in user’s profile
- Checking payments
- Filter testing
- Bonuses
- Correct error display
- File handling (sending/receiving/viewing)
- Timeout testing.
- Stall testing (no connection to the internet/no connection, e.g. goods, etc.)
- Pop-up testing
- WebView testing
- Scroll/swipe elements.
- PUSH notifications testing.
- Minimize/unimplement the application
- Different connection types (cellular/Wi-Fi)
- Screen orientation (landscape/portrait)
- Dark/Light theme
- Ads in the app
- Sharing content in a social network
- Running the application in the background
- Page pagination
- Privacy policies and other document references
Compatibility Testing
Compatibility testing is used to make sure that your application is compatible with other OS versions, different shells and third-party services, and the device hardware.
What is being tested?
- Correct geo-mapping.
- Transaction information (receipts, etc.)
- Different payment methods (Google Pay, Apple Pay)
- Sensor testing (lighting, device temperature, gyroscope, etc.)
- Testing interruptions (incoming call/SMS/push/alarm clock/don’t disturb mode, etc.)
- External devices connection (memory card/headphones, etc.)
Security Test
This test aims to find weaknesses and gaps in terms of application security.
What’s being tested?
- Permissions testing (access to camera/microphone/gallery/etc.)
- User data (passwords) are not transmitted publicly
- In the fields, with password entry and password confirmation, the data is hidden by asterisks
Localization And Globalization Testing
Testing internationalization/globalization of the application includes testing the application for different locations, date, number and currency formats, as well as replacing actual strings with pseudo strings. Localization testing includes testing the application with localized strings, images, and workflows for a particular region.
What is being checked?
- All elements in the application are translated into the appropriate language.
- The texts are locked inside the application and the user can change the language to the desired one in the application settings
- In the system settings the texts are dependent on the language
- The texts are coming from the server
- Correct display of date formats
- Correct display of time
Usability Testing
What is being checked?
- Correct display on devices with different screen resolutions
- All fonts are correct
- All texts are properly aligned
- All error messages are grammatically correct
- Correct screen titles
- There are placeholders in search strings
- Inactive items are displayed in gray
- Links to documents lead to the appropriate section on the site
- Animation between transitions
- Correct return to the previous screen
- Supports basic touch screen gestures (swipe back, etc.)
- Pixel-perfect
Stress Testing
What is being checked?
- High load of the central processor
- Lack of memory
- Battery load
- Failures
- Low network bandwidth
- A large number of user interactions with the application (this may require simulating real network conditions)
Cross-Platform Testing
What is being tested?
– Workability of the application on different devices from different vendors
Performance Testing
What is being tested?
- Application load time
- Request processing time
- Data caching
- Application resource consumption (e.g. battery consumption)