In contrast to a physical device, a virtual testing device is a piece of computer software that simulates most of the key elements of a genuine smartphone. Because it closely resembles a smartphone, testers can use it to test software applications and gain a sense of how they will function on the chosen real device.
Although virtual testing devices can replicate genuine devices and are economical, real devices cannot be replaced because of accuracy and reliability issues.
Virtual testing tools come in two varieties:
Testing on physical devices is the best you can do when you need to test hardware features such as the camera or GPS.
However, virtual devices have their benefits too:
The difference is quite theoretical and is not really relevant for testing. However, it’s good to know is that the standard virtual device for Android is an emulator, whereas the standard virtual device for iOS is often referred to as “Simulator”.
On a more theoretical subject:
Binary translation makes emulators slower due to latency. Simulators are faster as there is no binary translation.
The easiest way to get this done is to download Android Studio and then use it to download, configure and launch your AVDs (=”Android Virtual Device”). If you want to save disk-space, or you prefer to use the command line, there is also another (slightly more complicated) way to install emulators without Android Studio.
The easiest way to create your virtual device however is this:
If you run into issues: Please consult the original documentation on managing AVDs.
Be aware: iOS Simulators are only available for Mac OS users. Why? Because Xcode is only available for Mac OS.
For performance testing processing, graphics, or networking, tests must be run on actual hardware: Simulator is a Mac application that utilizes the CPU, memory, and network connection of the desktop machine. The performance, memory use, and networking speed of an iOS app can therefore not be accurately tested using the simulator. Results from Simulator performance testing should only be used to compare relative variations in app functionality.
When results from the real world are needed, user testing should be conducted on actual hardware
Test automation on physical iOS devices is much more limited than on the Simulator. This is due to the security constraints implemented by Apple. A variety of things such as clicking system dialogs is simply not possible on physical iOS devices. That’s why on iOS we strongly suggest using the Simulator to automate your app.
The following hardware is not supported in Simulator: