Mobile Application Testing

52
Table of Contents 1. Definition of Mobile Application................................................................... ..................................................04 2. Types of Mobile Application................................................................... .........................................................04 3. Types of Mobile Operating System........................................................................ ..........................................05 4. Instructions for mobile application black box testing....................................................................... .............06 5. Process of testing mobile application................................................................... ............................................07 a. Handheld...................................................................... .............................................................................. ..07 b. Emulator/Simulator Environment................................................................... .........................................07 6. Emulator and Simulator..................................................................... ..............................................................09 7. Working of Emulator and Simulator..................................................................... ..........................................10 8. Installation of Mobile application................................................................... .................................................10

Transcript of Mobile Application Testing

Page 1: Mobile Application Testing

Table of Contents

1.  Definition of Mobile Application.....................................................................................................................04

2.  Types of Mobile Application............................................................................................................................04

3.  Types of Mobile Operating System..................................................................................................................05

4.  Instructions for mobile application black box testing....................................................................................06

5.  Process of testing mobile application...............................................................................................................07

       a. Handheld......................................................................................................................................................07

       b. Emulator/Simulator Environment............................................................................................................07

6.  Emulator and Simulator...................................................................................................................................09

7.  Working of Emulator and Simulator...............................................................................................................10

8.  Installation of Mobile application....................................................................................................................10

9.  Mobile Application environment Support......................................................................................................15

10.  Generic protocols in emulator based application.........................................................................................16

11.  Testing of 2G, 3G, CDMA, GPRS from Emulator........................................................................................19

12.  Generic defects in Emulator...........................................................................................................................25

13.  Test Strategy, Test Case generation, Test Data Generation Process...........................................................25

14.  Test Execution and Defects.............................................................................................................................31

15.  Common defect/s in mobile application testing............................................................................................32

16.  Post test data collection and reporting..........................................................................................................32           

Page 2: Mobile Application Testing

          

(1)  Define Mobile application. Define types of mobile applications, define andriod and other types of content groups? 

  Mobile application : 

A mobile application is a software that runs on a mobile device such as a cell phone or MP3 player that will allow the device to perform specific tasks that are typically restricted to PCs.

o It also known as downloadables, mobile application are common on most phones, including inexpensive, entry-level models.

o

  Types of Mobile Application :

   Mobile Applications are mainly divided into two types :

1. Pre-Installed Application2. Mobile Application such as SMS/MMS clients, browsers and music players, come pre-installed on

mobile phones.

3. Downloadable Application

For example, user downloads applications over the wireless network and then install the application themselves, or have them loaded and installed in the mobile operator's store.

From the technical point of view, mobile application is to be differentiated by the run time environment in which its   executed :

o Native platforms and Operating Systems such as Symbian, Windows Mobile and Linux.o Mobile Web/Browser runtimes, such as Webkit, Mozilla/Firefox, Opera Mini and RIM.

o Other mangaed platforms and virtual machines, such as Java/J2ME, BREW, Flash Lite, and Silverlite.

  Mobile applications are :

    Communications :-

Page 3: Mobile Application Testing

Email Clients IM Clients

Mobile Web and Internet Browsers

News/Information Clients

On-device Portals(Java Portals)

Social Network Clients

    Games :-

Puzzle/Strategy (e.g., Tetris, Sudoku, Mah-jong, Chess, Board Games) Cards/Casino (e.g., Solitaire, Blackjack, Roulette, Poker)

Action/Adventure (e.g., Doom, Pirates of the Caribbean, Role-Playing Games)

Sports (e.g., Football, Soccer, Tennis, Basketball, Racing, Boxing, Skiing)

Leisure Sports (e.g., Bowling, Pool, Darts, Fishing, Air Hockey)

    Multimedia :-

Graphics/Image Viewers Presentation Viewers

Video Players

Audio Players

Streaming Players (Audio/Video)

    Productivity :-

Calendars Calculators

Diary

Notepad/Memo/Word Processors

Spreadsheets

Directory Services (e.g., yellow pages)

Banking/Finance

    Travel :-

City Guides Currency Converters

Translators

GPS/Maps

Page 4: Mobile Application Testing

Itineraries/Schedules

Weather

    Utilities :-

Profile Manager Idle Screen/Screen Savers

Address Book

Task Manager

Call Manager

File Manager

 

Mobile Operating Systems : 

      Like a computer operating system, a mobile operating system is the software platform on top of which other programs run.  Operating system is responsible for determining the functions and features available on a device such as thumbwheel, keyboard, WAP, synchronization with applications, e-mail, text messaging and more. The operating system will also define which third-party applications to be used on the device.  Some of the most common and well-known mobile operating systems include the following :  

  Android : 

      Android is a software stack for mobile devices that includes an operating system, middleware and key applications and uses modified version of Linux Kernel. The Android SDK(Software Development Kit) provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. It was intially developed by Android Inc.  It allows developers to write managed code in the Java language, controlling the device via Google developed Java libraries. 

Features of andorid :

Application framework enabling reuse and replacement of components

Dalvik virtual machine optimized for mobile devices

Integrated browser based on the open source WebKit engine

Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

SQLite for structured data storage

Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony (hardware dependent)

Page 5: Mobile Application Testing

Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

Camera, GPS, compass, and accelerometer (hardware dependent)

Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

  Symbian OS : 

      Symbian OS is developed by Symbian Ltd. Symbian OS has become a standard operating system for smartphones and is licensed by more than 85 percent of the world's handset manufacturers. The Symbian OS is designed for the specific requirements of 2.5G and 3G mobile phones.  

  Windows Mobile :

  The Windows Mobile platform is available on a variety of devices from a variety of wireless operators. Windows Mobile software is inculded with Dell, HP, Motorola, Palm and i-mate products. Windows Mobile powered devices are available on GSM or CDMA networks. 

  Palm OS : 

      Since the introduction of the first Palm Pilot in 1996, the Palm OS platform has provided mobile devices with essential business tools, as well as capability to access the Internet or a central corporate database via a wireless connection. 

(2)  Step wise instructions for mobile application black box testing? 

  Mobile Application: Black Box Testing 

o To do mobile application testing, we have to do the following.

1. System Study

2. Prepare Test Plan

3. Prepare Test Scenarios

4. Design  Test Cases

5. Set up Test Enviroment

6. Execute Test Cases

7. Preparation of Defect Report and Test Report

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

1. Use of test automation2. Use of emulator and actual device

Page 6: Mobile Application Testing

Testing for Mobile environment and application complexity.

o Guidelines for testing Mobile applications

Understand the network landscape and device landscape before testing to identify 1 bottleneck.

Conducting testing in uncontrolled real-world test conditions (field-based testing) is especially for a multi-tier mobile applications.

Select the right automation test tool for the success of the testing program. Rules of thumb for an ideal tool are:

The tool should support all desired platforms.

The tool should support testing for various screen types, resolutions, and input mechanisms — such as touchpad and keypad.

The tool should be connected to the external system to carry out end-to-end testing.

