alphaspirit - Fotolia

Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Why mobile application emulator choices for test and QA can be tricky

Listen to this podcast

Using mobile app emulators is a handy way to see how the code is performing within the context of the app. The trick is choosing the right tool, according to a developer advocate.

While some mobile application developers today choose physical device testing over using a mobile application emulator, the latter is still a viable and widely used way to see how the code is performing within the context of the app. The trick is choosing the right tool, said Jen Looper, developer advocate for Progress, in this podcast interview. Another trick is knowing what can go wrong when using a mobile application emulator, especially when weighing them against simulators.

Understanding how to leverage the benefits of mobile application emulators and simulators in mobile application development can be a "sticky business," Looper said. She described differences between iOS and Android mobile application emulator tools, as well as device-related issues in local testing, helpful plug-ins for emulators and more. She also talked about problems she's had with Android mobile application emulators.

Jen LooperJen Looper

Before joining Progress, Looper was a mobile and web developer for World Singles and lead developer for and other companies. She was the founder of Ladeez First Media, a developer of educational and fitness-oriented mobile apps.

What is a mobile application emulator?

Jen Looper: The word emulator was actually coined by IBM in 1963. It's a virtual machine. And it's a version of an OS that's compiled for the desktop CPU. So, for an Android emulator, it's going to be a copy of an Android device. And for iOS, it's as close a copy as we can get to an iPhone with that machinery displayed on your local computer. So, what you're trying to do [with an emulator] is get as close as possible to the experience that you're going to have, you know, in your hand on your iPhone or on your Android device.

What's tricky about working with a mobile application emulator?

Always remember: Test on the device -- early and often.
Jen Looperdeveloper advocate, Telerik

Looper: When you're working on your local computer, you're never going to actually get 100% parity of the work that you're doing on your local computer versus what you can do on a device. For example, on your iOS emulator, you're never going to be able to just, like, take a picture, because it doesn't have the capabilities that your device actually will. So, you just need to keep these limitations in mind as you're developing locally. Always remember: Test on the device -- early and often. That's always my advice.

Why are some mobile application emulators better than others?

Looper: There's an interesting history of the way that various entities decided to create their emulators. So, on iOS, that's a little bit of a closed garden. So, you have iOS, which is expecting that you're using X code when you're building a native app or something approximating a native app. And the emulator or simulator, as they called it, is bundled into X code. So, you're always going to be leveraging that iOS simulator. And what it is, basically, is a Mac app. And it's pretty close to what an iPhone can do, with the exception that it doesn't have some of the hardware capabilities.

Now, for some reason, with Android, it's kind of interesting, because what they decided to do is build a true mobile app emulator. And they built exactly the same capabilities, including the hardware capabilities, within the emulator and running on your local computer. So, it is basically an ARM processor built with a particular version of software.

The [Android mobile application emulator] is slow as molasses in January for that reason, because they kind of went all in and said, 'We're going to just recreate an Android using software on a local machine.' [Like,] take a picture with your Android emulator. That's great except that it takes 20 minutes to open sometimes. So, this emulator is really slow in its earlier manifestations.

Next Steps

Why emulators cannot test everything

How cloud services expand mobile app testing options

Mobile-backend-as-a-service providers make mobile app development easier