Manual testing guide
25 Mobile App Test Cases: Usability and Functional
Mobile testing adds device, operating-system, permission, lifecycle and connectivity risks to normal functional coverage. Start with the product’s supported device matrix, then test important flows under realistic interruptions.
Example requirement
A supported mobile application must install, launch and allow the user to complete its primary flow across supported devices while handling permissions, connectivity changes and operating-system interruptions safely.
Generate test cases for this example25
Test cases
6
Coverage types
16
High priority
CSV
Export format
Usability test cases for mobile applications
Mobile usability must be checked on real screens and under real interruptions. These scenarios focus on whether people can understand, operate and recover from the app—not only whether the feature technically works.
- Check one-handed touch targets, navigation and system Back behaviour.
- Test large text, screen readers, dark mode and keyboard overlap.
- Cover slow networks, interruptions, permissions and empty states.
- Repeat critical flows on a risk-based device and OS matrix.
25 example test cases
Filter the coverage, switch between card and table views, then copy or export the cases you need. Replace assumptions with the confirmed rules, environments and risks of your product.
Showing 25 of 25 cases
Install and launch on a supported device
Precondition
A supported clean device and valid build are available.
Expected result
Installation and startup complete without crashes, blocking errors or missing essential resources.
Steps
- 1.Install the application
- 2.Launch it from the device
- 3.Complete initial startup
Complete the primary flow on supported screen sizes
Precondition
Representative supported devices are available.
Expected result
The flow works consistently and essential content remains readable and operable.
Steps
- 1.Open the application on each target screen size
- 2.Complete the primary user flow
Handle denial of an optional permission
Precondition
An optional permission has not been decided.
Expected result
The app explains the limitation and remains usable without repeatedly blocking the user.
Steps
- 1.Open the feature that requests permission
- 2.Deny the permission
- 3.Continue using unrelated features
Recover from connectivity loss during submission
Precondition
The primary flow is ready to submit.
Expected result
The failure is clear, data is preserved where appropriate and retry does not create duplicates.
Steps
- 1.Disable connectivity
- 2.Submit the action
- 3.Restore connectivity and retry
Preserve state after an operating-system interruption
Precondition
A multi-step flow is in progress.
Expected result
The app resumes safely with the documented state and without exposing sensitive content.
Steps
- 1.Send the app to the background using an incoming call or app switch
- 2.Return to the application
Respond correctly to orientation changes
Precondition
The device and screen support orientation changes.
Expected result
The layout remains usable and entered data is not unexpectedly lost or duplicated.
Steps
- 1.Enter data in the primary flow
- 2.Rotate the device between supported orientations
Support increased text size and screen-reader navigation
Precondition
Accessibility settings are available on the device.
Expected result
Content remains readable, controls have meaningful labels and essential actions remain accessible.
Steps
- 1.Increase the system text size
- 2.Enable the platform screen reader
- 3.Navigate the primary flow
Keep touch targets easy to operate
Precondition
The primary screens are available on a supported phone.
Expected result
Interactive targets are distinguishable, forgiving and do not trigger neighbouring actions unexpectedly.
Steps
- 1.Inspect closely spaced actions
- 2.Operate each action using normal one-handed touch
Keep primary navigation consistent
Precondition
The main application sections are available.
Expected result
Navigation labels, placement and back behaviour remain predictable without trapping the user.
Steps
- 1.Move through each primary section
- 2.Use system and in-app Back actions
- 3.Return to the starting section
Show progress for a slow operation
Precondition
A request can be delayed safely.
Expected result
Timely progress feedback appears, duplicate actions are controlled and cancellation or retry follows the product rule.
Steps
- 1.Throttle the network
- 2.Start a loading or submission action
- 3.Observe available feedback and controls
Provide a useful empty state
Precondition
The selected screen has no records.
Expected result
The state explains why no content appears and offers a relevant, accessible next step.
Steps
- 1.Open the empty screen
- 2.Review its explanation and next action
Retain entered data after a validation error
Precondition
A multi-field mobile form is available.
Expected result
Valid non-sensitive values remain while focus and guidance identify the field needing correction.
Steps
- 1.Enter valid values and one invalid value
- 2.Submit the form
- 3.Review the returned fields
Respect light and dark appearance settings
Precondition
The app supports system appearance changes.
Expected result
Content remains legible, contrast is sufficient and essential controls do not disappear in either mode.
Steps
- 1.Open key screens in light mode
- 2.Switch to dark mode
- 3.Inspect text, controls and system bars
Handle a low-storage condition
Precondition
A test device can simulate low storage.
Expected result
The app fails safely with useful guidance and does not corrupt existing user data.
Steps
- 1.Reduce available storage
- 2.Launch the app and attempt a storage-dependent action
Preserve privacy in app-switcher previews
Precondition
A screen containing sensitive information is open.
Expected result
Sensitive content is obscured when required by the product security policy.
Steps
- 1.Send the app to the background
- 2.Open the operating-system app switcher
Keep fields visible above the on-screen keyboard
Precondition
A multi-field form is available.
Expected result
The active field, validation message and primary action remain reachable without awkward manual scrolling.
Steps
- 1.Focus each field near the bottom of the screen
- 2.Enter data using the on-screen keyboard
- 3.Move to the next field
Use the system Back action consistently
Precondition
A multi-screen flow is available.
Expected result
Back returns to the expected state, warns before losing unsaved work and does not exit unexpectedly.
Steps
- 1.Move through the flow
- 2.Use the system Back gesture or button at each level
Handle rapid repeated taps
Precondition
A network-backed primary action is available.
Expected result
One intended action is processed and the pending state prevents accidental duplicates.
Steps
- 1.Tap the primary action repeatedly
- 2.Review visible state and created records
Restore after the operating system terminates the app
Precondition
A recoverable flow is in progress.
Expected result
The app restores or safely resets state according to the documented lifecycle rule.
Steps
- 1.Send the app to the background
- 2.Terminate its process using platform test controls
- 3.Reopen the app
Update from the previous supported version
Precondition
The previous production version is installed with representative data.
Expected result
The app launches successfully and compatible user data, sessions and settings are preserved as designed.
Steps
- 1.Use the previous version to create data
- 2.Install the update
- 3.Launch and inspect the migrated state
Open a valid deep link
Precondition
A supported deep link and required account state are available.
Expected result
The correct destination opens after any required authentication and navigation history remains coherent.
Steps
- 1.Open the deep link while the app is closed
- 2.Repeat while the app is in the background
Reject an untrusted deep link safely
Precondition
A malformed or unauthorised deep link is available.
Expected result
Protected content is not exposed and the app falls back to an approved safe destination.
Steps
- 1.Open the untrusted link
- 2.Observe navigation and application state
Remain usable with reduced motion enabled
Precondition
The operating system provides a reduced-motion setting.
Expected result
Essential information and controls remain available without disorienting or unnecessary movement.
Steps
- 1.Enable reduced motion
- 2.Navigate animated screens and transitions
Handle an incoming notification during a critical flow
Precondition
A critical multi-step flow is in progress.
Expected result
The app preserves safe state and does not duplicate or prematurely submit the action.
Steps
- 1.Trigger a notification
- 2.Open and dismiss it
- 3.Return to the flow
Sign out and clear sensitive local state
Precondition
The user is signed in and sensitive screens were viewed.
Expected result
Protected content and credentials are inaccessible while approved non-sensitive preferences follow policy.
Steps
- 1.Sign out
- 2.Reopen the app
- 3.Inspect recent screens and protected offline data
Coverage checklist
- Define a risk-based device and operating-system matrix before execution.
- Include clean install, update, reinstall and low-storage conditions.
- Test permission states: first request, denial, permanent denial and later enablement in settings.
- Exercise backgrounding, notifications, calls, rotation and process termination during critical flows.
- Test slow, offline and changing network conditions without creating duplicate actions.
Common defects
- • Touch targets are too small or too close together.
- • Back navigation exits the app or loses work unexpectedly.
- • Loading actions provide no feedback and accept duplicate taps.
- • Large text overlaps controls or hides content.
- • Interrupted forms discard valid information unnecessarily.
Suggested test data
- • Small and large supported screens
- • Default and increased text sizes
- • Granted, denied and permanently denied permissions
- • Online, offline, slow and changing networks
- • Light and dark appearance settings
Automation notes
- • Automate stable critical flows on a small risk-based device matrix rather than every device combination.
- • Keep visual, screen-reader and one-handed usability reviews as human checks alongside automation.
- • Use platform controls to simulate network, permission, orientation and lifecycle changes consistently.
Frequently asked questions
What are usability test cases for a mobile application?+
They evaluate whether navigation, touch interactions, forms, feedback, readability and recovery remain clear and efficient on real mobile devices.
Which mobile usability scenarios are most important?+
Prioritise navigation, touch targets, text scaling, interruptions, permissions, network changes, form recovery and accessibility on supported devices.
Can mobile usability testing be automated?+
Automation can verify stable flows and some accessibility properties, but human review is still needed for clarity, comfort, screen-reader quality and real-device behaviour.
Related test case examples
Practical login page test cases covering valid access, invalid credentials, validation, accessibility, session handling and security risks.
Registration testingExample registration test cases for required fields, duplicate accounts, password rules, verification, accessibility and input boundaries.
OTP testingOTP test cases covering valid verification, expiry, one-time use, resend behaviour, attempt limits, privacy and input boundaries.
Checkout testingEcommerce checkout test cases covering totals, discounts, payment success and failure, duplicate orders, stock changes and accessibility.
Generate cases for your own requirement
Paste your real user story, choose the coverage categories and receive structured manual test cases you can review and export.
Open the free generator