Use the Weighted Device Platform Matrix method to identify the most critical hardware/ platform combination to test.This method will be very useful especially when hardware/ platform combinations are high and time to test is low.

Check the end-to-end functional flow in all possible platforms at least once.

Conduct performance testing, GUI testing, and compatibility testing using actual devices. Even though these tests are done using emulators, testing with actual devices is recommended.

Measure performance only in realistic conditions of wireless traffic and user load.

Five Basic Apporach :

1. Unit testing in the IDE2. Human testers using actual devices(manual)

3. Externally driven test automation via connection to a PC.

4. Testing against simulators or emulators(Manual or Automation).

5. Back end testing via internet(Manual or Automation).

(3)  Define the process of testing a mobile application.     (A) Handheld     (B) Emulator/simulated env. 

Process of Testing a Mobile Application

(A) Handheld 

      A mobile device (also known as cellphone device, handheld device, handheld computer, “Palmtop” or simply handheld) is a pocket-sized computing device, typically having a display screen with touch input or a minature keyboard.  In the case of the Personal Digital Assistant(PDA) the input and output are combined into a touch-screen interface and are used to achieve a variety of tasks for increasing efficiency that include digitizing notes, sending and receiving invoices, asset management, recording signatures, and scanning barcodes.

Page 7: Mobile Application Testing

      Testing handheld device include testing of the appearance, battery backup, charger functionality, gprs, calculator, calender, date and time, alarm, sound clarity, voice clarity, making incoming and outgoing calls etc..

      Testing of Handheld devices differ according to the application. To test the mobile handset, first know all the applications configured with the mobile and then test it one by one. Generally performs Downlaod testing(OTA,BT,IR), Sanity testing, Performance testing, functionality testing, Network testing, compatibility tesing, Regression testing, Interruption testing(SMS,MMS,Charger insertion etc.).   One should test the behaviour of the application for SMS, incoming calls, power on/off, battery removal and Alarm reminders.   Then network connection wi-fi/wireless should also be checked. Mobile handset are tested by launching different applications.   Feature interaction cases are done inorder to ensure the stability of the application. User interface is tested by invoking different menu option in some of the application, there by GUI is tested. Performance is tested under low battery condition. 

