How to do Mobile App Testing?

You might have the best app idea on paper, but in order to be successful in this highly competitive industry, you need a Grade-A QA company such as us on your team. Mobile app testing companies have a huge role to play in an app’s success as mobile app testing is not just about performing UI tests. It is about ensuring that you achieve 360-degree coverage with well-planned-out test cases. Being an experienced mobile app testing company, we understand the factors that impact the real-world performance of your app. So using our expertise, we have prepared this conclusive mobile app testing checklist that ensures the best user experience for all your users.

App Interruption

Smartphones of today are designed to help their users multitask with ease. In a fast-paced world, the end-user will not be happy with your application if it doesn’t handle the various interruptions that it might face during everyday usage. So you can add the below-listed app interruption test scenarios to your test suite to avoid bad reviews & eventual app uninstallation.

1. Switch to a different app and come back again to your app screen to see how it reacts.

2. Answer or reject an incoming call when you are using your app to ensure that the app doesn’t crash or restart.

3. Click on another app’s push notification and cause an interruption while you are using your app to verify if the app returns to the same state and screen when you left it.

4. If your mobile app requires to be connected to a Bluetooth device or any other hardware, then remove the device while it is being used and see how your app handles the interruption.

5. Abruptly close the app when you are in the middle of a purchase transaction and reopen it. The app should show whether the transaction was a success or a failure.

6. Set an alarm to ring while your app is being used to ensure the app’s screen does not hang or freeze.

7. Play a video or bring your app to the foreground and leave the device unattended until it auto locks or goes to sleep. Unlock the device and check the app is where you have left.

8. Use your app when the battery is nearing the low battery threshold. You will be able to ensure that the mobile app does not crash or freeze once you have taken action on the low battery alert.

9. Test how your app reacts while downloading a large file in the background.

10. Update the app to the new version by clicking on the update available alert to see if it crashes.

11. Your app shouldn’t crash or freeze when it tries to access a corrupted file from the storage.

Testing under different Network Conditions

Did you know that 20% of mobile apps crash due to network issues? The root cause of such an issue is testing the mobile app under optimal conditions and not considering the real-world conditions. In order to ensure your mobile app’s stability, you need to test how your app adapts to the different network conditions.

1. Switch to Airplane mode while uploading a file or when your app screen is loading.

2. Change the network from 4G to 3G and vice versa to check how your app handles the change in the network.

3. Change the network when a video is being played.

4. Switch from WiFi to Mobile Data and vice versa to see how the app is impacted.

5. Change the Data connection between SIMs(SIM 1 to SIM2 and vice versa) while using your app.

6. Turn off your Data connection or WiFi while using your app to ensure it doesn’t crash or freeze as the offline functionalities shouldn’t be affected.

7. Check your app behavior when it enters or exits a Dead zone. Dead zones are usually areas where mobile phone services are not available. (Scenario for Real device testing)

8. Your app might not face any issues while downloading large files when the data connection is strong. But it should also be able to download even when the network isn’t that strong.

Check Battery Usage & Resource Utilisation

No end-user will like an app that drains their battery or uses too much of their device’s resources. So ensuring that your mobile app performs efficiently with limited resources is important. But testing such parameters using emulators and simulators is not possible. Being a top mobile app testing company, we overcome this challenge by using real devices for mobile app testing. We will be exploring the various tools that will be coming in handy for this purpose. But first, let’s take a look at the different test scenarios that will help you identify battery drain and resource management issues.

1. Test the app with low network bandwidth as it will be helpful in inspecting if there is any rapid battery drain.

2. Open and keep your competitor apps active in the background while you open or use other apps to see how the phone shares its resource between all the apps. For example, Online traders are known to use multiple trading apps simultaneously. So if your mobile app is for trading, it should be able to withstand extreme CPU load conditions when other competitor trading apps are active and open.

3. Go to any screen which supports infinite scrolling and scroll for some time to check how the app utilizes the device’s resources.

4. If you’re testing a camera app, then open the other camera apps and keep them running in the background to switch between those apps when the camera is active.

