Tuesday, July 29, 2014

Need for Emulators

Mobile apps and mobile internet usage is growing exponentially. As more and more companies roll out mobile business-critical applications, such as mobile banking, commerce or health apps. Accordingly, companies require mature mobile testing solutions that allow them to deploy and support their mobile application development in a timely and cost-effective manner, while reducing their risk exposure.
Emulators are virtual mobile device that runs on your computer and it helps you develop and test applications without using a physical device.
Emulators are available and are widely used for both manual and automated mobile application testing. They are powerful tools for developing mobile applications; they have 
unique features which enable them to provide a rich set of development tools as well as an integrated debugging environment and in most cases are available for free from the vendors.
Emulators are broadly divided into OS Emulators like Android sdk , Device Emulators and Browser emulators.

  • OS Emulators: These are emulators which are provided by the operating system providers like Windows Mobile emulators by Microsoft and emulator for Android by Google. These can help you in testing your mobile applications and mobile.
  • Browser Emulators: These are the emulators (user agents) which comes in chrome and safari browser by default & as a plugin for Firefox and IE cab simulate mobile browser environments. They are useful verifying the functionality available in a particular mobile browser on that particular device, helpful in mobile website testing and you cannot test mobile applications (native & Hybrid) on it.
  • Device emulators: These are generally provided by device manufacturers and simulate the actual device. They are really helpful for testing on that particular device. 

Benefits of Emulators:
  • The most obvious advantage is price. In most cases, mobile emulators are completely free. All you need to do is download the software, install on your PC, and you're ready to go.
  • There are specific situations where the deadline to produce text execution results are short and purchasing the required mobile devices may be not possible. Thereby it might be necessary to use the emulator/simulator in these circumstances for testing the relevant mobile applications which need to be tested
  • The emulator is usually part of the SDK provided to developers. Due to their integration with the development environment, mobile emulators provide the developer or tester with access to detailed information such as debugging information which is very important for the development phase. This allows for convenient step-by-step debugging of your application on the emulator.
Limitations of Emulators:
  • Emulators are slow in comparison to real devices.
  • Emulators are not reliable as it cannot emulate the actual device behaviour of real devices as it uses the memory and processors of the computer on which they are installed which are generally powerful in comparison of real devices.
  • You cannot test low battery, battery removal scenarios on emulators.
  • Real time interruptions from call and SMS cannot be tested on emulators.
  • You cannot test network specific behaviours like how application behaves on 2G, 3G, Wifi networks.
  • You cannot test the emulators on the move.
  • You cannot test the camera features on emulators
  • The emulator cannot properly emulate the exact colour display of the devices when the real device is in sunlight or in black
In order to ensure high quality with respect to network issues, location-based services and true user experience, it is recommended to test application on both emulators and real devices. 

No comments:

Post a Comment