The mobile deploy pipeline is much more complex than a web application, which are often built and tested locally. Instead of local testing, the code needs to be installed on one or more mobile devices. Instruction and tooling will need to be installed in order to run automated tests; this may need to be coordinated across multiple devices. If the “device” is actually in memory on the laptop, plumbing needs to be installed to get the automation to find the virtual device. Of the handful of choices, those local, virtual devices operate the least like the real thing.
Emulators, simulators, and real devices all function slightly differently.
Simulators: Simulators are essentially a virtual machine running on a desktop or laptop. Simulators offer the fastest testing platform, but also the furthest away from what a customer will actually encounter when they use the application. Simulators are typically used in the context of a development cycle.
Emulators: Emulators are either accessed through a web browser or launched from a developer environment on the desktop; their main benefits are scale and availability. A tester can access their emulation environment, select a device type and an operating system, and almost instantly have a running version of a mobile device.
Devices: Using real mobile devices provides benefits not available with emulators and simulators. These devices can be in the cloud, connected through a tool, or an actual physical device in the hand.
Download the white paper to learn more about testing mobile applications with simulators, emulators, and real devices.