“It works on my machine.”
It is probably the most frequent comment a software tester will hear from a developer upon reporting a bug. An expected reply from a tester would be, “Then back up your system. We need to deliver it to our customers, because our product is only working on your system.”
We all know that software isn’t bug free and never will be. However, software testers should use their testing skills and techniques to find as many issue as possible. Especially with mobile testing, software testers need a variety of techniques to identify issues in different environments and scenarios before the customer will find them. The following guide on mobile testing techniques is a great starting point for QA members and testers.
Interrupt Testing: Identify the Frustrating
Interruptions are rarely welcomed in everyday life, but even more so in the mobile world. However, they can be necessary when they draw our attention to something important.
For example, push notifications on a mobile device not only inform users about updated content, but most of them offer actions like reply or delay. Therefore users can stay on top of their mobile activities and respond easily to everything that pops up.
On the flipside, mobile notifications can potentially cause a disturbance if they kill the rhythm while listening to music, distract from tasks in another app, or slow down the overall device performance. With an average of 50-80 interruptions per day from push notifications, it can become overwhelming for users. The so-called interrupt testing approach takes into account the disturbances caused by interruptions and suggests practical solutions to keep the mobile experience smooth.
When executing interrupt testing, a mobile tester must generate every different notification type from the app on a real device to confirm that the actions and deep links are working. However, a mobile tester should also test how the own app handles interruptions from outside the app context. That may mean another push notification sent from an app or an incoming phone call while the app under test is active. Interrupts can also be driven by a phone’s hardware. For example, pressing the volume buttons is an interruption to the system and may affect the app.
While performing interrupt testing a tester must keep an eye out for UI problems, app crashes, or possible performance issues. Checking these aspects can help to circumvent interruptions and find ways to keep user experience seamless.
Input Testing: Imitate Real-World Scenarios
While testing a mobile app, a mobile tester must perform a variety of actions on their device’s touchscreen. These actions are typically anything from entering data into input fields to scrolling through lists and tapping on buttons. However, smartphones offer plenty of additional input types to keep in mind and to perform during the testing phase.
Next to the default one-finger input, modern touchscreens are able to process multi-finger inputs. There are two-, three-, and even four-finger gestures that perform actions like zooming in, zooming out, or rotating the content of the screen. Mobile testers must know the different input gestures from the mobile platforms as well as which gestures are supported by the app and features inside.
During the testing of the gesture inputs it’s really helpful to change the speed of the inputs with the fingers. For example, try double-tapping the screen using one or more fingers or even both hands to see how the app reacts. Maybe the app can’t process this and might crash.
Any app that can process sound and voice should be tested in real-world scenarios. These could might be in the office, on the street, on a train, or even in really quiet environments. The goal is ultimately to see if the app can process inputs correctly with external noise.
Depending on the customer target base, the voice level might also be interesting to look for. For example, if the app is for kids, you should test the voice input with a real kid voice, because they are different compared to adult voices.
Depending on the feature set of the tested app, a device’s sensors might have an impact on the testing. Modern mobile devices are packed with different sensors to collect data from the environment around. The following list of sensors can be part of the device.
- Ambient light sensor
- Proximity sensor
- Acceleration sensor
- Magnetic sensor
- Pressure sensor
- Temperature sensor
- Humidity sensor
Mobile testers must know the sensors installed in the phone and which app features rely on sensor data. And again, these sensors must be tested in various environments to see their effect on the app. For example, if the app is using movement data, a possible test scenario might include running and slowing down to see how the app reacts on the change of movement speed.
But Wait, There’s More!
We’ve only begun to scratch the surface of mobile testing techniques available to testers everywhere. There are plenty more mobile testing techniques that a mobile tester should know. The following are additional techniques that should be performed during the development and testing phase:
- 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.
Ultimately, every tester should want to develop a well-rounded skill set. With that said, it takes time, patience, and a lot of practice to get to that point. Find a good starting point with the three aforementioned testing techniques. In the end, there is no room for compromise when it comes to delivering high-quality digital products.