7 June, 2017
Emulators vs Devices
No need to buy smart devices when you can use emulators for all your software testing needs, well so I’ve heard… Today I would like to share some of my own research with you, should we do mobile app testing on real mobile devices, use emulators, or use a combination of both?
Mobile Emulators: Pros
I have found that emulators are suitable for certain types of functional test case executions. There are a wide variety of mobile devices on the market and emulators provide a cost-effective way to provide a variety of options from the client to test their app on from Apple to Samsung, Android and iOS and so on. Considering this wide range of mobile devices, it can be very hard for testing teams to arrange all sorts of mobile devices while working under considerable amount of budget and timeline related constraints.
Price - Mobile emulators are free and provided as part of the software development kit (SDK) with each new OS release.
Simple - Just download the software, install on your PC and you're ready to go. Multiple emulators can be run in a simple and straightforward manner.
Fast – Since emulators are simple client software that runs locally on your PC, they have less latency than real devices connected to the local network or in the cloud.
Cumbersome for development – Emulators are used in the initial development stages, real handsets are harder to connect to IDE than emulators, which can slow down the debugging process.
Mobile Devices: Pros
The main objective of using real mobile devices are that they provide real environment results from user interaction. Due to the non-real environment, i.e. desktop mouse and keyboard of using a emulator results are not always guaranteed to be correctly simulated. Only real mobile devices provide an overall performance from using the app on the device platform, testing real user experience.
No Risk – When using an emulator, you are not testing on the same platform and network that will be used by your users. This means that if all goes well when using the emulator, you cannot be 100% sure the user of the real device will receive the same outcome.
Hardware and Software – Emulators do not reflect the specific hardware and software features of each supported device. In addition, as time passes following an OS version release, the emulators are not updated to reflect new devices available in the market.
Network Environment - In terms of network configuration, mobile emulators run on the PC connected to the LAN to access the Internet. Using real handsets, the network is connected to the radio interface and from there to the Internet. These differences could affect application behaviour.
Differences in Computing Resources – Emulators that are ran on the processing power of the PC, can give the user a false reading to the performance on the emulator may be unrealistically weather good or bad.
True user experience - Testing on real devices is the only way to truly understand the user experience, considering the CPU, memory, screen size, etc. for a given device.
When considering the pros and cons between emulators from using real devices I have found that typically emulators are used during the initial stages of an apps development and later with software testing real devices are used. I have concluded that the use of real world devices are necessary for maintaining strong standards and quality assurance.
By Marc Condy, Test Analyst, Edge Testing
Back to Blog