Custom Search

Mobile Testing: An Overview

Mobile Testing: An Overview


Introduction

Most general software testing principals apply equally well to mobile solutions, although the number of tools available for mobile testing is much smaller, and there are a lot of extra potential problems your users can encounter that you have to test for.Many mobile solutions involve a significant hardware element in addition to the PDA, such as scanners, mobile telephony, GPS and position based devices, telemetry, etc. These extra hardware elements place additional demands on the tester, particularly in terms of isolating a bug to hardware or software.Mobile applications are often intended to be used by people with no technical or IT background, such as meter readers, milkmen, insurance sales people, on devices that have small screens, and either no keyboards or awkward keyboards. Good usability testing, carried out in conjunction with key users, in their own environment, is essential. I have seen a number of hand held projects fail for the reason that the end-user could not come to terms with the technology, even though the application was robust and met the functional spec. Many hand-held operating systems come in even more flavors than their desk top counterparts. I can think of seven flavors of Windows CE alone. Add to this that many enterprise PDA manufactures OEM the operating system, and update it regularly, you start to see the problems testing. Remember also that we don't have our faithful automation tools for regression testing here.

Let's start with some Mobile Testing Basics.

Mobile Testing Basics

Mobile Device Testing is the process to assure the quality of mobile devices, like mobile phone, PDA etc. The testing will be conducted on both hardware and software.

And from the view of different procedures, the testing comprises R&D Testing, Factory Testing and Certificate Testing.

R&D Testing

R&D test is the main test phase for mobile device, and it happens during the developing phase of the mobile devices. It contains hardware testing, software testing, and mechanical testing.

Factory Testing

Factory Testing is a kind of sanity check on mobile devices. It's conducted automatically to verify that there are no defects brought by the manufacturing or assembling.

Certificate Testing

Certificate Testing is the check before a mobile device goes to market. Many institutes or governments require mobile devices to conform it's specifications and protocols to make sure the mobile device will not harm users' health and have the compatibility with devices from other manufactures. Once the mobile device passes the checking, a certificate will be issued to it.

Unique Challenges in Testing

Unlike the PC based environment, the mobile environment is constituted by a plethora of devices with diverse hardware and software configurations and communication intricacies.

This diversity in mobile computing environments presents unique challenges in application development, quality assurance and deployment, requiring unique testing strategies.

Mobile Buisness Applications can be classified into stand-alone applications and enterprise applications. On the other hand, Enterprise applications are built to perform resource intensive transactions that are typical of corporate computing environments. Enterprise applications also interface with external systems through Wireless Application Protocol (WAP) or Hyper Text Transfer Protocol (HTTP). The unique challenges in testing mobile applications arising from diversity of the device environment, hardware and networking considerations and Rapid Application Development (RAD) methodologies are explained below:

Diversity of the Device Environment

The realm of mobile computing is composed of various types of mobile devices and underlying software (hundreds of device types, over 40 mobile browsers). Some of the unique challenges involved in mobile testing as a result of this condition are:

Rendering of images and positioning of positioning of elements on screen may be unsuitable in some devices due to the difference in display sizes across mobile devices and models.

Exhaustive testing of user interfaces is necessary to ensure compatibility of the application.

Mobile devices have different application runtimes- For example, Binary Runtime Environment for Wireless (BREW), Java, embedded visual basic runtime are some of the runtimes commonly available in mobile devices. Applications should be tested exhaustively for the variations specific to runtime.

Hardware Configuration & Network related challenges

Mobile environment offers lesser memory and processing power for computing when compared with the traditional PC environment. Unlike the network landscape of PC environment, the network landscape of a mobile device may have gateways (access points between wireless internet and the cable internet). Some of the drawbacks of diverse hardware configurations and network landscape of mobile devices are:

Limitations in processing speed and memory size of mobile devices lead to variations in performance of applications across different types of devices.

Testing programs should ensure that the applications deliver optimum performance for all desired configurations of hardware.

Some devices communicate through WAP while some others use HTTP to communicate. Applications should be tested for their compatibility with WAP enabled as well as HTTP enabled devices.

The network latency (time taken for data transfer) will be unpredictable when applications communicate over network boundaries, leading to inconsistent data transfer speeds. Testing should measure the performance of applications for various network bandwidths.

