How to Write Test Cases for Mobile Applications

Test Cases for Mobile Applications

Summarize this blog post with:

Mobile apps operate in variable environments. Your users might rotate their devices, receive phone calls when browsing, revoke permissions, switch between Wi-Fi and mobile data, or enable battery-saving modes.

On top of this, there are hundreds of different device models available, each with different OS versions, hardware configurations, and screen sizes.

These factors can make mobile app testing a lot more complex, which is why writing effective test cases that validate every area of your app is critical.

In this blog, we’ll learn some of the most important test cases for mobile applications across functional, UI, device, network, and performance testing.

Leverage robust end-to-end mobile app automation with TestGrid. Request a free trial.

What Are Mobile Application Test Cases?

A mobile application test case is a set of documented preconditions, test steps, test data, and expected results which testers use to verify a specific feature or function of a mobile app and ensure it behaves as specified in functional requirements.

A test scenario describes what you need to test. A test case explains how you can test it.

For example, “Verify user login” is a test scenario, whereas “Navigate to the login screen, enter valid credentials, tap Login, and verify that the dashboard loads successfully” is a test case.

Well-written test cases for mobile applications help you reduce missed defects by covering both positive and negative test scenarios interactions in a structured manner.

Mobile App Test Case Template

The template below has the essential fields needed to understand how to write test cases for mobile applications.

FieldDescription
Test Case IDUnique identifier assigned to the test case (e.g., TC_MOB_001)
PreconditionsConditions that must be met before executing the test (user logged in)
Test DataInput values, user credentials, files, or sample data required for the test
Test StepsStep-by-step actions to execute the test case
Expected ResultThe expected app behavior after completing the test steps
Actual ResultThe observed behavior during test execution
Pass/FailIndicates whether the actual result matches the expected result
Defect IDReference to the logged defect if the test fails (BUG-1024)
PriorityIndicates the business importance of the test case (High, Medium, Low)
SeverityImpact of the defect on app functionality (Critical, Major, Minor)

Also Read: Test Case Template: Free Examples & Formats for QA Teams

Types of Test Cases for Mobile Application to Include

Mobile application test cases should cover every critical testing area to ensure a consistent user experience across smartphones, tablets, and foldable devices.

The following sections include sample test cases for Android mobile applications which you can also adapt for iOS and other mobile platforms depending on your test requirements.

1. Functional test cases

Functional test cases for mobile applications verify that the application’s functional behavior conforms to the specified business and functional requirements. This can include testing app installation from Google Play and the Apple App Store, user authentication, navigation, search functionality, and form validation.

ScenarioTest CaseExpected Result
User registrationRegister a new user account using valid details and complete the sign-up processThe account is created successfully, and the user is redirected to the appropriate screen
LoginNavigate to the login screen, enter valid credentials, and tap the Login buttonThe user is authenticated successfully and redirected to the home or dashboard screen with an active session
LogoutLog in and then select the Logout option from the application menuThe active user session must terminate, and the user should be redirected to the login or welcome screen
Password resetInitiate the password reset process using a registered email address or phone numberA password reset link or verification code is sent, and the user receives confirmation of password reset initation
Form validationComplete all mandatory fields with valid input values and submit the formThe form is submitted successfully, the data is processed correctly, and an appropriate success message is displayed
SearchEnter an exact keyword in the search bar and execute the searchThe application must show relevant matching results for the entered keyword within the defined response time threshold.
NavigationNavigate through all primary screens using the application’s menu, tabs, or navigation controlsEach navigation action opens the correct screen, and all navigation paths function without unexpected redirects
Data synchronizationModify user data on one device while connected to the internet and verify that the changes are synchronized across the user’s account.The updated data is synchronized successfully and is available across all authenticated devices associated with the same user account.

Also Read: Functional Testing: Types, Examples, Techniques, and Best Practices

2. UI and screen compatibility test cases

These sample test cases for mobile applications ensure your app displays and behaves consistently across different devices, resolutions, operating systems, and screen configurations.

