How to Test a Mobile Application: Practical QA Checklist
Mobile testing combines product behaviour with devices, operating systems, permissions, networks and application lifecycle events. A useful strategy begins with a risk-based device matrix and tests critical workflows under realistic interruptions.
Build a risk-based device matrix
Use production analytics or target-market data to select representative operating-system versions, manufacturers, screen sizes and performance levels. Include the oldest supported configuration and at least one common current device.
A small purposeful matrix produces more useful confidence than a large random collection of devices.
Practical checklist
- Oldest and newest supported OS
- Small and large screens
- Common manufacturers
- Lower-memory or lower-performance device
- Phone and tablet when supported
- Real devices for critical journeys
Test installation and lifecycle
Cover clean installation, first launch, update from the previous supported version, backgrounding, process termination and relaunch. Verify whether user state, sessions and locally stored data are restored or cleared according to policy.
Include low-storage conditions and interrupted updates when the platform and test environment allow safe simulation.
Practical checklist
- Clean install and first launch
- Upgrade with existing data
- Background and foreground
- Process termination
- Restart and device reboot
- Uninstall and reinstall
Exercise permissions and interruptions
Test first request, allow, deny, permanent denial and later changes through operating-system settings. Optional permissions should not block unrelated features.
Interrupt important flows with calls, notifications, app switching, screen lock and orientation changes. Confirm that work is preserved safely and actions are not duplicated.
Practical checklist
- Permission allowed and denied
- Permanent denial and settings recovery
- Incoming call or notification
- App switch and screen lock
- Orientation change
- Sensitive app-switcher preview
Vary network and performance conditions
Test online, offline, slow and changing connectivity. Submit important actions during a connection loss and verify clear feedback, safe retry and duplicate prevention.
Observe startup, scrolling, battery use and memory on representative devices. Performance that is acceptable on a flagship phone may fail on a common lower-end device.
Review usability, accessibility and security
Check touch targets, keyboard overlap, system Back behaviour, large text, dark mode, screen-reader labels and reduced motion. Perform important journeys with one hand and on the smallest supported screen.
Verify secure local storage, logout, deep links, screenshots or app-switcher privacy and protection of API credentials. Mobile security must also be enforced by backend authorisation.
Practical checklist
- Touch targets and one-handed use
- Large text and screen reader
- Dark mode and contrast
- Deep-link authorisation
- Secure local state and logout
- No secrets in logs or application package
Key takeaways
- Choose devices using actual audience and risk.
- Test install, update and application lifecycle.
- Cover every meaningful permission state.
- Use realistic network changes and interruptions.
- Combine functional, usability, accessibility and security review.
Put it into practice
Generate mobile test cases
See examples
View mobile app test cases
Related practical guides
How to write test cases
Learn how to write clear, reviewable test cases with useful preconditions, numbered steps, test data and expected results.
Regression testing guide
Learn how to select, prioritise, maintain and automate a practical regression test suite without testing everything every time.
How to write a bug report
Write clear, reproducible bug reports with strong titles, environments, numbered steps, evidence, expected results and severity.