DZone
Mobile Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Mobile Zone > Is There a Need for Emulators If You Have to Test on Actual Devices?

Is There a Need for Emulators If You Have to Test on Actual Devices?

Matt Lacey user avatar by
Matt Lacey
·
Nov. 29, 12 · Mobile Zone · Interview
Like (0)
Save
Tweet
5.69K Views

Join the DZone community and get the full member experience.

Join For Free

This is in response to a comment on my post about the undocumented way I found of creating a xap file you can't deploy to a #wp8 device. 

In that post I claimed that it was important to test on physical devices as well as in the emulator. The comment stated 

"this seems to break the whole "emulator" thing, since it seems that it doesn't properly emulate a physical device!"

Firstly, I'm not aware of anyone ever claiming that an emulator completely does away with the need for testing on real devices. 

I've only heard people claim you MUST test on physical hardware in addition to an emulator/simulator. This goes back many, many years and has always been essential for phones as emulators have never given a complete representation of actual devices. They've gotten a lot better but by their very nature they're not perfect.

This is important:
An emulator (or simulator) emulates (or simulates) a real device. It doesn't claim to give a complete representation of a real device.

What is an emulator actually good for then?

  • Testing quickly
  • Testing multiple devices or configurations and switching between them quickly
  • Automated testing
  • Testing before devices are available.
  • Testing on devices you can't buy (due to financial or location restrictions) - but beware that this means you won't know about the experience of the app on those devices. This may or may not be an issue.
  • Avoiding issues with the number of side-loaded apps installed on an actual device. (Or maybe I just need to keep track of what I side-load better)
  • Testing use in different locations (without needing to create your own mocking layer)
  • Testing use of the accelerometer (without needing to create your own mocking layer)
  • Testing different network conditions (network speed & signal strength) - again without having to create your own mocking layer.
  • Testing app behaviour when reminders are triggered.

What must you test on an actual device?

  • What it's really like to use the app in the hand (your thumb and a mouse pointer are not the same!)
  • What the actual performance is like on actual devices
  • Any functionality that isn't available in the emulator (interruption from incoming phone calls, etc.)
  • That the behaviour of the app on an actual device is the same as the emulator.

This list assumes use of VS2012 for testing Windows Phone (8) apps. For other platforms and emulators/simulators the above lists may vary slightly.

Testing app

Published at DZone with permission of Matt Lacey, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Is DataOps the Future of the Modern Data Stack?
  • Top ALM Tools and Solutions Providers
  • Automation Testing vs. Manual Testing: What's the Difference?
  • Caching Across Layers in Software Architecture

Comments

Mobile Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo