15 Mobile App Testing Checklists To Follow

- Test critical journeys on physical devices as well as simulators or emulators.
- Build the device matrix from target-market or production analytics rather than personal device preferences.
- Validate weak, slow, interrupted, and changing network conditions.
- Test installation, upgrade, backgrounding, termination, and recovery, not only normal app usage.
- Verify permissions, local storage, authentication, encryption, and account deletion.
- Test with VoiceOver and TalkBack instead of depending entirely on automated accessibility scanners.
- Measure startup time, responsiveness, memory, CPU, battery, and network consumption.
- Recheck App Store and Google Play requirements before every submission because platform policies change.
A mobile application does not run in one predictable environment. It operates across different devices, operating-system versions, screen sizes, network conditions, battery levels, permissions, languages, and accessibility settings. Users also switch apps, answer calls, rotate screens, lose connectivity, and interrupt transactions in ways that a controlled test environment may not anticipate.
This makes mobile testing more than a functional check of buttons and screens. A reliable release must preserve data, recover from interruptions, use device resources responsibly, protect sensitive information, and comply with the requirements of its distribution platform.
The following mobile app testing checklists cover 15 areas that should be considered before launching a new application or approving a significant update. The exact depth of each checklist should be adapted to the product’s risk, target audience, supported devices, and business model.
Before Using the Mobile App Testing Checklist
A checklist is useful only when the test environment represents the users the application is intended to serve.
Before execution, define a device matrix that includes the most important operating systems, device models, screen sizes, memory levels, manufacturers, languages, and network conditions. Production analytics should guide this decision for an existing app. For a new product, use target-market device data and the minimum versions declared by the application.
Emulators and simulators provide fast, repeatable coverage during development. Physical devices remain necessary for validating cameras, sensors, biometrics, battery behaviour, mobile networks, interruptions, gestures, notifications, and manufacturer-specific differences.
Testing every device is unrealistic. Prioritise devices according to user share, business importance, technical risk, and historical defect data.
Mobile App Testing Areas Compared
| Testing area | Main risk addressed | Recommended frequency |
| Core functionality | Broken business workflows | Every build |
| UI and gestures | Incorrect or unusable interaction | Every significant UI change |
| Usability | User confusion and abandonment | New and redesigned workflows |
| Device and OS compatibility | Device-specific failures | Every release |
| Installation and updates | Failed adoption or data loss | Every release |
| Lifecycle and interruptions | Lost state and crashes | Every release |
| Network and offline behaviour | Failure under unstable connectivity | Every release |
| Performance | Slow or unresponsive experience | Every major release |
| Resource consumption | Battery drain and background misuse | Every major release |
| Security and privacy | Data exposure and unauthorised access | Continuously |
| Data integrity | Corruption, loss, and sync conflicts | Every data-related change |
| Accessibility | Exclusion of users with disabilities | Every UI change |
| Localization | Incorrect regional experience | Every supported locale |
| Notifications and external flows | Broken return journeys and routing | Every relevant change |
| Store and release readiness | Rejection and failed production launch | Every submission |
1. Core Functionality Testing Checklist
Functional testing verifies that the app’s features behave according to business rules and user expectations. Begin with complete user journeys rather than testing screens independently. A registration screen may work correctly in isolation while the full registration, verification, login, and recovery journey still fails.
Test successful paths, invalid inputs, boundaries, duplicate actions, retries, and failures from dependent services. Financial, identity, healthcare, and data-changing operations require particular attention because an apparently small defect can have lasting consequences.
Check the Following
- Verify that every essential user journey can be completed from beginning to end.
- Test buttons, links, forms, search, filters, navigation, and data submission.
- Validate required fields, input limits, boundary values, and special characters.
- Confirm that business rules, calculations, permissions, and status changes are correct.
- Test error messages and recovery options for failed operations.
- Verify third-party integrations such as payments, identity providers, maps, and analytics.
- Test repeated taps and submissions to prevent duplicate orders, payments, or records.
- Confirm that partially completed operations do not leave inconsistent data.
Prioritise workflows according to business impact. An e-commerce app, for example, should place greater emphasis on login, cart, checkout, payment, refunds, and order tracking than on a secondary informational screen.
2. User Interface, Layout, and Gesture Checklist
Mobile interfaces must remain clear and operable across different screens, orientations, system settings, and input methods. Layout testing should look beyond whether elements are visible. Controls must remain tappable, text must not overlap, and important content should not be hidden by the keyboard, camera cut-out, status area, or system navigation.
Gestures also require deliberate testing because applications can conflict with operating-system navigation or behave inconsistently at the edge of the screen.
Check the Following
- Verify alignment, spacing, typography, icons, colours, and component consistency.
- Test supported portrait and landscape orientations.
- Check layouts on small phones, large phones, tablets, and foldable devices where supported.
- Verify the interface with system font scaling and display scaling enabled.
- Confirm that keyboards do not cover active fields, buttons, or error messages.
- Test tap, long press, swipe, drag, pinch, and multi-touch interactions where applicable.
- Check that custom gestures do not conflict with system back or navigation gestures.
- Verify loading, empty, error, disabled, and success states.
- Test light mode, dark mode, and high-contrast settings where supported.
Do not assess only static screenshots. Test layouts while content changes, text expands, the keyboard appears, the device rotates, and asynchronous data is loaded.
3. Usability and Navigation Checklist
Functional testing asks whether a user can complete a task. Usability testing asks how easily they can do it and whether the interface behaves as they expect.
A workflow can be technically correct and still create abandonment because its terminology is unclear, its navigation is unpredictable, or it requires too many steps. Usability testing is most valuable when it includes representative users who have not learned the product through its development.
Check the Following
- Confirm that first-time users can understand the app’s purpose and next action.
- Verify that important tasks can be completed without unnecessary steps.
- Check whether labels, instructions, icons, and error messages are understandable.
- Confirm that Back, Close, Cancel, Save, and Submit behave consistently.
- Test whether users can recover from errors without restarting the workflow.
- Verify that destructive actions include suitable warnings or confirmation.
- Check whether progress is preserved when users leave and return to a longer task.
- Observe users completing key journeys without guiding them.
Measure task completion, time, errors, hesitation, abandonment, and requests for help. These signals reveal usability problems that “Do you like the design?” will not uncover.
4. Device, OS, and Compatibility Testing Checklist
Mobile compatibility risk comes from differences in operating systems, device manufacturers, processors, available memory, screen characteristics, and vendor customisations.
The goal is not to test every available model. Build a representative matrix and give deeper coverage to the combinations used by the largest or most valuable user groups. Include older supported devices because they may expose memory and performance problems hidden by newer hardware.
Check the Following
- Test the minimum, most widely used, and latest supported OS versions.
- Cover representative low-, mid-, and high-range devices.
- Verify different screen sizes, resolutions, pixel densities, and aspect ratios.
- Test phones, tablets, and foldables where the app declares support.
- Include relevant Android manufacturer interfaces and device customisations.
- Verify behaviour after an operating-system update.
- Test hardware-dependent functions on devices with and without the required hardware.
- Confirm that unsupported devices or versions receive an appropriate message or cannot install the app.
- Validate hybrid or embedded web content across supported rendering engines.
Google’s Android quality guidance includes requirements and recommendations across visual experience, functionality, performance, stability, privacy, and security. It should be reviewed alongside an organisation’s internal compatibility criteria. Android Developers
5. Installation, Update, and Uninstallation Checklist
Installation is the user’s first operational interaction with the product. Test clean installation, upgrade paths, failed upgrades, and reinstallation rather than assuming the store handles every condition safely.
Updates deserve particular attention because users may move to the latest build from several older versions. A migration that works from the immediately previous release may fail for someone who has not updated the app in six months.
Check the Following
- Verify clean installation from the intended distribution channel.
- Test installation with limited storage and an interrupted connection.
- Confirm the app launches correctly after installation.
- Verify upgrades from supported older versions, not only the latest version.
- Confirm that user sessions, preferences, downloads, and required local data survive an update.
- Test database and configuration migrations during upgrades.
- Verify behaviour when an update is interrupted or the device restarts.
- Confirm that reinstalling the app produces the expected account and data state.
- Verify that uninstallation removes data according to platform and privacy expectations.
For applications distributed through enterprise systems, also test managed installation, configuration policies, restricted devices, and version enforcement.
6. App Lifecycle and Interruption Testing Checklist
Mobile users continuously interrupt applications. They receive calls, open notifications, switch apps, lock the device, rotate the screen, and return much later. The operating system may also suspend or terminate an app in the background.
Sleep Easy Before Launch
We'll stress-test your app so users don't have to.
The application should preserve appropriate state without retaining sensitive information insecurely. It must also avoid repeating transactions when an interrupted operation resumes.
Check the Following
- Background and restore the app at different stages of important workflows.
- Lock and unlock the device while the app is active.
- Test incoming calls, alarms, messages, and system notifications.
- Force-close and reopen the app during data entry or transactions.
- Allow the operating system to terminate the background process and then relaunch it.
- Rotate or resize the interface during an active task where supported.
- Verify session timeout and reauthentication behaviour.
- Confirm that media, camera, location, and sensor usage pauses and resumes correctly.
- Check that interrupted payments or submissions do not create duplicates.
- Verify that drafts and progress are restored only where appropriate.
Test interruptions before, during, and after a transaction. Interrupting a screen before submission may require different recovery behaviour from interrupting it after a server has accepted the request but before the response reaches the device.
7. Network, Offline, and Synchronisation Checklist
Mobile networks can become slow, disappear completely, switch between Wi-Fi and cellular, or return responses out of order. Testing only on stable office Wi-Fi leaves a major part of the user experience unvalidated.
Network testing should determine how the app communicates a delay, preserves work, retries requests, and reconciles local and server data.
Check the Following
- Test under fast, slow, high-latency, unstable, and disconnected networks.
- Switch between Wi-Fi and cellular data during an active workflow.
- Enable and disable airplane mode while the app is running.
- Verify offline access to features designed to work without connectivity.
- Confirm that offline actions synchronise correctly after reconnection.
- Test duplicate, delayed, failed, and out-of-order responses.
- Verify appropriate retry, timeout, cancellation, and error behaviour.
- Confirm that repeated retries do not duplicate transactions.
- Test sync conflicts when the same data changes on multiple devices.
- Verify that users can distinguish cached information from current server data.
An app should not display a permanent loading indicator when a request has failed. It should communicate what happened, preserve the user’s work where possible, and provide a meaningful recovery path.
8. Performance and Responsiveness Checklist
Mobile performance includes startup time, screen rendering, input responsiveness, network latency, memory behaviour, and stability over longer sessions.
Measure performance under realistic conditions. A fast launch on a recent flagship phone does not prove that the app performs acceptably on an older supported device with limited memory and background activity.
Check the Following
- Measure cold, warm, and resumed startup times.
- Check response time for taps, scrolling, navigation, search, and data submission.
- Identify blocked main-thread operations and dropped or delayed frames.
- Test performance with large datasets, long lists, and high-content screens.
- Monitor memory usage and check for leaks across repeated workflows.
- Verify behaviour under low-memory conditions.
- Measure API and content-loading performance under realistic networks.
- Run extended sessions to detect gradual slowdown or instability.
- Test concurrent background and foreground activity.
- Compare key performance measurements with an agreed baseline.
Android recommends tools and checks such as StrictMode to identify problematic main-thread work, network access, and file operations during development.
Performance tests should use explicit criteria. “The app should load quickly” is difficult to evaluate. A target startup time, response-time percentile, or maximum memory limit creates a usable release condition.
9. Battery, Memory, and Background Resource Checklist
An app may be functionally correct but still deliver a poor experience by draining the battery, keeping the device awake, transferring unnecessary data, or continuing background work after the user has left.
Resource testing should observe normal use, long sessions, background states, poor connectivity, and repeated retries. Problems often appear when several operations interact rather than during one isolated test.
Check the Following
- Measure battery consumption during representative user sessions.
- Compare foreground, background, idle, and offline consumption.
- Verify that background tasks stop or reduce activity when no longer needed.
- Check for excessive location, Bluetooth, camera, microphone, or sensor usage.
- Monitor CPU, memory, network, and storage consumption.
- Verify that wake locks, timers, observers, and connections are released.
- Test repeated background and foreground transitions.
- Check whether failed network requests create uncontrolled retry loops.
- Verify behaviour under low-power or battery-saver modes.
- Confirm that downloads and synchronisation respect appropriate system constraints.
Investigate both total consumption and unexpected consumption while idle. Users are particularly sensitive to applications that continue draining the battery when they believe the app is inactive.
10. Security, Privacy, and Permission Checklist
Mobile applications commonly handle authentication tokens, personal data, payment information, images, location, device identifiers, and locally cached content. Security testing must examine the device, network, backend, and application logic together.
Permissions should be requested only when needed and explained in context. A technically valid permission request can still damage trust when it appears before the user understands its purpose.
Check the Following
- Verify secure transmission for all sensitive communication.
- Confirm that tokens, credentials, and personal data are not stored insecurely.
- Test authentication, logout, session expiry, and account recovery.
- Verify role-based and record-level authorisation on the server.
- Check that users cannot access another account’s data by changing identifiers.
- Test application behaviour on compromised or modified devices according to the threat model.
- Verify permissions are requested at the point of need and denied gracefully.
- Check logs, screenshots, notifications, backups, and recent-app previews for sensitive data exposure.
- Confirm clipboard and external-file use do not expose confidential information.
- Test rate limits, repeated login attempts, and abusive workflows.
- Verify account deletion, consent withdrawal, and data-export functionality where required.
- Check that analytics and third-party SDKs collect only approved data.
Do not rely exclusively on client-side controls. A hidden button or disabled mobile screen is not an authorisation mechanism; the backend must enforce access rules independently.
11. Data Integrity, Storage, and Migration Checklist
Mobile data may exist locally, remotely, in caches, and across multiple devices. The application must keep these states consistent through updates, interruptions, retries, and conflicts.
Pay particular attention to destructive operations, financial records, user-generated content, offline changes, and database migrations.
Check the Following
- Verify that created, edited, and deleted records remain accurate.
- Test local storage, cache invalidation, and retrieval behaviour.
- Confirm that sensitive data is stored according to security requirements.
- Test data migration from supported older app versions.
- Verify backup and restore behaviour where the platform permits it.
- Test large datasets and maximum supported record sizes.
- Check sync behaviour across devices and concurrent sessions.
- Verify conflict detection and resolution for offline changes.
- Test interrupted writes and partially completed transactions.
- Confirm that clearing a cache does not remove essential user data.
- Validate data deletion after logout, account removal, or consent withdrawal as required.
A successful interface message does not prove that data was stored correctly. Where risk justifies it, validate the resulting backend or local state.
12. Accessibility Testing Checklist
Accessibility testing verifies that users with visual, hearing, motor, speech, or cognitive disabilities can complete the app’s important tasks.
Automated scanners can identify certain missing labels, contrast problems, and target-size issues. They cannot determine whether the navigation order is logical, an announcement is understandable, or a complete workflow works with assistive technology.
Check the Following
- Complete critical journeys using VoiceOver on iOS and TalkBack on Android.
- Verify accessible names, roles, values, hints, and state announcements.
- Check focus order after navigation, validation, dialogs, and dynamic updates.
- Test with larger text and display scaling.
- Verify that text and controls do not clip, overlap, or disappear.
- Check colour contrast and avoid conveying information by colour alone.
- Confirm that tap targets are appropriately sized and spaced.
- Test alternatives for complex gestures and drag actions.
- Verify compatibility with voice control, switch access, and external keyboards where relevant.
- Check reduced-motion preferences, captions, and audio alternatives.
- Ensure time-limited tasks can be extended where appropriate.
Apple provides separate evaluation criteria for VoiceOver, Voice Control, Larger Text, contrast, reduced motion, and other accessibility capabilities. Its guidance emphasises evaluating whether users can complete common app tasks, not merely whether accessibility properties exist.
13. Localization and Internationalization Checklist
Localization testing evaluates whether the app works correctly for a particular language and region. Internationalization testing determines whether the product’s underlying design can support those variations.
Translation is only one part of the work. Dates, times, currencies, names, addresses, pluralisation, text direction, sorting, units, and culturally specific content can all change.
Check the Following
- Verify every supported language, including errors and system-generated messages.
- Check expanded and contracted text for clipping and broken layouts.
- Test right-to-left layout where applicable.
- Verify date, time, number, currency, and measurement formats.
- Test accented characters, non-Latin scripts, emoji, and combined characters.
- Check names and addresses that do not follow one fixed format.
- Verify locale-specific sorting, search, and case handling.
- Confirm that language changes do not require unnecessary data loss or reinstallation.
- Check images, symbols, colours, and content for cultural suitability.
- Verify fallback behaviour when a translation is missing.
- Test server-generated content and notifications in the correct locale.
Pseudo-localization can expose hard-coded text and layout expansion before translations are complete, but final validation should use native or highly proficient reviewers.
14. Notifications, Deep Links, and External Flow Checklist
Push notifications and deep links often bring users into the middle of an application rather than through its normal starting screen. These entry points must work across logged-in, logged-out, background, terminated, and newly installed states.
Notifications also involve permission, timing, privacy, and duplication risks. A message can be technically delivered but still expose sensitive information on a locked screen or route the user to an invalid state.
Check the Following
- Verify notification permission acceptance, denial, and later changes in Settings.
- Test receipt while the app is foregrounded, backgrounded, and terminated.
- Confirm that tapping a notification opens the correct screen and record.
- Test notification handling when the user is logged out or lacks permission for the target content.
- Verify deep links after fresh installation and application updates.
- Test malformed, expired, unauthorised, and unsupported links.
- Confirm that duplicate notifications do not create duplicate actions.
- Verify badges, read state, grouping, and notification clearing.
- Check lock-screen content for sensitive information.
- Test links returning from browsers, payment apps, identity providers, maps, and email.
- Confirm that cancelled or failed external flows return the user to a recoverable state.
Include universal links, app links, custom URL schemes, and deferred deep links according to the app’s implementation.
15. App Store, Google Play, and Release-Readiness Checklist
A technically stable application can still be rejected or delayed if it violates store policies, contains incomplete metadata, fails during review, or does not provide reviewers with access to protected functionality.
Sleep Easy Before Launch
We'll stress-test your app so users don't have to.
Store requirements change, so use the current official guidance rather than relying on a static checklist alone. Apple’s App Review Guidelines are organised around Safety, Performance, Business, Design, and Legal requirements.
Check the Following
- Review the latest Apple App Review and Google Play policies.
- Verify that the production release is signed, versioned, and configured correctly.
- Confirm that all advertised features are available and functional.
- Remove test accounts, debug menus, placeholder content, and development endpoints.
- Test in-app purchases, subscriptions, restoration, cancellation, and entitlement changes.
- Verify privacy disclosures against actual data collection and SDK behaviour.
- Confirm that permission descriptions explain their purpose accurately.
- Check age ratings, content declarations, export requirements, and regional availability.
- Verify app name, description, icon, screenshots, previews, and support links.
- Provide working review credentials and clear review notes when login is required.
- Test the exact release candidate on physical devices.
- Confirm crash reporting, analytics, monitoring, feature flags, and rollback procedures.
- Run post-deployment smoke tests after the release becomes available.
Apple recommends testing the app on a physical device, resolving crashes, verifying in-app purchases, and providing review notes and credentials that allow reviewers to evaluate protected functionality.
Store approval is not the final quality signal. Monitor crashes, application-not-responding events, startup performance, reviews, support requests, and business metrics after release.
How to Prioritise the Checklist Before a Release
Not every release needs the same testing depth.
For a minor copy change, the team may run focused UI, localization, accessibility, and smoke checks. A payment SDK update requires deeper functional, interruption, security, network, upgrade, and store-payment testing. A database migration demands strong data-integrity, rollback, performance, and upgrade coverage.
Prioritise using:
- Customer impact
- Change size
- Technical complexity
- Security and privacy sensitivity
- Historical defect patterns
- Number of affected users
- Difficulty of recovery
- Store-policy implications
- Device and OS reach
The release decision should be based on risk and evidence rather than the percentage of checklist items marked complete.
What Should Be Automated?
Mobile automation is valuable for stable, repetitive checks that need to run across builds or device combinations. Good candidates include core functional journeys, API checks, regression tests, installation verification, deep links, and selected accessibility rules.
Human-led testing remains important for usability, visual quality, exploratory behaviour, physical-device interactions, unusual interruptions, and accessibility with assistive technologies.
A practical mobile testing model combines:
- Fast unit and component tests
- API and integration automation
- A focused set of UI journeys
- Device-lab compatibility runs
- Manual exploratory sessions
- Performance and security testing
- Production monitoring
Avoid automating every interface detail. Large mobile UI suites can become slow and fragile when locators, timing, animations, devices, and operating-system behaviours change.
Frequently Asked Questions
What are the most important mobile app testing areas?
Core functionality, data integrity, security, device compatibility, network behaviour, lifecycle recovery, performance, and accessibility are essential. The exact priority depends on the app’s users, architecture, data, and consequences of failure.
How many mobile devices should an app be tested on?
There is no universal number. Build a representative matrix from user analytics, target-market share, operating-system support, screen characteristics, hardware requirements, manufacturer differences, and business risk.
Are emulators sufficient for mobile app testing?
No. Emulators provide fast, scalable functional coverage, but physical devices are still needed for reliable assessment of battery use, sensors, cameras, biometrics, notifications, mobile networks, gestures, performance, and manufacturer-specific behaviour.
What is the difference between mobile functional and usability testing?
Functional testing verifies that features and business rules work correctly. Usability testing examines whether representative users can understand the interface, navigate efficiently, recover from mistakes, and complete their goals without unnecessary difficulty.
How long should mobile app testing take?
There is no fixed four- or six-week rule. The timeline depends on app complexity, release risk, supported devices, integrations, regulatory needs, automation maturity, defect volume, and the scope of the change.
Should every checklist item be tested before every update?
No. Run essential smoke and regression checks for each release, then select deeper coverage using change impact and risk. High-impact updates require broader testing than isolated, low-risk changes.
How should poor network conditions be tested?
Test latency, low bandwidth, packet loss, complete disconnection, reconnection, and switching between Wi-Fi and cellular data. Verify timeouts, retries, offline storage, duplicate prevention, synchronisation, and recovery messages.
What should be tested after the app is released?
Run production smoke tests and monitor crashes, startup performance, API failures, resource use, reviews, support requests, conversion, transaction success, and other business metrics. Use staged rollout or rollback where available.
Conclusion
Mobile application quality depends on how the product behaves outside ideal test conditions.
The app must work across representative devices and operating systems, but it must also survive unreliable networks, interruptions, low resources, denied permissions, upgrades, accessibility settings, language changes, external redirects, and partial transaction failures.
A useful mobile app testing checklist therefore covers more than functionality. It validates the complete experience from installation and onboarding through everyday use, interruption, update, recovery, and eventual removal.
The 15 checklists in this guide should be adapted rather than followed mechanically. Give the greatest depth to high-impact workflows, use real devices for hardware and environmental risks, automate stable regression coverage, and preserve human testing for areas requiring exploration and judgement.
When mobile testing reflects how people actually use their devices, the team is better positioned to prevent crashes, data loss, security incidents, poor reviews, and avoidable store rejections before they reach the user.