(B) Emulator/Simulator Environment 

      There are two types of mobile applications.  One is pre-installed and another one is downloadable.  To test a pre-installed application, study the application very well and prepare a test plan.  Write test cases for different scenarios Downlaod and install the emulator/simulator and set up the environment. Prepare test data and execute the test cases using the emulator or simulator. User performs the actions by using the keyboard or mouse.   If any defect found, understand the cause of defect.  If that defect is not arised from the application(eg:- environment set up problem, then fix the defect. Otherwise, send a defect report to the corresponding engineer. 

      The simulation environment allows to build and run the application on computer. The use of simulation environment includes :

o Find and fix major problems in the application during design and early testing.o Layout and test the application’s user interface.

Measure the application’s memory usage before carrying out detailed performance analysis

      The application provides several ways of interacting with it using the keyboard and mouse to simulate the actions that performs. 

  The process of Setting up Windows Mobile 6 for Mobile Browser Emulation using the Microsoft Device Emulator

      This enables a user to experience Windows Mobile 6 on a PC via Emulation without even owning a Windows Mobile 6 product. It require 32 bit system running Windows XP.

Download and Install Microsoft ActiveSync (Download)

Download and Install the Microsoft Device Emulator 3(Download)

Download and Install the Windows mobile 6 professional image.(Download)

Re-Run the Windows Mobile 6 Professional Images installer (Windows Mobile 6 Professional Images (USA).msi) and select the option to Repair:

Windows Mobile 6 Repair

Page 8: Mobile Application Testing

Receive an error message regarding Visual Studio 5 not being installed. Simply click OK to continue:

Next, click Start -> Programs -> Windows Mobile 6 SDK -> Stand Alone Emulator Images -> USB English -> Professional  

It should display an Emulated Windows Mobile 6 Pocket PC on the screen. Once it has booted up, proceed to the next step:

Windows Mobile 6 Pro Emulated 

Next, click Start -> Programs -> Windows Mobile 6 SDK -> Tools -> Device Emulator Manager and once the menu appears, click refresh:

The Device Emulator Manager should now display the running Emulated Windows Mobile 6 under Others. Right Click the Entry and select Cradle:

Device Emulator Manager Cradle a Device

Next, right click the ActiveSync icon from the taskbar and select Connection Settings

Check the Allow connections to one of the following box, then select DMA from the dropdown list and click OK

ActiveSync Connection

ActiveSync Will Now attempt to connect to the virtual device that is Emulating Windows Mobile 6. Once the connection has been established user is able to Sync many items from the Host PC to  the Virtual PC. In addition, the Host PC's network connection becomes bridged, allowing the user to browse the Internet using the Emulated PC's Browser 

(4)  What is an emulator or simulator, how does it work, which are the companies provide the emulated environment solution, how a mobile aplication is installed, what all environment it used to develop the mobile application? 

Emulator :  

      Emulators are pieces of software that allow an application written for one platform or operating system to be executed on another platform or operating system. For example, Unix emulators running on a windows platform to enable the execution of unix-based programs in a windows based environment.

      In emulator testing, it tests actual production code. It typically reveal many of the same defects as testing on the actual device. It frequently enable test automation, increase test coverage and enable scenario based testing. 

Simulator : 

      Simulators generallly allows users to experience what a thing will look and feel like but which doesn't use the same code base.  For example, a PC-based flight simulators.

      Simulator testing enable testing prior to devices being ready.  It is very good for early testing of user experience or paradigm testing.  It provides all of the benefits of software prototyping, including generation of test ideas. 

Page 9: Mobile Application Testing

Simnulator Vs Emulator (Simulations Vs Emulation) : - 

      Simulation is the imitation of another environment. For example, a flight simulator imitates the environment of flying an airplane in a little room. The true environment of flying is experienced in another environment that lacks some aspects like the possibility to die from a plane crash. So, simulation usually involves an environment and a person. Well, if not a person, another object. For example, a savanna simulator may include a lion to see how the lion will react to a certain condition. 

      Emulation is the imitation of an object as another object. For example, a PlayStation emulator makes PlayStation game CDs recognize a PC as the machine where it is intended to run.  

How does an Emulator work :   

Mobile emulators fall into three main categories:

Device emulators - These are generally provided by device manufacturers and simulate the actual device. Device emulators are excellent for testing the site or application on a particular device or set of devices.

Browser emulators - These simulate mobile browser environments. Whilst useful for determining the functionality available in a particular mobile browser, are useless for device-specific testing.

Operating System Emulators - Microsoft provides emulators for Windows Mobile, and Google provides an emulator for Android. These run within a simulated mobile device environment and provide access to applications running within the operating system, e.g. a Web browser.

o

Emulators are generally found in one of three places:

o On a manufacturer’s development portal o Bundled as part of an SDK

o As part of a Web site

Installation of a Mobile application

1. Download and Install Mobile emulator2. Download and Install Active Sync

3. Open Active Sync

4. Select Connection Settings

5. Check “Allow Connections to one of the following” box and select DMA from the dropdown list and select OK.

Open Device Manager from Cellular Emualtor and cradle the

device

Page 10: Mobile Application Testing

as explained above.

6. Download the desired appliaction from internet and place on the system desktop.

           

7. From active sync, select the folder and click on Explore button, which opens the detailed window where user pastes the desired files/applications from the system desktop.

The emulator grouped into the following catogories.

o Web-based emulatoro Installable emulator

o Symbian based emulator

o Emulator that is only used to test the applications

o

Web-based emulator :

      

Web-based emulators are easy and quick to access – no installation, no fuss. Just enter the correct URL and start testing. 

 

Apple(iPhone Emulator) : 

      

Requirement :

o A computer running a version of OS X (i.e. an Apple Mac) o The iPhoneSDK

      

Page 11: Mobile Application Testing

A full iPhone emulator is included as part of the iPhone SDK. To obtain this, register with Apple as a developer. This isn’t much good to those of us running Windows. Fortunately, there’s a FREE iPhone simulator available on the Web. It is found at testiphone.com. This provides a nice, quick way of testing the Web sites on a simulated iPhone. Just type in the URL of the site user want to test and hit ENTER (I’ve visited verymobile.mobi):

Opera Mini

      

Opera Mini is probably the most popular user-installable browser. Opera offers an on-line simulator that allows user to run Web sites immediately(http://www.opera.com/mobile/demo/

). After a brief delay, the site will load:

Sim

ulator tips

Use mouse or keyboard to control the simulator (F1, F2 function keys, arrow keys and Enter to navigate).

o Drag the scrollbar or the screen to scroll the page.

Installable Emulators

      

Many device manufacturers offer free emulators. More developers = more applications = more users = more revenue. Details about how to obtain, install, and use some of the more popular emulators are below.

Research in Motion Emulators(RIM)

      

The RIM emulators are available from the RIM Developer Zone(http://na.blackberry.com/eng/developers/

).  It requires to sign up for an account.

  (a) Downloading :

      

Once signed up, click on the “Web Development Tools & Downloads” link. Click on the link in the page shown then  a page will be displayed, listing lots of different simulators. Simulators are grouped by the BlackBerry version number. Download at least two files: 

Page 12: Mobile Application Testing

o BlackBerry Email and MDS Services Simulator Package - This program simulates the BlackBerry Enterprise Server. User will not be able to connect the simulator to the Internet without it.

Any BlackBerry Device Simulator - Click on a device simulator item in the drop-down list

and download the required BlackBerry Device Simulator.

o

      

The first item in the list is “BlackBerry Email and MDS Services Simulator Package”. Select this and click Next. A list of files will appear, offering different versions of the simulator. It’s generally OK to pick the latest version – if  user find a simulator doesn’t work after downloading, download the matching MDS simulator package. Click on the Download link and this will be asked to enter user's personal details.  Once user details are entered, click Next. User will now be asked to agree to the terms and conditions. Click Agree, then Next. A further set of terms and conditions are displayed. Click I Agree and Next to proceed.

      

Click the Download button and the file will begin downloading. Repeat the process to download a device simulator package. Choose a BlackBerry Device Simulator from the drop-down list, and the site will display the device simulators available within that package. Once the files are downloaded, then install.

(b) Installing and Running :

For example : Downloaded files are

o BlackBerry_Email_MDS_4.1.2.17.exe o BlackBerry_Simulators_4.7.0.122_9500_Europe.exe

o

Install the MDS first. It’s a typical wizard based installation. A couple of clicks of the Next button.

      

Once that’s installed, do the same for the device simulator package user downloaded. Again, just keep clicking Next until the install is complete. Open up Start Menu and browse. It should display Research In Motion program group. To run a BlackBerry simulator, user need to start the MDS, then the simulator. The MDS sub-folder has three programs located within it. Click it and it will run in a command window. Make sure that the user unblock the program if users firewall complains about it. Once started, minimise or ignore the command window.

      

Now start up the device simulator from the Smartphone Simulators sub-folder in the Start Menu. The simulator will appear:

Blackberry device simulator

Page 13: Mobile Application Testing

 

Now open up the Web browser on the device and browse to a mobile site of user choice. One nice touch here is that user  either type using  keyboard, or simulate typing using the simulator’s on-screen keyboard. After a couple of seconds, the mobile site will load. Once user have finished with the simulator, close it as any normal Windows program. Just remember user also need to close the command prompt the MDS is running within.

Other great features of the BlackBerry simulators:

o Easy loading of Java programs via the File menu (for J2ME testing) o Ability to map mouse buttons

o Take snapshots of the device or just the LCD

o Ability to go full-screen for presentation purposes

Simulate events, such as incoming voice call (useful for applications that may be interrupted)

 

Windows Mobile Emulator

Windows Mobile Emulator Screenshot

Installation

To install the Windows Mobile Emulator, first user need to download and install the following components:

Virtual PC

(for network capability)

Emulator with Emulator images

 

Network Configuration

      

After installing the two items above, user finds the Emulator Images under Programs > Microsoft Windows Mobile 5.0 Images, which gives user a list of images for different types of devices, e.g. Pocket PC.  When selecting one of these images, it fires up the Emulator and loads the respective device image. But before user uses it to test own site, user need to configure the Network Settings to ensure proper connection to the Internet through computer. For this, user need to do the following after the device has been booted up the OS:

1. Chose File > Configure > Network in the Emulator Application window 2. Check “enable NE2000 PCMCIA network adapter and bind to” (if user are using the Pocket PC

image, it might be different for the other images)

3. Select computer’s network connection card from the list (e.g. Intel PRO) and hit OK

Page 14: Mobile Application Testing

4. On the (emulated) device itself, locate the “network card” settings dialog (on Pocket PC: Settings > Network Card)

5. Here, select “connect to: The Internet”

6. select “NE2000 compatible Ethernet driver”

Now user should have a connection to the Internet from the emulated device and use Internet Explorer on the device to test how site would look like on e.g. a Pocket PC.

Nokia simulators

Nokia Mobile Browser Simulator 4 Screenshot

      

Before downloading the Browser Simulator, user need to be registered with the Forum Nokia and request a serial number (in the sidebar, where it says “Request serial number for:) for the Browser Simulator.

      

The downloaded package is pretty small and after unzipping it, user simply run the executable to install it. During installation, it will ask user for Forum Nokia username and the serial number. After the installation, user finds the simulator under Programs > Nokia.

Which are the companies provide the emulated environment solution : 

The following companies offer emulators for some or all of  mobile devices (note the lists below are not exhaustive):

o Research in Motion (BlackBerry) o Apple (iPhone)

o Samsung

o Palm

o LG

o Motorola

Operating system emulators are available from:

o Microsoft (Windows Mobile) o Google (Android)

o Nokia (Series 40 and Series 60)

Some available browser emulators are:

o Opera Mini o Openwave

Page 15: Mobile Application Testing

The following emulators are very

useful

for testing mobile applications without incurring data charges.

o dotMobi Online Emulator- mTLD has an online emulator that user uses to quickly see what site will look like on a common phone

o Nokia Browser Simulator- this simulator simulates a generic Nokia phone and WAP gateway

o Opera Mini Simulator- simulates Opera's popular J2ME browser

o BlackBerry Simulator- multiple different BlackBerry simulators

o Yospace SmartPhone Emulator- a versatile emulator that display multiple phone instances at the same time

o iPhone Simulator- bundled as part of the iPhone SDK. User need to purchase a Mac to run the SDK

o Android Emulator- the Android SDK includes a mobile device emulator. The Android emulator mimics all of the typical hardware and software features of a typical mobile device, except that it is not receiving or placing actual phone calls

o Palm Pre Emulator- the Mojo SDK from Palm include a Palm Pre Emulator. User download the SDK for free (requires email registration)

o Brew Emulator- the BREW SDK includes a mobile device emulator. It does not however emulate a handset's hardware. The BREW application is instead compiled to native code and linked with a x86-compatible BREW runtime library.

o

Mobile Application Development Environment : 

To set up a Test Environment require :

Hardware Operating Systems

Software that need to be tested

Other required software like tools(And people who use it)

Data configuration

Interfaces to other systems and communications

Documentation like user manuals/reference documents/documents guides/installation guides.

 

      

Page 16: Mobile Application Testing

Mobile application development is the process by which applications are developed for handheld  devices such as personal digital assistants, enterprise digital assistants or mobile phones.  These applications are either pre-installed on phones during manufacture, or downloaded by customers from app stores and other mobile software distribution platforms. 

Development Platform choice : 

Platform which support devices from multiple manufacturers :

Java ME: This platform generally produces portable applications, although sometimes device-specific libraries exist (commonly used for games), making them non-portable. It is often used to provide simple applications on feature phones.

Symbian Platform : Designed from the start for mobile devices, the Symbian platform is a real time, multi-tasking OS specifically architected to run well on resource-constrained systems, maximising performance and battery life whilst minimising memory usage. The Symbian Foundation maintains the code for the open source software platform based on Symbian OS and software assets contributed by Nokia, NTT DOCOMO, and Sony Ericsson, including the S60 and MOAP(S) user interfaces.

Android : Android is a Linux-based platform from the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and T-Mobile. It is supported by over 34 major software, hardware and telecoms companies. The Linux kernel is used as a Hardware Abstraction Layer (HAL). Application programming is exclusively done in Java. The Android specific Java SDK is required for development although any Java JDE may be used.

.NET compact framework : Used primarily for applications on Pocket PC/Windows Mobile devices, although it is now being extended to Android devices.

BREW: Used for deploying applications on CDMA devices (but also supports GPRS/GSM models). Distributed via a Brew Content Platform.BREW provides complete control of the handset and access to all its functionality. However the power provided by native code with direct access to the handset APIs, has caused the BREW development process to be tailored largely towards recognized software vendors. While the BREW SDK (Software Development Kit) is freely available, running software on real mobile hardware (as opposed to the provided emulator) requires a digital signature which only be generated with tools issued by a handful of parties, namely mobile content providers and Qualcomm themselves.   

Platform for a single manufacturer's devices 

BlackBerry :Supports push e-mail, mobile telephone, text messaging, internet faxing, web browsing and other wireless information services as well as a multi-touch interface. It has a built-in QWERTY keyboard, optimized for "thumbing", the use of only the thumbs to type. The BlackBerry devices soon took a dominating position on the north-American smartphone market. Also important for BlackBerry are the BES (Black Berry Enterprise Server) and the Mobile Data System (BlackBerry MDS).

iPone OS : The iPhone and iPod Touch SDK uses Objective C, based on the C programming language. Currently, is only available on Mac OS X 10.5 and is the only way to write an iPhone application. All applications must be cleared by Apple before being hosted on the AppStore, the sole distribution channel for iPhone and iPod touch applications. However, non-Apple approved applications are released to jailbroken iPhones via Cydia or Installer.

o

Page 17: Mobile Application Testing

Execution environments :

      

Windows Mobile, Palm OS, Symbian OS and iPhone OS support typical application binaries as found on personal computers with code which executes in the native machine format of the processor (the ARM architecture is used on many current models).  Windows Mobile also supports the Portable Executable(PE) format associated with the .NET Framework.  Both Windows Mobile, Palm OS and iPhone OS offer free SDKs and Integrated Developement Environments to developers.  Machine language executables offer considerable performance advantages over Java.  

(5) What is the generic protocol a emulator based application follow, is the performance of a emulator based application should be tested? if yes, how? 

(a) The following are the generic protocols used for mobile technologies and in mobile devices. 

3G GSM   

PHS   

4G HCSD   

TACS   

CDMA HSDPA   

TDMA   

CDMA2000 iDEN   

TD-SCDMA   

EV-DO Mobitex   

UMTS   

FDMA NMT   

WCDMA   

GAN PCS   

WiDEN   

GPRS PDC   

WiMAX   

 

3G  3G refers to the third generation of developments in wireless technology, especially mobile communications. While 3G is generally considered applicable mainly to mobile wireless, it is also relevant to fixed wireless and portable wireless. A 3G system should be operational from any location on, or over, the earth's surface, including use in homes, businesses, government offices, medical establishments, the military, personal and commercial land vehicles, private and commercial watercraft and marine craft, private and commercial aircraft (except where passenger use restrictions apply), portable (pedestrians, hikers, cyclists, campers), and space stations and spacecraft. 

4G  4G is the short term for fourth-generation wireless, the stage of broadband mobile communications that will supercede the third generation(3G). While neither standard bodies nor carriers have concretely defined or agreed upon what exactly 4G will be, it is expected that end-to-end IP and high-quality streaming video will be among 4G's distinguishing features. Fourth generation networks are likely to use a combination of WiMAX and Wi-Fi. 

Page 18: Mobile Application Testing

CDMA  Code-Division Multiple Access is a form of multiplexing, which allows numerous signals to occupy a single transmission channel, optimizing the use of available bandwidth. CDMA employs analog-to-digital conversion (ADC) in combination with spread spectrum technology. The technology is used in ultra-high-frequency (UHF) cellular telephone systems in the 800 MHz and 1.9 GHz bands. IS-95 uses CDMA. 

CDMA2000  CDMA 2000 is a CDMA version of the IMT-2000 standard developed by the International Telecommunication Union (ITU). CDMA2000 supports mobile data communications at speeds ranging from 144 Kbps to 2 Mbps. 

EV-DO

  

Evolution data maximized (CMDA2000 1x EVDO) is based on CDMA2000.  EV-DO supports mobile data communications at speeds ranging from 400 Kbps to 2 Mbps. 

FDMA  Frequency division multiple access is the division of the frequency band allocated for wireless cellular telephone communication into 30 channels, each of which carry a voice conversation or, with digital service, carry digital data. FDMA is a basic technology in the analog advanced mobile phone service (AMPS), the most widely-installed cellular phone system installed in North America. With FDMA, each channel is be assigned to only one user at a time. 

GAN  The Generic Access Network, formerly known as unlicensed mobile access (UMA), is a mobile telephony system designed to allow seamless roaming and transfer between LANs and WANs using a dual-mode phone. The system is based upon use of unlicensed spectrum with technologies like Buletooth, Wi-Fi, GSM and GPRS. GAN enables carriers to deliver voice, data and SIP applications to phones on multiple networks.

GPRS  General Packet Radio services is a packet-based wireless communication service based on GSM networks and complements existing services like circuit-switched cellular phone connections and SMS.  GPRS provides data rates from up to 114 Kbps. 

GSM  Global System for mobile is a digital mobile telephone system that is widely used in Europe and other parts of the world.  GSM uses a variation of TDMA and is the most widely used of the three digital wireless telephone technologies (TDMA, GSM, and CDMA). GSM digitizes and compresses data, then sends it down a channel with two other streams of user data, each in its own time slot. It operates at either the 900 MHz or 1800 MHz frequency band. 

HCSD  The high-speed circuit-switched data protocol updates CSD, providing data rates up to 64 Kbps. 

HSDPA  High-Speed Downlink Packet Access is the next phase of UMTS, with data transmission speeds up to 10 Mbps, based upon the WCDMA protocol. 

Page 19: Mobile Application Testing

iDEN  Integrated digital enhanced network is a wireless technology from Motorola that combines the capabilities of a digital cellular telephone, two-way radio, alphanumeric pager, and a data/fax modem in a single network.  IDEN operates in the 800 MHz, 900 MHz, and 1.5 GHz bands and is based on TDMA and GSM architecture. 

Mobitex  Mobitex is a wireless network architecture that specifies a framework for the fixed equipment necessary to support all the wireless terminals in a packet-switched, radio-based communication system. Mobitex operates at 80, 400, or 900 Mhz. Mobitex also may refer to Mobitex Technology AB, a provider of wireless communications spun off from Ericcson.  

NMT  Nordic mobile telephone is a standard based upon analog technology that operates within the 450 and 900 MHz bands. 

PCS

  

Personal communications services refers to wireless phone networks that are similar to cellular telephone networks but emphasize personal service and extended mobility. Several technologies are used for PCS, including TDMA, CDMA, and GSM. PCS operates in the1850 to 1990 MHz bands. 

PDC

  

Personal digital cellular is a Japanese standard that uses TDMA. The technology is used in the 800 MHz and 1.5 GHz bands. 

PHS

  

Personal handyphone system refers to the network developed by NTT DoCoMo that provides devices that function both as a cordless phones in the home and as mobile phones elsewhere. PHS also handles voice, fax, and video signals at data rates up to 64 Kbps. 

TACS

  

Total access communications system is similar to AMPS. TACS operates in the 900 MHz frequency range.

TDMA

Page 20: Mobile Application Testing

  

Time division multiple access is a technology used in digital cellular telephone communications and radio networks that divides each cellular channel into three time slots in order to increase the amount of data that is carried. TDMA is used by D-AMPS, GSM, and PDC. The United States standard for TDMA for both the cellular (850 MHz) and PCS (1.9 GHz) spectrums. TDMA is also used for digital enhanced cordless telecommunications (DECT). 

TD-SCDMA

  

Time division synchronous code division multiple access is a mobile telephone standard that combines TDMA with an adaptive, synchronous-mode CDMA component. TD-SCDMA combines support for both circuit-switched data, such as speech or video, and also packet-switched data from the Internet, with data transmission at speeds up to 2 Mbps.  

UMTS

  

Universal mobile telecommunications service describes broadband , packet-based transmission of multimedia content at data rates up to 2 Mbps to mobile device users globally. Based on the GSM standard, UMTS is endorsed by major standards bodies and manufacturers and is the planned standard for mobile users around the world. 

WCDMA  Wideband code-division multiple access is an ITU standard derived from CDMA, officially known as IMT-2000 direct spread. WCDMA supports mobile voice, images, data, and video communications at up to 2 Mbps (local area access) or 384 Kbps (wide area access). A 5 MHz wide carrier is used, compared with 200 KHz-wide carrier for narrowband CDMA.  

WiDEN

  

The wideband integrated dispatch enhanced network is an upgrade to iDEN, with increased data rates up to 100 Kbps. WiDEN four combined channels at the 25 MHz band.  

WiMAX

  

WiMAX(Worldwide Interoperability for Microwave Access) is a wireless industry coalition whose members organized to advance IEEE 802.16 standards for broadband wireless access (BWA) networks. WiMAX 802.16 technology is expected to enable multimedia applications with wireless connections. WiMax also has a range of up

Page 21: Mobile Application Testing

to 30 miles, presenting provider networks with a viable wireless last mile solution.  

(b) No. The performance of a emulator based application should not be tested. Because, emulator based application are taking more time to load than in acutal devices.  It willl not give the actual perfomance as in the real time.     

(6) How to test 2G, 3G, CDMA, GPRS etc from emulator,  how it communicate? 

Network Access within the Emulator

  

One of the most commonly performed tasks in a Windows Mobile application is network access. For example, Windows Mobile application may connect to a web service, so user need Internet access in order to test this feature. Fortunately, the latest version of the device emulator makes it easy to connect to the Internet via the following ways:

1. ActiveSync 2. GPRS

 

ActiveSync

  

The first way to get connectivity in the emulator is to cradle the emulator to ActiveSync and use ActiveSync to connect to the Internet. First, user need to prepare ActiveSync. In ActiveSync, go to File—>Connection Settings…. Check the Allow connections to one of the following checkbox and select the DMA option. Click OK. To cradle an emulator to ActiveSync, right-click on the emulator in the Device Emulator Manager and select Cradle. When the emulator is successfully cradled to ActiveSync, its icon will change accordingly--and so will the icon on the Home screen. The emulator will now connect to ActiveSync and user will be brought through a series of steps to synchronize the emulator with ActiveSync. If user sole intention is to allow the emulator to access the network, click Cancel. Clicking the emulator's icon will display that ActiveSync is connected.

      

  

Page 22: Mobile Application Testing

                              

Click the Icon: This verifies that ActiveSync is connected.

GPRS

  

The second way to connect is to emulate a GPRS connection on the emulator. In order to use this option, user need to use the Cellular Emulator (the next section shows how user uses the Cellular Emulator with Windows Mobile emulator). Once the Cellular Emulator is up and running, click the Start—>Settings options within the Windows Mobile emulator. Select the Connections tab and click the Connections icon. User see the Connections screen. Click the Add a new modem connection link (under the My ISP) section. In the next screen, give a name to the connection and select Cellular Line (GPRS). Click Next and leave the Access point name blank. In the next screen, leave out the User name, Password, and Domain and click Finish. Now, user tests to see if the connection works. Launch Pocket Internet Explorer and try to navigate to a site. User will see the "G" icon located at the top of the Windows Mobile emulator. At the same time, in the Cellular Emulator user also see the number of bytes transferred listed in the Network tab.

    

Downloading Data:

The Cellular Emulator displays the network statistics as the Windows Mobile emulator downloads data.  

 

User also emulate a 3G connection by clicking on the Switch to 3G button in the Cellular Emulator.

             

Launching the Cellular Emulator

Page 23: Mobile Application Testing

  To find the Cellular Emulator, go to Start—>Programs—>Windows Mobile 6 SDK—>Tools—>Cellular Emulator. After launching, user see the COM port number located at the bottom left of the screen. Most computers should display either COM3 or COM4. Configure a Windows Mobile Emulator to Connect to the Cellular Emulator.

Select the emulator user want to use. As an example, choose a Professional emulator; right-click on Windows Mobile 6 Professional Emulator and select Connect. 

Note:

Remember that only Windows Mobile 6 Professional and Standard emulators connect to the Cellular Emulator; Classic emulators cannot be used as it is not having phone radios. 

Now, configure the Windows Mobile emulator by selecting File—>Configure…. In the emulator's Properties page, select the Peripherals tab. Under "Serial Port 0" enter the COM port that is seen in Cellular Emulator. Click OK.

       

Launching the Emulator: This shows the COM port number to which the Cellular Emulator is listening.  

  

Selecting a Windows Mobile Emulator: For this example, choose a Professional emulator.  

        

The COM Port: Configure the Windows Mobile emulator to connect to the same COM port used by the Cellular Emulator.

 

      

Page 24: Mobile Application Testing

User need to perform a soft reset on the Windows Mobile Emulator (File—>Reset—>Soft). This is important because the emulator will not recognize the Cellular Emulator if user do not reset it. After the reset, the Windows Mobile emulator should have a full-signal indicator .

     

Connected: The Windows Mobile emulator is now connected to the Cellular Emulator. 

For a Windows Mobile Standard device, the signal will look like figure below.

      

Signal Status: This shows the signal indicator on a Windows Mobile Standard emulator. 

Configuring Data Connections

      

One of the uses of the Cellular Emulator is to emulate 2G and 3G network connections for Windows Mobile emulator. Doing so will provide applications with Internet access without needing to use the ActiveSync or network card mapping technique.

      

Configuring data connections using GPRS (via the Cellular Emulator) is straightforward for a Windows Mobile Professional emulator. Follow these steps to set up an Internet connection using the Cellular Emulator:

o Go to Start—>Settings. o Select the Connections tab.

o Select Connections.

o Under the My ISP item, select "Add a new modem connection."

o Enter a name for the connection and select Cellular Line (GPRS). Click Next.

o For access point name and login credential information, leave them empty.

      

Page 25: Mobile Application Testing

Using Internet Explorer, user determines whether the connection is successful. Figure below shows that, if the connection is successful, user see the G icon shown at the top of the Windows Mobile emulator. On the Cellular Emulator's end, user see the number of bytes transferred across the data channels, as well as the indicator showing that GPRS is connected.

 

The GPRS Connection: Configuring a GPRS connection for the Windows Mobile Professional emulator. 

                           

  

                        

Success! Connecting successfully to the Cellular Emulator.   

To emulate a faster network connection, click on the Switch to 3G button on the Cellular Emulator. User see the 3G icon on the Windows Mobile emulator.

      

If user cannot connect to the Internet, or cannot see the G symbol, go to the Settings—>Advanced tab and click on the Select Networks button. Ensure that user have the configuration shown in Figure below.

     

                                        

      3G: The screen emulates a 3G connection.

      

Page 26: Mobile Application Testing

   

                            

    Correct Configuration: Be sure to set the profile correctly. 

For Windows Mobile Standard devices, the process is a little more involved:

o Go to Start—>Settings. o Select Connections.

o Select GPRS.

o Select New….

o In the "Description:" field, give the new connection a name, say PPP.

o In the "Connects to:" dropdown list, select Internet.

o In the “Access point:” name, enter some text. Click Done.

o Back in the Connections screen, select Menu—>Advanced.

o In the "Internet connection:" dropdown list, select PPP. Click Done.

User tries to make a connection to the Internet to see if the setup works.  

 

Making Phone Calls

o User make a phone call from the Cellular Emulator and the Windows Mobile emulator will receive an incoming call.

Likewise, the Windows Mobile emulator also make an outgoing call and the call will be displayed in the Cellular Emulator. The Cellular Emulator also shows a list of

 

numbers (7272024, 7272020, etc) that user uses to simulate different phone conditions (such as busy line, call reject, and so on).

  

  Incoming Phone Calls: User making phone calls to the Windows Mobile emulator.

Page 27: Mobile Application Testing

                       

                       Incoming Phone Calls:

 

User

making phone calls to the Cellular Emulator. 

 

Sending and Receiving SMS Messages

      

User also use the Cellular Emulator to send SMS messages to the Windows Mobile emulator . User sends a chain of messages by checking the "Repeatedly" checkbox and specifying the interval between messages.

User also send SMS messages from the Windows Mobile emulator and the messages will be displayed in the Cellular Emulator.

                 

        

      

Incoming SMS Messages: User sending SMS messages to the Windows Mobile emulator.

  

Page 28: Mobile Application Testing

               

        

Incoming SMS Messages: User sending SMS messages from the Windows Mobile emulator. 

Some Common Problems

      

Problems encountered with the Cellular Emulator if user install the Windows Mobile 6 SDK on a notebook are "COM17 is used, please verify" (or something similar). There is no official way to resolve this, but some have been able to work around this by first uninstalling the Windows Mobile 6 SDK, disabling the Bluetooth services, and then installing the Windows Mobile 6 SDK again.

If Windows Mobile emulator is not receiving SMS messages/phone calls made from the Cellular Emulator, the first place to check is the COM port settings in the Emulator Properties page. If  user shut down the Windows Mobile emulator and do not save its current state, restarting it will cause it to lose the COM port number user have set previously. Hence, in general, it is always a good idea to save an emulator's state when exiting it.  

(7) What are the generic defects in emulator, can a emulator always represent the actual handheld?

 

 

The limitations of the emulator include:

o No support for placing or receiving actual phone calls. User simulate phone calls (placed and received) through the emulator console, however.

o No support for USB connections

o No support for camera/video capture (input).

o No support for device-attached headphones

o No support for determining connected state

o No support for determining battery charge level and AC charging state

o No support for determining SD card insert/eject

Page 29: Mobile Application Testing

o No support for Bluetooth

Problems with Emulators

      

Emulators are great, but user should not assume that just because user site works perfectly on an emulator, it will function in the same way on the real device. Emulators often differ in subtle ways from the devices it simulate; this is especially the case if the developer of the emulator is not the original creator of the device. Use emulators to cover a wide breadth of devices that user wouldn’t have access to, and fix any bugs user find; but make sure that user test the site on some real devices too, just to be sure.

As reasons specified above and limitations given for an emulator are enough to say that

No

,emulator cannot always represent the actual handheld device. 

(8) Test strategy, Test case genaration process, and Test data generation process for mobile application.

Test Strategy

      

A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process. This includes the testing objective, methods of testing new functions, total time and resources required for the project, the testing environment and the roles and resposibilities. In the test strategy, it is described how the product risks of the stakeholders are mitigated in the test levels, which test types are performed in the test levels, and which entry and exit criteria apply.

Example :

1 Introduction

1.1 Overview

This document explains the testing methodology for a mobile application, and is to be used as a guide for the testing activity.

The intended audience for this document:

The Project Managers

Product development team members Test engineers

1.2 Scope

The scope of testing as explained in the document is to test the operating characteristics of an application that runs on mobile devices supporting J2ME. The tests are organized by requirement category such as usability,

Page 30: Mobile Application Testing

functionality, security, etc. The procedure for carrying out testing in terms of preparation of test cases, test environment setup, defects logging and reporting are explained.

The document does not address the following:

Content censorship (i.e. assessment against standards for violence, gambling, political messaging etc.) for the purpose of preventing the deployment or sale of an application. Distribution, DRM etc.

Testing requirements specific to a particular manufacturer’s (or network operator’s) device, user interface, and standards (e.g. WAP) implementation.

1.3 References Mention the documents of references

1.4 Acronyms

Acronym Expansion

DRM Digital Rights Management

J2ME™ Java™ 2 Platform Micro Edition

2 Test Plan and Strategy

 

2.1 Unit Testing

2.1.1 Objective

The objective of Unit testing is to verify that a particular module of source code is working properly. Unit tests are designed to test a single class or component or module in isolation. Developers run unit tests, and only for the components they are working on.

2.1.2 Entry Criteria

Test cases are reviewed

Build is complete and self test done

Unit Test environment is set up

2.1.3 Exit Criteria

All planned test cases are executed

Units are working as per the expected results

Defects are fixed in the code and tracked to closure

2.1.4 Logging Tests and Reporting

Page 31: Mobile Application Testing

The developer will fix the defects that are found in unit testing. Additionally, if defects corresponding to other modules or components are found during unit testing, these will be reported.

2.2 System Testing

In System Testing, separate units (packages / modules / components), or groups of units of the application are united and tested as a completely merged application. The purpose of System Testing is to identify defects that will only surface when a complete system is assembled. Verification of the system at this stage might include: functionality, usability, security, installation etc. It is intended to validate the application as a whole.

The rest of this document mainly explains how System Testing is performed by the testing team.

2.2.1 Testing Procedure

The steps in testing consist Creation of all the test scenarios and test casesof:

Preparation of a test case document that has a brief description of the test case , steps to conduct tests and expected result

Defect Report generation.

Outlined below are the main test types that will be performed

a. Application Characteristics (AC) – Information about the application is provided to help the testing team in the testing work.

b. Stability (ST) – Focusing on the application being stable on the device.

c. Application Launch (AL) – Once an application is loaded it must start (launch) and stop correctly in relation to the device and other applications on the device.

d. User Interface (UI)

e. Functionality (FN) - Documented features are implemented in the application and work as expected. Sources for the information are user manuals, formatted application specification documents and online documentation.

f. Connectivity (CO) – the application must demonstrate its ability to communicate over a network correctly. It must be capable of dealing with both network problems and server-side problems.

g. Personal Information Management (PI) - The application accessing user information needs to be able to do it in an appropriate manner and not to destroy the information.

h. Security

2.3 Regression Testing

This is an additional step, and is done prior to taking up system testing which is to test new functionality. Regression testing consists of running a set of standard tests to ensure that old functionality has not been broken by new functionality. Regression tests are also run if a new release is made after fixing a number of defects.

2.4 Pass/Fail Conditions

Page 32: Mobile Application Testing

It is expected that an application must pass all the tests in each test category to be successful.

2.5 Test Report

For each report, the following information is provided: • The name of the application

• The version number of the application

• Device used for testing

• Device firmware version

 For each error reported, the following information is provided: • Description of the error

• Frequency of occurrence of error: Systematic or Random or Once

• Location of the error in the application

• Steps to reproduce the error

3 Schedules for Testing

 

This will be decided in consultation with the project manager.

4 Risks and Assumptions

 

4.1 Risks:

The following may impact the test cycle:

Device availability

Any new feature addition/modification to the application which is not communicated in advance.

Any delay in the software delivery schedule including defect fixes. Any changes in the functional requirements since the requirements were signed-off/formulated

4.2 Assumptions:

Every release to QA will accompany a release note specifying details of the features implemented and its impact on the module under test.

All "Show-Stopper" bugs receive immediate attention from the development team.

Page 33: Mobile Application Testing

All bugs found in a version of the software will be fixed and unit tested by the development team before the next version is released

All documentation will be up-to-date and delivered to the system test team.

Devices, Emulators and other support tools will be fully functional prior to project commencement.

In case of lack of required equipment or changes in the feature requirements, the test schedules may need to be reviewed.

5 Entry and Exit Criteria

 

5.1 Entry Criteria

Development of the application is complete

Successful completion of unit testing for the applications

Release of software to the test environment

Dedicated resources are allocated

Approved test bed to carry out system testing.

Test environment is up and working

5.2 Exit Criteria

The Following is the criteria when the testing will be stopped for this module:

• All test cases have been executed and at least 95% have passed successfully. The remaining 5% do not impact critical functionality

• All test results have been evaluated and accepted.

• There are no showstoppers or high criticality defects unresolved or outstanding

6 Test Metrics

 

Following metrics will be captured and reported as part of the Test

Summary Report

Test Design effort

Test execution effort

Page 34: Mobile Application Testing

Number of Test Cases executed

Number of Defects and classification

Test Coverage (Number of test cases executed/Number planned)

7 Logging Tests and Reporting

 

Some third party applications will be used for reporting bugs found during test execution. The QA team will log defects in the tool as testing progresses.

8 Roles and Responsibilities

 

The roles and responsibilities of the testing team for the project are as follows:

8.1 Project Manager / Test Manager Responsibilities:

Overall responsibility for managing the testing process

Approval of test documents

Approval of inspections/reviews done as per the test plan

Providing resources for the project

8.2 Test Lead

Responsibilities:

Requirement gathering

Planning and estimating for testing

Tracking and monitoring the testing as per the test plan

Reporting the project status

8.3 Test Engineer

Responsibilities:

Creating the test cases as per the test plan

Executing the test cases

Documenting the results and logging errors.

Page 35: Mobile Application Testing

9 Deliverables

Test Plan

Test Cases Document – Document with a description and expected result for each test case.

Test Results – The Pass/Fail status of each test cases and the list of issues.  

Test Case generation Process

      

A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. Written test cases are usually collected into test suites.  In order to fully test that all the requirements of an application are met, there must be at least two test cases for each requirement : one positive test and one negative test; unless a requirement has sub-requirements. Written test cases should include a description of the functionality to be tested, and the preparation required to ensure that the test is conducted.  A test case is usually a single step, or occasionally a sequence of steps, to test the correct behaviour/functionalities, features of an application. An expected result or expected outcome is usually given.  Additional information that may be included:

o Test case IDo Requirement number

o Test case definition (Summary)

o Test case Description (Detailed steps)

o Test data

o Expected Result

Additional fields that may be included and completed when the tests are executed:

o pass/fail o remarks

A written test case should also contain a place for the actual result.

 Sample test cases

Example 1: Making a Call  

To make a call,

either search from existing contact list or just enter number-now.

Step1:User enters the number by pressing the numeric keys of handset.

Expected result:Number gets displayed simultaneously as the user presses the button.

Page 36: Mobile Application Testing

Step2:User then clicks the call green button.

Expected result:Connecting symbol should appear on the screen with simultaneous audio signal and shows connected symbol once  connected

In this way the flow of steps is continued depending on the scenarios defined.

Example 2: Adding contact to mobile

Step1:User presses the menu option or shortkey defined.

Expected result:User is taken to menu options

Step2:User selects the address book.

Expected result:Address book menu is displayed with sub menu options as add contact,delete contact,view contact etc.

Step3:User selects the Add contact.

Expected result:Add contact screen is opened requesting user to enter various fields like Name,number,add picture etc.

Step4:User enter the mandatory fields and clicks on the ok /chooses the save option button

expected result:

New contact is added successfully and displayed in the contacts list when searched by the various options.

Test Data Generation Process

      

Test Data are data which have been specifically identified for use in tests, typically of a computer program. Some data may be used in a confirmatory way, typically to verify that a given set of input to a given function produces some expected result.  Other data may be used in order to challenge the ability of the program to respond to unusual, extreme, exceptional, or unexpected input.

How to prepare test data that will ensure complete test coverage?

Design test data considering following categories:

 

Test data set examples:

 

1) No data: Run test cases on blank or default data. See if proper error messages are generated.

