Thursday, September 9, 2010

Mobile Application Testing

Types of Mobile Application
  1. WAP Application – These applications are browser based applications & end user can access these applications using WAP/Mobile browser. These applications cannot work in offline mode (Without GPRS connectivity). For example:-
    • m.google.com
    • m.youtube.com
    • cnnmobile.com
  2. Installable Applications – These applications are installable applications and end user can install these applications on their handset and these applications have ability to work in offline mode (Without GPRS connectivity). For Example:-
    • Twitter App
    • Yahoo Go!
    • Messenger Apps
Testing of Mobile Applications:-
We can test mobile applications by using SDKs, Testing Tools and on the real devices. To test Mobile Applications we have various tools available and listed as below:
  1. http://ready.mobi/launch.jsp?locale=en_EN - is tests mobile-readiness using industry best practices & standards. After testing you receive a free report outlining how well your site performs.
  2. http://jigsaw.w3.org/css-validator/ - CSS Validation Tool
  3. dotMobi Emulator – A tool which emulates a real mobile phone Web browser. It’s a bit limited as you can only choose from two different phones you like as a skin.
  4. http://validator.w3.org/mobile/ - Performs various test on a web page for mobile-friendliness.
  5. Firefox For Mobile Testing - Firefox is powered with few add-on using which we can test mobile Web site. To make Firefox imitate a mobile device you need:
    1. The Firefox Web browser
    2. The Modify Headers add-on
    3. The User Agent Switcher add-on
    4. A UA Profile HTTP Header
  6. http://www.testiphone.com/ - This is a web browser based simulator for quickly testing your iPhone web applications. This tool has been so far tested and working using Internet Explorer 7, FireFox 2 and Safari 3.
  7. http://www.genuitec.com/mobile/ - MobiOne iPhone/PalmPre SDK Emulator for Windows. Provide various functionality test on Mobile WAP sites like memory management etc.
  8. Vendor Specific Emulators/SDKs – We can also find vendor specific SDKs and Emulators for mobile application testing. We can download these SDKs from below mention links:-
    1. Android Emulator
    2. iPhone Simulator
    3. BlackBerry simulators
    4. Nokia Emulators
    5. Samsung Emulators
    6. Motorola Emulators
    7. SonyEricsson Emulators
    8. LG Emulators
    9. Windows Mobile Emulators
    10. Palm Emulator
    11. i-mode HTML Simulator
    12. Opera Mobile Emulator
  9. DeviceAnywhere - DeviceAnywhere is a great platform for mobile application testing. It provides us a feature using which we can test mobile application on real device from remote location on any remote network/operator. DeviceAnywhere is trusted and widely accepted testing tool for mobile application. It also provide us automation testing tool for mobile applications. The APIs are build using Java and end user can use for different vendor devices. They have some predefined automation testing scripts and end user can also build their own automation test scripts. During test you can also used device basic feature make a call, receive a call, SMS etc. Nokia, Samsung, SonyEricsson also provide RDA (Remote Device Access) facility in collaboration with DeviceAnywhere. Using DeviceAnywhere we can test our apps on the upcoming handsets in advance, because most of the vendors open access to their upcoming handset using DeviceAnywhere.
  10. Perfectomobile - It’s a similar platform like DeviceAnywhere, but new to market. It also provides same feature as DeviceAnywhere. For more info please visit – Knowledge Center
  11. UISpec - UISpec is a Behavior Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI. It provides us a library that we can use on the MAC OS – Xcode. It’s a opensource project by Google and mostly used to test the UI behavior of an iPhone App.
  12. FoneMonkey – FoneMonkey is a functional testing tool for the iPhone providing for the interactive creation, editing and playback of automation scripts that exercise an application's user interface. Using FoneMonkey, you can create suites of tests that automate performing user operation sequences and verifying results. FoneMonkey is designed to support developer as well as QA testing, and FoneMonkey tests can be easily incorporated into continuous integration environments.