ScenarioTest CaseExpected Result
Screen resolutionVerify the application on devices with different screen resolutions (e.g., HD, Full HD, QHD, and 4K)All UI elements render correctly without overlapping, clipping, stretching, or excessive empty space
Display densityVerify the application on devices with different display densities (ldpi, mdpi, hdpi, xhdpi, xxhdpi, and xxxhdpi)Text, images, and icons remain sharp, properly scaled, and correctly aligned
Notch handlingTest the application on devices with display cutouts (for example, a notch, punch-hole camera, or Dynamic Island).Content and controls remain visible and do not overlap the device’s safe display area
Portrait orientationUse the application in portrait mode across key user flows, including forms, lists, and media screensThe interface must display correctly with properly aligned content and accessible controls
Landscape orientationRotate the device from portrait to landscape while using different application screensThe layout adjusts seamlessly without UI rendering issues, and the application state and user-entered data are preserved.
Gesture navigationNavigate through the application using device gestures such as Back, Home, and Recent Apps.System and application gestures work without conflicts or unintended navigation

Learn More: Compatibility Testing: Definition, Types, Process & Tools

3. Mobile device feature test cases

These test cases for mobile applications enable you to assess how the app interacts with built-in device capabilities and hardware components like camera, mic, Bluetooth, or motion sensors.

1. Authentication

ScenarioTest CaseExpected Result
Face IDEnable Face ID for the app and authenticate using a registered faceThe user is authenticated and granted access without requiring manual credentials
Touch IDEnable Touch ID and authenticate using a registered fingerprint on a supported deviceThe app authenticates the user successfully and the protected screen is opened
Fingerprint authenticationAuthenticate using the device’s fingerprint sensor after enabling fingerprint loginThe application verifies the fingerprint and grants access only after successful authentication

2. Camera and microphone

ScenarioTest CaseExpected Result
Camera permissionsGrant camera permission and open a camera-enabled featureThe application accesses the camera without errors
Capture imageCapture a photo using the in-app camera and save or upload itThe application camera captures the image and displays or uploads correctly
Video recordingRecord a video using the in-app camera and save itThe video is recorded, saved, and playable without corruption
Microphone accessGrant microphone permission and record audio using the applicationThe application captures audio successfully with clear recording quality

3. Location services

ScenarioTest CaseExpected Result
GPSGrant location permission and access a feature that uses device location services.The application should retrieve and show the device’s current location accurately
Location updatesMove to a different location when the application is actively tracking locationThe application updates the location automatically and reflects the new position accurately

4. Connectivity

ScenarioTest CaseExpected Result
BluetoothPair the device with a supported Bluetooth accessory and use the Bluetooth featureThe application detects the paired device and communicates with it successfully
NFC (Near Field Communication)Tap the device on a supported NFC tag or reader (contactless payment at a retail store) to perform an NFC-based actionThe application detects the NFC interaction and completes the intended operation

5. Motion sensors

ScenarioTest CaseExpected Result
AccelerometerMove or rotate the device while using a feature that relies on the accelerometer (a step counter)The application correctly detects the motion and responds as expected
GyroscopeRotate the device while using a feature that relies on the gyroscope (a 360° viewer or AR feature)The application accurately detects device rotation and updates the view smoothly

6. Notifications

ScenarioTest CaseExpected Result
Push notificationsSend a push notification to the device and tap it from the notification panelThe notification is delivered successfully and opens the intended screen within the application

7. App navigation

ScenarioTest CaseExpected Result
Deep linkOpen the application using a valid deep linkThe application launches and navigates directly to the targeted screen
In-app navigationNavigate between major screens using the application’s menus or navigation controlsThe application navigates to the correct screens without errors or broken links

8. App permissions

ScenarioTest CaseExpected Result
App permissionDeny a required permission (for example, camera access) and access the corresponding app featureThe application displays an appropriate permission prompt or guidance without crashing
Permission changeRevoke a previously granted permission from the device settings and reopen the applicationThe application detects the permission change and requests access again or disables the affected feature

9. Background operations

ScenarioTest CaseExpected Result
Background serviceMove the application to the background while a background task is running (file upload or music playback)The background task continues or pauses as intended without errors or unexpected termination

Also Read: What Is Mobile App Testing: Definition, Types, and Process

4. Network test cases

Network test cases for mobile applications evaluate the app’s behavior under different connectivity conditions and network quality.