5. Check how much battery, RAM, and data your app (uptime usage) consumes when used as a typical end-user for both the foreground and background scenarios.

6. Try to download files using your mobile app when your phone does not have enough memory to accommodate them.

7. Compare battery usage after removing the cached files.

8. Monitor battery usage when your app calculates the device’s location.

9. Ensure that your app responds to the device’s battery saver mode in a way that avoids using the limited power unnecessarily.

10. If your app prefers to do power-intensive tasks once the phone battery is sufficiently charged, check whether those tasks are invoked when the battery is fully or sufficiently charged.

11. If a mobile app reads data from a sensor even when the app no longer needs the sensor data or when it is in the background, the phone battery will be consumed unnecessarily. So ensure your app does not use sensors when they are not in use.

12. Ensure that any third-party libraries used in your app don’t waste resources or perform any actions more often than needed.

Usability

Sometimes, a mobile app might have all the features an end-user might need. But if the usability of all those very useful features is low, the end-users will have a bad user experience. So let’s explore the various test scenarios that will be instrumental in ensuring that the best user experience is delivered without any exceptions.

1. Autofill is such a useful feature that will positively impact the user experience. So ensure that the users are able to input any forms quickly using the autofill suggestions.

2. Check if the buttons are large enough to click.

3. Provide enough spaces between the menus and buttons to avoid accidental clicks.

4. Test if all the buttons or clickable elements are responsive as the users will be annoyed if nothing happens after clicking a button.

5. Ensure your app does not have deep navigation.

6. If a user has provided any wrong inputs, ensure your app highlights the errors and performs a horizontal shake to alert the user.

7. Ensure the search term is still displayed even after showing the results.

8. The order and position of the buttons and text boxes ensure a seamless flow for the end-user.

9. Check if the menu icons are displayed with labels.

10. Since most users operate their smartphone using just their thumb finger, test your mobile app using only one finger to see how convenient it is.

Content

1. If your app has a news feed or has similar social media functionalities, ensure that the latest content is shown in the feeds and that appropriate alerts are sent to the user when the app remains unused for a while.

2. Make sure to not overstuff the content in both your mobile app screen and in your app’s notifications as readability is very important.

3. Ensure that the font style, color schemes, and styles are uniform across the entire mobile app.

Gestures

1. Ensure that the gestures are easy to reproduce as they shouldn’t confuse your users.

2. Most mobile users are familiar with known gestures like Tap, Double Tap, Swipe, Slide, Drag, Flick, Long press, Pinch, & Rotate. So prefer commonly known and used gestures are instead of custom gestures.

3. Check if your app works smoothly when you press multiple touch points simultaneously.

4. Now that gestures like side screen swipes and bottom screen swipes have been introduced to replace the back, home, and recent apps buttons in Android devices, it is important that your app’s navigation or features are not impacted by it.

For example, if your app has a crop feature, then keeping the crop lines at the corners can trigger the side screen swipe and close the app instead of cropping the image.

Permission

With such a majority of the world’s population using smartphones, the need for privacy and awareness surrounding it has been on the rise. The end-users are ever more concerned about their privacy and data. So as a rule of thumb, make sure you don’t request device permissions that you do not need for your app. Apart from the privacy concerns, the dependencies that are created can also be avoided.

1. If your mobile app requires location data to function, grant the location permission and close the app. Revoke the location permission and relaunch the app to see how it functions.

2. Likewise, revoke the contact access permission and relaunch the app to see how it responds.

3. Clear the app data and check how your mobile app to see its impact.

Performance

Nobody likes to use a slow mobile app that can’t keep pace with the fast-moving world. So any mobile app that doesn’t go through performance testing will most probably get lost in the competition. Here’s the checklist of test cases to follow.

1. If your mobile app uses a contact list, import a huge list and check how your app handles it.

2. Ensure your mobile app does not crash when launched multiple times in a row.

3. Load the server with simulated traffic and perform functional testing to observe how the app works with peak load.

4. Compare screen loading times with an older device.

Accessibility for Mobile Apps

