This checklist includes only general characteristics. Naturally, the application under test may have functionality for which you need to take a separate approach and create separate scripts. The same is true for performance, usability, security, and any other testing your application needs.
The mobile app testing checklist 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 is important for us to ensure that our product meets the required functional specification mentioned in the development documentation.
What are we checking?
1. Installing / uninstalling / rolling versions
2. Launching the application (displaying Splash Screen)
3. The operability of the main functionality of the application
3.1 Authorization (by phone number / via social networks / e-mail)
3.2 Registration (by phone number / via social networks / e-mail)
3.3 Onboarding new users
3.4 Validation of required fields
3.5 Navigation between application sections
3.6 Editing data in the user profile
3.7 Checking payment
3.8 Testing filters
3.9 Bonuses
4. Correct display of errors
5. Working with files (sending / receiving / viewing)
6. Testing timeouts
7. Testing stubs (not connecting to the Internet / no, for example, goods, etc.)
8. Testing pop-
ups , alerts 9. Testing WebView
10. Scroll / swipe elements
11. Testing PUSH notifications
12. Minimizing / expanding the application
13. Different types of connections (cellular / Wi-Fi)
14. Screen orientation (landscape / portrait)
15. Dark / light themes
16. Advertising in the application
17. Sharing content in the social. networks
18. Application work in the background
19. Pages pagination
20. Privacy policies and other links to documents
Compatibility testing
Compatibility testing is used to ensure that your application is compatible with other OS versions, different shells and third-party services, and device hardware.
What are we checking?
1. Correct display of geo
2. Information about transactions (checks, etc.)
3. Various payment methods (Google Pay, Apple Pay)
4. Testing sensors (illumination, device temperature, gyroscope, etc.)
5. Testing interruptions (incoming call / SMS / push / alarm clock / Do not disturb mode, etc.)
6. Connection of external devices (memory card / headphones, etc.)
Security testing
This check is aimed at finding flaws and gaps in terms of application security.
What are we checking?
1. Testing permissions (access to the camera / microphone / gallery / etc.)
2. User data (passwords) are not transmitted in clear text
3. In the fields with a password and password confirmation, the data is hidden by asterisks
Localization and Globalization Testing
Testing the internationalization / globalization of an application involves testing the application for various locations, date formats, numbers and currencies, and replacing actual strings with pseudo-strings. Localization testing involves testing an application with localized strings, images, and workflows for a specific region.
What are we checking?
1. All elements in the application are translated into the appropriate language
2. The texts are protected inside the application and the user can set the required language in the application settings
3. The texts depend on the language in the system settings
4. The texts come from the server
5. Correct display of date formats (YEAR - MONTH - DAY or DAY - MONTH - YEAR.)
6. Correct time display depending on the time zone
Usability testing
Usability testing helps to ensure that the product is simple and effective for the user to use in order to achieve their goals. In other words, this is nothing more than testing the user friendliness of the application.
What are we checking?
1. Correct display of elements on devices with different screen resolutions
2. All fonts meet the requirements
3. All texts are correctly aligned
4. All error messages are correct, without spelling and grammatical errors
5. Correct screen titles
6. Placeholders are present in search lines
7. Inactive elements are displayed in gray
8. Links to documents lead to the corresponding section on the site
9. Animation between transitions
10. Correct return to the previous screen
11. Supports basic gestures when working with touch screens (swipe back, etc.)
12. Pixel-perfect
Stress testing
Stress testing is aimed at determining the effectiveness of an application's performance under high load conditions. The stress test in this context is focused on mobile devices only.
What are we checking?
1. High CPU load
2. Insufficient memory
3. Battery load
4. Failures
5. Low network bandwidth
6. A lot of user interactions with the application (this may require simulating real network conditions)
Cross platform testing
An important type of testing that needs to be done to understand whether the product being tested will display properly on the various platforms used by the target audience.
What are we checking?
- The performance of the application on various devices from different manufacturers
Performance testing
If a user installs an app and it doesn't appear quickly enough (for example, within three seconds), it might be removed in favor of another app. Time and resource consumption aspects are important success factors for an application, and performance testing is conducted to measure these aspects.
What are we checking?
1. Application load time
2. Request processing
3. Data caching
4. Application resource consumption (for example, battery consumption)
Summary
We got acquainted with the universal cheat sheet for testing mobile applications. Don't forget to read the documentation and supplement the checklist with checks specific to your application.