Gateways in a wireless network may act as data optimzers that deliver content more suitable for specific devices. This data optimization process of gateways may result in decreased performance for heavy traffic. Testing should determine the network traffic at which the gateway capabilities will impact performance of the mobile application.

Rapid Application Development (RAD)

In order to deliver the benefits of faster time to market, RAD environments are used for mobile application development. Since the time taken for development is reduced by the introduction of RAD tools, builds will be available for testing much earlier. Therefore, RAD methodology imposes an indirect pressure on testing teams to reduce the testing cycle time without compromising on the quality and coverage.

Critical Success Factors

The critical factors that determine the the success of mobile testing program are:

Use of Test Automation

Use of emulators and actual devices

Testing for mobile environment and application complexity

Use of test automation

Testing of mobile applications is traditionally done by manual execution of test cases and visual verification of results. But it is an

effort intensive and time consuming process. Automating the appropriate areas of a testing program can yield quantifiable benefits.

Use of emulators and actual devices

Emulators can be beneficial for testing features of the application that are device independent. However, actual devices should be usedfor validating the results.

Testing for mobile environment and application complexity

Due to diversity in mobile hardware and platforms, testing programs need to incorporate GUI and compatibility tests in addition to the standard functionality tests. Enterprise applications are more complex in both functionality and architecture. Such applications require performance testing, security testing and synchronization testing in addition to the standard functionality testing.

Guidelines for Testing Mobile Applications

  • Understand the network landscape and device landscape before venturing into testing and identifying bottlenecks.
  • Conduct testing in uncontrolled real world test conditions (field based testing) is necessary, especially for a multitier mobile application.
  • Select the right automation test tools for the success of testing program.

Rules of thumb for ideal test tool are:

  1. One tool should support all desired platforms.
  2. Tools should support for various screen types,resolutions and input mechanism such as touchpad and keypad.
  3. The tools should be connected to the external system to carry out end to end testing.
  • Check the end to end functional flow in all possible platforms atleast once.
  • Conduct Performace testing,GUI testing and Compatibility testing using actual devices.Even though these testing can be done using emulators, testing with actual devices is recommended.
  • Measure performance in realistic conditions of wireless traffice and user load.



    Keywords:

    mobile testing
    mobile testing tutorial
    mobile testing tools
    mobile testing interview questions
    mobile testing jobs
    mobile testing ppt
    mobile testing wiki
    mobile app testing
    mobile software testing
    mobile automation testing tools
    mobile testing tutorial
    mobile phone testing tools
    mobile application testing
    mobile testing interview questions
    mobile testing tools tutorial
    mobile app testing tools
    mobile testing tools free download
    mobile testing tutorial pdf
    mobile testing interview questions
    mobile testing tools
    java mobile application testing tutorial
    java mobile application testing example
    mobile application development tutorial
    mobile testing pdf
    mobile testing techniques
    mobile application testing techniques and tools
    software testing techniques
    mobile testing methodologies
    mobile testing tutorial
    mobile testing tools
    mobile testing interview questions
    mobile testing interview questions and answers pdf
    mobile testing tools
    mobile testing tutorial
    mobile testing interview questions with answers
    mobile apps testing interview questions

5 comments:

Mobile Application Development said...

Nice article.Always remember, preparation always pays off. Both the face-to-face and phone interviews are equally important and deal-killer at the same time. There is a general misconception that phone interviews are less formal than face-to-face interviews

Spectro Analytical Labs Limited said...

Excellent post & cool shots. Agreed. Excellent post & cool shots.

Spectro analytic Labs Ltd providing right and good testing in the world , offering to test,
mechanical Testing
,Water Testing, Environmental Monitoring services.
Textile Testing, Corrosion Testing, Non Destructive Testing etc.

QA Testing methodology said...

It is always good to read such informative post on Mobile testing. Mobile Testing can be for application, performance , smart devices and trust me it requires skill and domain expertise. Thank you for sharing this post.

spectrogroup said...

Agreed. Excellent post & cool shots. i like to read your blog is very helpful article for software tesing.
Testing Laboratory

calibration Services & Lab Trainig Services said...

Spectro provide the best testing service laboratory. We are provide calibration services in India, offered to testing services like, mechanical calibration services, etc.