The perfect world should have every mobile app tested on all sorts of popular devices. It’s difficult to implement but possible and indeed necessary to accomplish. At the early stage of every QA project, the team should make a choice: run tests on emulators, simulators, or real devices.
Each team has to decide on the strategy to develop and how to base the checks. In this article, we’ll talk about different testing options, and we hope it’ll help you make a choice while checking the quality of your product.
Pros and cons of emulators and simulators
Emulators and simulators are good to grasp the idea of the product quality level at the start of the project. They are also necessary to conduct initial testing in a short time and detect critical defects.
Will emulators and simulators be enough for testing? Unfortunately, not.
Let’s consider their four main drawbacks
- These solutions cannot follow human logic. Consumers use a mobile app on a real smartphone or tablet, but not on an emulator.
- It’s impossible to emulate all characteristics of the phones and provide a real mobile environment when running tests on the emulator (e.g. phone’s overheating, battery level changes, conflict of additional applications running in the background, connection to the charger, wireless charging usage).
- Many user actions cannot be modeled on all emulation systems (GPS, USB sensors, switching between Wi-Fi and mobile internet, etc.).
- Checking on emulators cannot reflect technical features of each smartphone model and cannot consider the real operating system of the device.
Real devices: advantages and disadvantages
At the end of 2017, the total number of licensed mobile apps for Android and iOS had reached 5.5 million. Every month this number increases and seriously affects the competitiveness of the products.
Therefore, companies are interested in releasing apps that run smoothly on the majority of devices preferred by their target audience. Testing on real devices can help with that.
Even if checks on real devices are more resource-intensive and expensive, this testing has its advantages.
- It’s carried out in real conditions. During manual testing, the tester interacts directly with the device and can control the user interface in the same way the real consumer does (scroll, double tap, etc.).
- Such testing recreates the actions that consumers perform while using the app (e.g. hardware interrupts such as SMS, calls, push notifications).
- Payment gateway testing is also impossible to be performed efficiently on emulators. A QA engineer won’t understand whether the money was written off when one has subscribed to the service. The informative results of such a test can only be obtained with the help of a real SIM card.
- Another recent example is related to testing Pokemon Go. A simulator won’t show the location of a Pokemon in a 100.000 crowd. To perform high-level testing of AI games, the tester will have to use a real device.
- The accuracy of rendering up to each pixel can only be fully verified on a real device. It also allows testing the brightness and screen resolution, using different lighting scenarios. This is especially true for game apps.
- When releasing a product for new versions and models of smartphones and tablets, testers primarily use real devices.
The success of the product influences the reputation of the brand and affects the number of downloads, users’ relevance, rating, and reviews. Therefore, before releasing the product, check it for the compliance with all the criteria of app quality.
End users trust the applications that run quickly and without errors. That’s why it’s important to find a balance between emulated testing and testing on real devices.
It goes without saying, it’s very сonvenient when all verification resources are available, and they just need to be scaled to fit your budget and product.
At a1qa, we run a proprietary testing lab with 300+ multiple devices – smartphones, tablets, wearables – that will cover the needs of any project.
Request a free consultation with a1qa experts and find out how we can ensure the quality of your mobile application.