Page 37: Mobile Application Testing

2) Valid data set: Create it to check if application is functioning as per requirements and valid input data is properly saved in database or files.

3) Invalid data set: Prepare invalid data set to check application behavior for negative values, alphanumeric string inputs.

4) Illegal data format: Make one data set of illegal data format. System should not accept data in invalid or illegal format. Also check proper error messages are generated.

5) Boundary Condition data set: Data set containing out of range data. Identify application boundary cases and prepare data set that will cover lower as well as upper boundary conditions.

6) Data set for performance, load and stress testing: This data set should be large in volume. Particularly if application fetching or updating data from DB tables then large data volume play important role while testing such application for performance. Sometimes creating data manually will not detect some subtle bugs that may only be caught by actual data created by application under test.

This way creating separate data sets for each test condition will ensure complete test coverage.

For choosing the test data, we use the following test design techniques.

o Equivalence Class partitioning o Boundary Value analysis

Equivalence Class partitioning

Test case design by equivalence class partitioning proceeds in two

steps:

1. Identifying the equivalence classes 2. Defining the test cases

The equivalence classes are identified by taking each input condition (usually a sentence or phrase in the specification) and partitioning it into two or more groups (i.e., two types of equivalence classes). Valid equivalence classes represent valid inputs to the program, and invalid equivalence classes represent all other possible states of the condition (i.e. erroneous input values).

