If you’re a mobile app tester, you know that testing mobile apps is complicated. There’s a long checklist to keep track of, like considering the effects of various OS versions, design requirements on various device sizes, comparing the differences between Android and iOS – the list goes on and on.
Most companies have a scalable testing strategy, however, I’ve noticed a very important shortcoming that is often left forgotten – the environment in which we test. Mobile testers think testing is coherent simply by matching the test cases and installing a fresh app for each case, however, we are forgetting how the app would be used in everyday life. In my experience, nothing is more valuable than taking the time to go outside and use the app as a user would.
To make sure your app can handle anything in a real-world use case, there are quite a few questions you should be asking yourself while testing. Questions like ‘What is going to happen to the state of the app if the user gets a phone call?’, and ‘What if the user accidentally left the app open on the map screen overnight?’ are just the tip of the iceberg. To ensure that your application can truly handle any real-life scenarios, your team must start with goals and a purpose to track.
Read on for effective methods I make sure to highlight in my QA testing sessions:
What happens to the app when the network connection is compromised? Test cases to try:
- Turn off Wi-Fi
- Have the device only run on LTE/3G/4G
- No Wi-Fi and no network connection
- Location Services Disabled
What happens to the state of the app when it is interrupted by other applications? Disruptions to try:
- Receiving phone calls
- Receiving text message
- Receiving push notifications from other apps
- Facebook messenger sticky on Android
- Alarm Clock / Full-screen interruptions
- Open Siri/Bixby/Google Assistance/Mobile Device’s virtual assistant
What happens to the app when the user forgets to turn it off? Test cases to try:
- Put device to sleep and reopen the app
- Background app, open another app, then reopen your app
- Leave device untouched for (especially for things where the app uses a camera or map)
- 10 minutes
- 1 hour
What if the user is using biometrics on the app? If an app requires biometrics for accessing secure data, ensure to test the following:
- Touch ID
- Face ID
- Toggle biometrics on and off, see how the app handles it
- Test on a device that does not have biometrics
- Attempt to access data with invalid biometrics, find the limit to how many times a user can get it wrong
Testing these everyday scenarios is crucial to prevent bugs from making their way to your users. Go on a walk with your testing. Literally. Take your testing outside, you might be surprised by scenarios that were missed in development. These methods for mobile app testing will ensure that your application can handle anything that real-world users throw at it. Leave us a comment and share what you think!
Reach out to us if you’d like to talk about how we can help enable your QA and development strategies to test mobile apps faster and more efficiently.
Jay Soumphontphakdy is a Cross-Platform Mobile App developer who enjoys working in a transdisciplinary manner— collaborating and wearing hats between roles for design, development, and QA. He is dedicated to continuing his education to create high-quality user-friendly applications, recently becoming an ICAgile Certified Professional in Agile Testing and Test Automation.