Request info

9 Mobile App Test Cases

Mobile app test case best practices

Test cases versus test scenarios

Without test cases, it’s difficult to track, understand, and resolve quality issues. Especially if you’re using an agile and continuous Software Development Life Cycle (SDLC) to streamline the launch and deployment of your products. 

Scenario testing helps mobile app developers understand the real use of mobile applications, ensuring that the end-to-end functionality of the application under test is working as expected. In scenario testing, QA teams use the software in real-world use cases… just as end-users would. Test scenarios are tied to user stories and cover a number of steps whereas test cases are usually single steps (to do something and check it).



Here are 9 mobile app test cases to consider while putting together your QA strategy.

1. Functional testing test cases

Twelve functional test case scenario questions:

  1. Is the application working as designed whenever it starts and stops?
  2. Does the app perform accordingly on various mobile and OS versions?
  3. Does the app behave accordingly when faced with external interruptions? (ie. receiving SMS, minimized during an incoming phone call, etc)
  4. Is the user able to download and install the app without issues?
  5. Is the device able to multitask as expected when the app is in use or running in the background?
  6. Can other applications perform satisfactorily once the app is installed?
  7. Are social network options such as sharing, posting, etc. working as required?
  8. Are mandatory fields working as required?
  9. Does the app support payment gateway transactions?
  10. Are page scrolling scenarios working as expected?
  11. Can you navigate between various modules as expected?
  12. Are appropriate error messages received as necessary?

There are two ways to run functional testing: scripted and exploratory.

Scripted

Scripted test execution is just that – a structured, scripted activity where testers follow predetermined steps. This allows QA testers to compare actual results with expected ones.
These types of tests are usually confirmatory in nature, meaning you are confirming that the app can perform the intended function. Testers generally find more issues when they have more flexibility in the test design. 

Exploratory

2. Performance testing test cases

Eight performance test case scenarios questions:

  1. Can the app handle projected load volumes?
  2. What are the various mobile app and infrastructure bottlenecks preventing the app from performing as expected?
  3. Is the response time as expected?
  4. Are battery consumption, memory leaks, GPS, and camera performance within required guidelines?
  5. Is the current network coverage able to support the app at peak, average, and minimum user levels?
  6. Are there any performance issues if the network changes to/from WIFI and 2G/3G/4G?
  7. How does the app perform during intermittent phases of connectivity?
  8. Are existing client-server configurations providing the optimum performance level?

3. Battery usage test cases

While battery usage is a huge component of performance testing, mobile app developers must make it a top priority. Apps are becoming more demanding in terms of processing power, so when designing your mobile app testing strategy understand that battery-heavy mobile apps kill user experience. 

Seven battery usage test case scenarios to pay special attention to:

  1. Energy consumption of the mobile app
  2. User interface designs using intense graphics or result in unnecessarily high database queries
  3. The battery life can support the application to perform under projected load volumes
  4. Low battery and high-performance demands
  5. How the app performs if in use when the battery is removed
  6. Battery and data usage leaks 
  7. New features and updates are not introducing new battery and data usage 

4. Usability Testing Test Cases

Nine usability test case scenarios ensure:

  1. Buttons are a user-friendly size.
  2. Buttons location, style, etc are consistent within the app.
  3. Icons are consistent within the application.
  4. Zoom in and out facilities work as expected.
  5. The keyboard can be minimized and maximized easily.
  6. Going back, undoing an action, or on touching the wrong item can easily be undone. 
  7. Contextual menus are not overloaded.
  8. Verbiage is simple, clear, and easily visible.
  9. The end-user can easily find the help menu or user manual should they need.

5. Compatibility testing test cases

Six compatibility test case scenarios questions:

  1. Have you tested on the top mobile app testing devices and operating systems?
  2. How does the app work with varying parameters, such as bandwidth, operating speed, capacity, etc?
  3. Does the app work properly with various mobile browsers like Chrome, Safari, Firefox, Microsoft Edge, etc?
  4. Does the app’s user interface (UI) remain consistent, visible, and accessible on various screen sizes?
  5. Is the text readable for all users?
  6. Does the app work seamlessly across various configurations?

6. Security testing test cases

Security testing ensures that the application’s data and networking security requirements are met as per guidelines. It focuses on identifying possible security risks and vulnerabilities so that the application is not exploited and data is protected.

Twenty four security testing scenarios for mobile applications:

  1. Can the mobile app withstand any brute force attack to guess a person’s username, password, or credit card number?
  2. Does the app permit an attacker to access sensitive content or functionality without proper authentication? This includes making sure the communications with the backend are properly secured. 
  3. Is there a strong password protection system within the mobile app?
  4. Verify dynamic dependencies.
  5. Measures taken to prevent attackers from accessing these vulnerabilities.
  6. What steps have been taken to prevent SQL injection related attacks?
  7. Identify and recover any unmanaged code scenarios.
  8. Ensure whether certificates are validated and if the app implements Certificate Pinning or not.
  9. Protect the application and the network from denial of service attacks.
  10. Analyze data storage and validation requirements.
  11. Create session management for preventing unauthorized users to access unsolicited information.
  12. Check to see if cryptography code is broken and repair what’s found.
  13. Are business logic implementations secured and not vulnerable to any attack from outside?
  14. Analyze file system interactions, determine any vulnerability, and correct these problems.
  15. What protocols are in place should hackers attempt to reconfigure the default landing page?
  16. Protect against malicious client-side injections.
  17. Protect against malicious runtime injections.
  18. Investigate and prevent any malicious possibilities from file caching.
  19. Protect against insecure data storage in the app’s keyboard cache.
  20. Investigate and prevent any malicious deeds from cookies.
  21. To provide regular audits for data protection analysis.
  22. Investigate and prevent any malicious deeds from custom created files.
  23. Prevent memory corruption cases.
  24. Analyze and prevent any vulnerabilities from different data streams.

7. Localization testing test cases

Ten localization testing scenarios for mobile applications:

  1. Localized content should be checked for accuracy. This should also include all validation or error messages that may arise. 
  2. Language should be properly formatted. (ie. Arabic format of right to left, the Japanese writing style of LastName, FirstName, etc.)
  3. Terminology is consistent across UI.
  4. Time and date are properly formatted.
  5. Currency is the local equivalent.
  6. Colors are appropriate and convey the right message.
  7. Ensure license and rules obeying target region laws and regulations.
  8. Text content layout is error-free.
  9. Hyperlinks and hotkey functionality work as expected. 
  10. Entry fields support special characters and are validated as necessary (ie. postal codes)
  11. Ensure the localized user interface has the same type of elements and numbers as the source product.

8. Recoverability testing test cases

Five recoverability testing scenarios questions:

  1. Does the app resume at the last operation in case of a hard reboot or system crash?
  2. What – if any – is causing crash recovery and transaction interruptions?
  3. How effective is the application recovery after an unexpected interruption or crash? 
  4. How does the application handle a transaction during a power failure?
  5. What is the expected process when the app needs to recover data directly affected by a failed connection?

9. Regression testing test cases

The purpose of regression testing is to make sure that new code changes in software do not cause bugs or breaks.

Four regression testing scenarios for mobile applications:

  1. Check any changes to existing functionality
  2. Check new changes implemented
  3. Check new features added
  4. Check for possible side effects after changes are launched

Creating your mobile app testing strategy

Jumbotron image