Test devices
Choosing the right testing device
Section titled “Choosing the right testing device”Each device type has its own advantages and disadvantages. You should pick the testing device type based on your needs.
Some examples:
• A big team of testers might want to go for cloud devices, since exchanging physical devices can be difficult.
• For apps that are very hardware dependent, you might want to test on a physical device.
• For performance testing you might want to choose an emulator or simulator, since they allow a realtime connection and easy system analysis.
| Android | iOS | |
|---|---|---|
| Physical device | + fast execution + unlimited execution minutes + simple setup | + fast execution + unlimited execution minutes - iOS connector needs to be integrated into your app - IDB needs to be installed on your system - resetting app data does not work - auto-accepting permissions does not work |
| Simulator | + easy to use within a team + unlimited execution minutes - needs to be setup on your local system | + easy to use within a team + unlimited execution minutes - iOS connector needs to be integrated into your app |
| Cloud device BETA | + very easy setup + very easy to use within a team - slow execution - limited testing minutes - adb or idb commands can’t be executed |
What is a Virtual Test Device?
Section titled “What is a Virtual Test Device?”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:
- Emulators
- Simulators
Why Should I Use a Virtual Device for Testing?
Section titled “Why Should I Use a Virtual Device for Testing?”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:
-
No cables, plugging, unplugging, and issues with empty batteries
-
Easier to bring them along, no extra weight
-
Much cheaper
-
Best for running test automation: If you are planning to run your tests in the cloud, it’s best to use the same device locally AND remotely.
Since usually, you don’t have access to physical devices in the cloud (unless you run your own server with plugged real devices), it’s best to also create your tests via a virtual device.
What is the Difference Between an Emulator and a Simulator?
Section titled “What is the Difference Between an Emulator and a Simulator?”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.
How to Install an Android Emulator on My Machine?
Section titled “How to Install an Android Emulator on My Machine?”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:
- Download Android Studio
- Start it
- There is no need to create a new project. You can use start the AVD-Manager directly:
4. Create virtual devices by clicking on “Create device”
5. Launch emulator by clicking on the green “play icon” in the respective row
6. Repeato will automatically detect the emulator (as soon as it’s started) and list it as available testing device
If you run into issues: Please consult the original documentation on managing AVDs.
How to Install an iOS Simulator on My Machine?
Section titled “How to Install an iOS Simulator on My Machine?”Be aware: iOS Simulators are only available for Mac OS users. Why? Because Xcode is only available for Mac OS.
- Install Xcode:
Search for Xcode in the Mac App Store, then click Install (or update if you have it already). Your operating system may be out of date if you are unable to upgrade. To be on the save side it’s best to install the most recent version of your operating system, followed by an update to Xcode. 2. Install command line tools:
Start Xcode, then choose Preferences… from the Xcode menu (or press Cmd ⌘ + ”,”). Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown. 3. **Start the simulator:**Even without opening the source code of your app, it’s simple to start the Simulator via Xcode:

What Are the Differences Between Real Devices and iOS Simulators When it Comes to Testing?
Section titled “What Are the Differences Between Real Devices and iOS Simulators When it Comes to Testing?”Performance testing on simulators:
Section titled “Performance testing on simulators:”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 simulators:
Section titled “Test automation on simulators:”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.
User experience testing on simulators:
Section titled “User experience testing on simulators:”- When utilizing a pointer and keyboard, users interact differently than when using their fingers on iOS, watchOS, or tvOS, or when using the focus-based model.
- Simulator suspends background apps and processes on iOS 11 and later, tvOS 11 and later, and watchOS 4 and later, however the suspended process can be resumed by the debugger.
Testing of graphics and UI on simulators:
Section titled “Testing of graphics and UI on simulators:”- There may be a difference between the device’s and the Mac’s resolution, or pixels per point. Font and images as a result, particularly with smaller text, can appear jagged.
- Text and graphics may appear crisper when the simulator window is scaled up.
- The Mac screen’s color gamut can vary, which can lead to incorrect colors.
Testing of hardware-specific features:
Section titled “Testing of hardware-specific features:”The following hardware is not supported in Simulator:
- Ambient light sensor
- Audio input, except for using Siri by choosing Hardware > Siri.
- Barometer
- Bluetooth
- Camera
- Motion support (accelerometer and gyroscope)
- Proximity sensor