Testing on Real Devices — Just an Option or a Necessity?
The COVID-19 pandemic has significantly impacted our habits and behavior in favor of mobile app usage, especially for work. According to TechCrunch, in 2021, the number of business application downloads more than doubled the pre-pandemic rates, growing by 102%. This trend is still accelerating, which means that most software products have to be optimized for mobile devices to meet the needs of a modern user.
From the QA point of view, there are two ways to check the performance of a mobile application and the quality of its interaction with the end-user — either testing it with the help of real devices or virtual ones. In this article, we will discuss the differences between these two methods and examine the cases when manual checks on real devices should definitely be included in the mobile testing strategy. So, let’s start with the basics.
Testing on Virtual Devices
What does it mean?
Virtual devices are set up to create necessary testing conditions and check how the software will operate in a specified environment without using an actual gadget. They can reproduce the work of devices, browsers, or operational systems. Such tools fall into two categories — emulators and simulators.
Emulators mimic the hardware and software configuration of a target device on a tester’s computer and help to identify whether the final goal of using a certain solution can be achieved. Simulators, on the other hand, reproduce the functioning of a software product built for another OS but can’t replicate hardware. To better illustrate the difference between these two types of virtual testing devices, we can use an example of modeling a car ride. A car simulator would mimic the mechanics of a vehicle and the surrounding environment with the help of a computer-generated program (like they do for training pilots or astronauts). An emulator of a car would actually give you the opportunity to reach your destination with the impression that you were taken there by a car.
When to use virtual devices for mobile testing?
It is best to perform checks on emulators and simulators early in the development cycle, when you don’t need the accurate representation of interactions between the user and a mobile app, but rather want to see a general picture and test the product on a local machine. Virtual devices are also perfect for unit testing, when QA engineers verify isolated parts of code.
Testing on Real Devices
According to research by AppsFlyer, around 50% of mobile apps are uninstalled within the first 30 days. Unsatisfactory performance is one of the crucial aspects here. Verification of mobile software on physical devices allows developers to not only recreate the target environment with all its specifications but also obtain accurate user feedback on the accessibility and usability of a product. App crashes and critical defects are definitely a huge issue, yet sometimes it is all about inconvenience.
While testing a solution manually on a real mobile device, QA engineers often find unexpected problems, which could never be detected by a virtual tool. One of the brightest examples of such defects are interface elements that are situated in the wrong place on a screen or touch targets that are not finger-friendly. How long will you be able to continue using an app if you can’t reach a button without using a second hand? Or if you can’t manage to tap a clickable element because it’s too small for your finger? All this leads us to particular cases when checking a product on real devices is absolutely necessary.
#1 Performance defects related to the target device or the environment
In this category of tests, QA engineers check what happens with the mobile application under an unstable network connection and how it affects its speed.
#2 Compatibility issues
If there are troubles with the app operating on a particular device, compatibility testing on a real gadget will allow you to quickly detect the cause of malfunctioning.
#3 Fast replication of bug reports and instant feedback
To accurately replicate a user bug report with the help of virtual devices, it is necessary to set up a testing framework, indicate requirements for a particular test case, create test scenarios, and only then run the test. Using a real device enables you to follow the steps of a bug report quickly and get immediate results.
#4 UX/UI testing
These types of software checks also lead to informative outcomes only by verifying mobile apps on physical gadgets. Here QA engineers check whether an application and its interface elements are user-friendly and accessible. For instance, they perform different navigation gestures (scrolling up and down, zooming, pressing a button, etc.) and provide feedback on how easy it is to fulfill user goals with the software. Experienced specialists will not only estimate the usability of a mobile app, but also provide the development team with practical ways to improve UX/UI interactions.
#5 Battery and memory-related issues
With the help of real devices, testers can look at different battery scenarios, like what will happen when it is overheated or whether the application leads to this issue. In terms of storage capacity, actual gadgets are also more fitting for testing, since the memory on them is much more limited than while using virtual tools.
#6 Checking a product while other apps are running
There are so many scenarios to test here, as usually there is more than one application functioning on a smartphone or a tab. This way, manual testing on physical devices allows to find out what will happen to an app if someone calls a user while the software is running, or if a notification from another application pops up.
And the winner is…
To release a mobile application that will satisfy the users and stay on their gadgets for a long time, it is important to come up with a smart and customized testing strategy that will include both testing on virtual devices and on real ones. Checking software on actual gadgets shouldn’t be considered an optional addition to virtual testing tools. This method is the best way to ensure that an end-user of an application will not be the one to find a critical bug, which helps to avoid reputational losses and high uninstall rates.
However, owning and restocking a whole device lab made up of at least several dozens of gadgets is rarely a reasonable solution for businesses. This is why QATestLab offers our extensive pool of mobile gadgets, which includes more than 350 devices. Contact us and we will make sure to select the necessary types and versions of devices, browsers, and OS to boost the quality of your application for every user.