Boundary Value analysis

      

Boundary value analysis is a software testing design technique in which tests are designed to include representatives of boundary values. Values on the edge of an equivalence partition or at the smallest value on either side of an edge. The values could be either input or output ranges of a software component. Since these boundaries are common locations for errors that result in software faults are frequently exercised in test cases.  For example, if the input in the text field should take 6 characters(1 to 6), then the user should select the test data as 0,1,5,6,2,7.

(9) Test execution and defects in mobile testing.

Test execution

Page 38: Mobile Application Testing

      

Test execution is the process of running a test by the component or system under test, producing actual result(s). Test Execution is the activity which occurs between developing test scripts and reporting and analyzing test results.  In mobile testing, the execution is done by using emulator/simulator and the handheld device.  It is done manually or by using automation tool. 

Approach for Test Execution

o Verify entry criteriao Conduct test

o Compare actual results to expected results

o Investigate and resolve descripancies

o Conduct Regression Test

o Verify exit criteria

o Obtain Signoff

      

If the Actual result and Expected result mismatches, then it will result in a defect. Once the tester gets the defect,tester needs to findout the cause of that defect.  If that defect is related to some environment, then the tester needs to fix it.  Otherwise, the defect is send to the developer as a defect report.

(10) Common defect/s in mobile aplication testing? 