1. Different network types and interrupted connectivity

ScenarioTest CaseExpected Result
Network type handlingPerform common user actions (browsing or adding to cart) under different network connectivity (3G, 4G, 5G, WiFi)The application functions correctly across all supported network types without connectivity issues or crashes
Network switchingSwitch between Wi-Fi and mobile data while a request is in progressThe application maintains or restores the connection gracefully without data loss or errors
Airplane modeEnable Airplane mode when the application is sending or retrieving dataThe application detects the loss of connectivity and displays an appropriate offline or network error message

2. Poor network simulation

ScenarioTest CaseExpected Result
Limited bandwidthPerform data-intensive actions (uploading large video files) while connected to a low-bandwidth networkThe application stays responsive and loads content progressively without crashing
High latencyExecute actions such as login or data retrieval under high network latencyThe application handles delayed responses and shows appropriate loading indicators or timeout messages
Packet lossPerform data synchronization or API requests under simulated packet loss conditionsThe application retries failed requests where applicable and maintains data integrity
Network throttlingThrottle the network speed (slow 3G) and perform a network-dependent action (loading data or submitting a form)The application continues to function correctly and provides appropriate feedback during delayed operations

Also Read: Network Performance Testing for QA and SRE

5. Performance test cases

Performance test cases for mobile applications help you measure the app’s speed, stability, and resource utilization. Here, performance metrics such as startup time, memory usage, and frame rendering are commonly analyzed using platform profiling tools such as Android Studio Profiler and Xcode Instruments.

1. Startup performance

ScenarioTest CaseExpected Result
Cold startLaunch the application from a terminated state without any existing process in memory.The application launches within the expected startup time and loads the initial screen without errors
Warm startReopen the application after it has been sent to the backgroundThe application resumes quickly, restores the previous state, and remains responsive

2. Resource consumption

ScenarioTest CaseExpected Result
CPU usagePerform user actions and monitor CPU utilizationCPU usage remains within the defined performance thresholds without causing performance degradation
Memory usageNavigate through multiple screens and perform repeated operations over an extended periodMemory usage stays stable without excessive growth or memory leaks
Battery drainUse the app and execute user actions under normal usage conditionsThe application consumes battery within acceptable limits without excessive drain
Thermal performancePerform resource-intensive tasks (video playback, navigation, continuous data synchronization)The application operates normally without causing device overheating or performance throttling

3. Stability

ScenarioTest CaseExpected Result
Crash ratePerform continuous user interactions and repeated workflows during extended app usageThe application remains stable without unexpected crashes
ANR (Application Not Responding)Perform long-running operations (data import or cloud backup) to verify app responsivenessThe application remains responsive and does not trigger an ANR event

4. Responsiveness

ScenarioTest CaseExpected Result
Frame rateNavigate through screens, animations, and scrolling lists during normal app usageThe application displays animations, scrolling, and screen transitions without lag, stuttering, or visual glitches
API response timePerform API-dependent actions (login, search, data retrieval) under normal network conditionsThe application successfully processes API requests and displays the correct information without delays or failures

Learn More: Performance Testing Guide: Types, Process, Tools and Best Practices

Best Practices for Writing Test Cases for Mobile Applications

These best practices will help you improve test quality, simplify test management, and keep your test suite maintainable as your app evolves.

1. Keep expected results measurable

Define expected results using specific, verifiable outcomes. You must include details like displayed messages, navigation, data updates, UI changes, response time, or observable system behavior so that your testers can objectively determine whether a particular test case passes or fails without ambiguity.

2. Cover positive, negative, and edge cases

Write positive, negative, boundary value, and edge test cases for mobile applications which help you assess the expected user behavior, invalid or unexpected inputs, and uncommon boundary conditions.

This enables you to ensure your app functions correctly under normal, erroneous, and extreme scenarios, and reduce production defects.

3. Reuse test data where appropriate

You need to maintain a reusable set of validated test data, such as user accounts, sample files, and input values, to ensure consistency across test executions. When you reuse standardized test data, it helps you reduce maintenance effort, improve repeatability, and produce comparable test results across different environments.