With the exception of a few, almost every adult uses a smartphone. A report from the CDC states that 1 in every 4 adult Americans suffers from some form of disability. Smartphones and mobile apps have become a basic necessity in today’s technological world as it is an integral part of our day-to-day life. So let’s explore the various accessibility-based test scenarios for both Android and iOS mobile apps.

Android

1. Ensure the buttons are keyboard operable and that they show keyboard focus visibility.

2. Validate if the buttons convey their accessible name, role, value, and state to TalkBack users.

3. Check if the links are meaningful and have a purpose.

4. Ensure the progress bars conveys their accessible name, role, and current value to TalkBack users.

5. The appearance of progress spinners must be conveyed to TalkBack users either via focus management or screen reader announcements

6. Verify if the SeekBar sliders have TextView labels connected using the android:labelFor.

7. Check whether the Switch controls have the ‘android:text’ labels spoken to TalkBack users.

8. Test to see if the dynamic content changes are notified to Talkback users through spoken accessibility announcements or focus management.

9. Ensure that your user login session does not timeout without providing any accessible timeout warning or a session extension method.

10. Verify whether alerts are conveyed through TalkBack or grab users attention

11. Validate if the Modal dialogs capture the focus of the screen reader and trap the keyboard.

12. Ensure the Accordion components announce their accessible names of both the expanded and collapsed states.

13. Check if the autocomplete suggestions are announced to the users when they appear. Also, validate if they are operable for TalkBack and Keyboard-only users

14. Make sure there is a way to stop the Carousel’s movement.

15. Ensure the current rating value has an accessible name and that the value is conveyed to the end-user as well.

16. Verify if the sorted state of a sortable table column headers is conveyed to the users.

17. Ensure the state of the toggle button is conveyed to the end-user.

18. The label text should be visible to the end-user at all times.

19. Check whether the groups of related inputs convey their group legend text to TalkBack users.

20. Ensure that the native date picker controls are used over plain text inputs or custom date picker controls.

21. Validate if the radio buttons convey their individual label, group legend, and checked state to the end-users.

22. Check if the Select dropdown controls have an associated visible text label.

23. Make sure the form validation error messages are conveyed to the user when the errors are displayed or when a user is focused on invalid inputs.

24. Check if the data tables are in logical reading order and if the data cells are conveying their row and column header text to TalkBack users.

25. Videos should include closed captions for the deaf and ‘hard of hearing’ users.

26. Likewise, the videos must also have audio descriptions or separate audio-described versions for users who have vision disabilities.

27. If you have used any decorative or redundant images, make sure that such images don’t have any alternative text equivalents as they should be hidden from the screen readers.

iOS

1. Check if the click or touch target size is large enough without having to zoom in.

2. Make sure that the touch targets don’t overlap.

3. Even if there are any compact touch targets, ensure they are not placed adjacent to each other.

4. If the active elements have the same target, make sure those elements are grouped into a one-touch target.

5. Ensure that the application doesn’t rely on kinetic motion (detected by the accelerometer) alone.

6. Even if there are any motion-sensitive features, verify if they can be disabled by the users.

7. Check if the application is fully or heavily reliant on voice control alone.

8. Likewise, the mobile app shouldn’t be too reliant on gestures alone too.

9. Check if the movement of the physical device causes any non-essential visual motion or animations like parallax effects.

10. Validate if the users are able to disable any non-essential motion-sensitive visual effects.

11. Make sure that the content doesn’t flash more than thrice every second. It can be allowed if the flashing content is very small or if the contrast of the flashes doesn’t violate the general flash thresholds.

12. Verify if the alternative text is available for custom emojis in custom keyboards.

Knowing when a mobile app is ready for release is very essential when it comes to successful app deployment. That is we had decided to create a categorized mobile app testing checklist as it would be helpful to concentrate on real-world concerns such as app interruptions, resource utilization, usability, and so on. But there is more to mobile app testing than following this mobile app testing checklist. A mobile app testing company must be able to render effective app testing services to the client irrespective of the varying needs. So the mobile app testing company should have strong automation capabilities, follow the best mobile app testing practices, and be familiar with the important tools.

Leave a Comment