Challenges in Mobile Testing :

o Diversity in Device Environment.o - Handset Model

o - Different Runtimes

o Hardware configurations and network realted problems.

      

- Limitation in processing speed and memory size of mobile devices.

      

- Network latency

      

- Gateways

Page 39: Mobile Application Testing

Compatibility testing with WAP and HTTP.

Types of defects in Mobile :

1. Low Memory.

2. Battery not charging.

3. Calendar Issues.

4. Format a Memory/Media Card.

5. Clearing cache / cookies.

6. Not able to bookmark the webpages.

7. Navigation issues.

8. Hanging/Crash of mobile OS.

9. Lose of data from mobile memory.

10. Radiation problems.

11.Address book on device not synchronizing with

outlook

address book.

(11) Post Test Data and Test Reporting?

      

Test Report is a document that records data obtained from an experiment of evaluation in an organized manner, describes the environmental or operationg conditions, and shows the comparison of test results with test objectives. Test reporting includes

Meeting release criteria Test Summary capturing

Use report format and provide summary of final outcome

Test areas/sub-areas

Types of testing carrying out

No of test cases developed

No of test cycle

Page 40: Mobile Application Testing

Test cases executed and status

No of defects discovered/cycle

No of defects/module

Effort/test case

Effort/defect finding

Effort/module

Outstanding defects

Impact analysis of pending issues

Post Test data helps in Product Maturity and Process Maturity.  By using this test data, user avoids the same type of defects occurring next time.  Post Test Analysis includes :

Defect density to check which module is less/more robust Pending issue analysis to predict reliability / expecting production defects

Effort distribution

Functional Coverage

Most effective testing cycle

Most regressed module

      

References :

http://mobiforge.com/testing/story/a-guide-mobile-emulator

http://www.klauskomenda.com/archives/2008/03/17/testing-on-mobile-devices-using-emulation

http://msdn.microsoft.com/en-us/library/aa462433.aspx

http://www.lionbridge.com

http://www.hpmuseum.org

http://www.opera.com/mobile/demo

http://www.wikipedia.org/wiki/Mobile_application_development

Page 41: Mobile Application Testing

http://www.webcredible.co.uk/

http://www.perfectomobile.com

http://www.howtonetworking.com/email/mobile6a.htm