Map every test case to a specific business or functional requirement so you can ensure complete test coverage and simplify impact analysis when your requirements change. A requirement traceability matrix (RTM) can help you identify missing, redundant, or outdated test cases.

Example: Requirement REQ-101: User Login – Test Case TC-001: Verify login with valid credentials.

5. Regularly update the regression suite

Make sure you review and update your regression suite whenever you add new features, change any existing functionality, or fix defects. Removing obsolete test cases for mobile applications and adding relevant ones keeps your suite effective and reduces the execution time by eliminating unnecessary test runs.

Automating Test Cases for Mobile Applications

Mobile web apps, native apps, or hybrid apps need to be stable and work consistently across multiple device models, screen sizes, operating system versions, network conditions, and hardware configurations.

QA teams often have to run thousands of test cases for every release to verify that new changes have not introduced regressions into existing functionality.

So, manually executing large volumes of regression and smoke tests repeatedly can be tedious, slow, operationally intensive, and increase the risk of missing critical defects.

Automation frameworks can help you quickly execute tests and minimize the effort needed for repetitive validation.

For example, Appium supports cross-platform app automation. Espresso is optimized for Android, and XCUITest and XCTest provide native iOS testing. And Detox is designed for testing React Native apps.

Here are some pointers for effective automation:

  • Automate the stable, repetitive, and frequently executed test cases for mobile applications (smoke, regression, and functional tests)
  • Integrate with CI/CD tools (Jenkins, CircleCI, Azure DevOps, GitHub Actions) to run tests automatically with every build or deployment
  • Test your mobile app’s behavior on real iOS and Android devices as well as emulators and simulators
  • Run automated tests in parallel across multiple devices, operating systems, and screen sizes to reduce execution time and improve coverage

One thing you must note is that manual test cases for mobile applications are still important and necessary for exploratory testing, usability validation, and visual verification.

Learn More: 19 Mobile App Testing Tools & Automation Frameworks for Android & iOS

Simplify Mobile App Automation with TestGrid

TestGrid is an AI-powered end-to-end software testing platform that unifies mobile app test case creation, execution, maintenance, and reporting from a centralized platform.

You can build functional, API, performance, visual, and compatibility tests for even the most complex mobile app testing scenarios like biometric authentication, camera flows, push notifications, deep links, background services, and network interruptions.

  • Write your test cases for mobile applications in English or BDD and upload them via CSV or paste them into the TestGrid AI portal
  • Get on-demand access to 100+ Android and iOS real devices hosted with TestGrid’s real device cloud
  • Simulate 2G, 3G, 4G, unstable Wi-Fi, and offline conditions (including Airplane Mode) environments to test your app’s performance
  • Assess gestures like Swipe, pinch-to-zoom, and scroll and detect areas where responsiveness might fail
  • Monitor CPU usage, memory consumption, battery impact, network activity, and UI response times
  • Get detailed reports enriched with video logs, screenshots, and error tracking  for easy test analysis

TestGrid also supports frameworks like Appium, so you can easily create custom automation scripts and trigger tests by connecting with CI/CD tools like Jenkins, GitLab, or Azure DevOps.

Deliver consistent mobile experiences across every device and OS version with TestGrid. Request a free trial.

Frequently Asked Questions (FAQs)

1. How often should you update test cases for mobile applications?

You must update your mobile app test cases every time you add new features, change the UI, update OS versions, fix bugs, or change the functional requirements. Regular reviews before each release or sprint will help you keep the test suite aligned with the app’s current functionality.

2. Which test cases for mobile applications should you prioritize during testing?

Focus on the test cases and mobile app testing scenarios that cover core user journeys, high-risk features, frequently used functionality, security-sensitive workflows, and recently modified components. Smoke, regression, and critical functional test cases should receive the highest priority.

3. What makes a mobile application test case effective?

An effective mobile application test case is clear, concise, and repeatable, with well-defined preconditions, test steps, test data, and expected results. It should enable you to validate a single requirement, cover realistic user scenarios, and produce repeatable results across different devices.

4. Who is responsible for creating test cases for mobile applications?

Test cases for mobile applications are usually created by QA engineers or software testers. However, developers, business analysts, product managers, and other stakeholders can collaborate to ensure the test cases align with functional requirements, user expectations, and business objectives.