“How is this even possible?” or “Why did I miss this issue?” a mobile tester may ask himself while reading a bad review or feedback in an app store right after the app was released.
We all know that software isn’t bug-free and never will be, but the feeling of missing an issue is never nice. However, if you are testing mobile apps, your life will not become easier. The amount of potential topics to cover during your mobile testing activities is almost endless 🤯
Mobile testers need a variety of techniques to identify issues in different environments and scenarios before the customer will find them. The following points in this article on mobile testing techniques are a great starting point for QA members and testers.
Hardware Specific Testing: Device Fragmentation
When you ask mobile testers what is the biggest challenge to tackle in mobile testing, Most of them will probably answer device fragmentation. And they are right, the device fragmentation is one of the most significant issues for mobile testers to solve.
This is not an Android-only challenge anymore. The same applies to iOS devices, too. The easiest way to handle device fragmentation is to gather data about your target customers 📈
When you know who is using your product on which device, it’s easy to focus on the used phones only. To get these insights, I recommend you to talk to product managers- they usually have the data from the implemented tracking of your product.
If you are developing a new product, ask your marketing department if they already conducted market research to get more insights about the user. Once you know the target audience, check which devices they are using.
What are the most used devices among your customers? Based on this knowledge, create a list of the most used devices. If possible, try to group devices that have the same or similar specifications and add a priority to each group.
Let’s say you have 3 groups: A, B, and C. Now add the devices to each group based on the usage and priority. The grouping of devices will help you to focus on the most important devices within your customer base.
Mobile Data Networks: Testing in the Wild
Another challenge to tackle is to test and check your mobile application in different mobile data networks. It’s not recommended to test the app only in a lab situation in a strong wifi network 📶
Depending on the app use case and scenarios, your product might be used in totally different environments. The majority of mobile users use mobile apps while they are on the move.
For example, they want to book a train ticket when they are standing on the track or they want to start a sports activity while they are outside in nature.
The different environments as well as the different mobile data networks have a huge impact on the app under test. Therefore, it’s crucial to test not only in wifi connections but also in 5G, 4G, 3G, or even slower network connections like EDGE.
It’s also recommended to test the app in airplane mode when there is no communication possible from the device to any mobile data network. While performing your testing in the different mobile data networks, watch out for the following:
- Error messages due to slower connection
- App crashes
- Corrupt data
An easy way to simulate the different mobile data networks is to use a proxy tool to intercept the mobile data traffic 🚦 The proxy tools are able to throttle the communication between the mobile app and the backend.
App Update Testing: Simulating the App Stores
Before submitting the app to an app store, it’s recommended to perform an app update test. With this mobile testing technique, you simulate the update process with the app stores and make sure that the release candidate of the app is not affecting the currently installed app version on customer devices.
The app update step can be done very easily for Android and iOS. On Android, you can use the command-line tool ADB (android debug bridge) to perform the app update. The following command will do the trick for you:
adb install -r YOUR.APP
The parameter -r tells ADB to overwrite the existing app with the one mentioned after the -r. With that ADB will perform the app update.
On iOS, you can use XCode to install the new version over an existing one. Apple does not provide a tool like ADB to easily perform the app update test, which I think is a drawback for developers and testers.
As you can see, performing an app update test is fairly easy and will protect you from issues that may occur right after the app got updated from the app store 💪 Potential issues to cover with app update testing are:
- Users will stay logged in after the app’s update
- The local database will not be changed. The user data is safe
- Potential app crashes related to the app update can be found earlier
But Wait, There’s More!
The mobile testing techniques mentioned in this article are just a little tiny part of the things that you as a mobile tester can perform on the app under test.
There are many more things to think about and include in your development and testing phases. Here is a short overview of topics you should think about:
- Interrupt testing
- Hardware specific testing
- Installation & update testing
- Standby testing
- Battery usage testing
- Local storage testing
- Beta testing
- Testing tours
To remember the mobile testing techniques take a look at this mobile testing cheat sheet. The mobile testing cheat sheet contains various areas that are really important in order to submit a high-quality app to your customers ✅