You are on page 1of 40

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
(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 Application
2. 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 :­
 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
 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) 

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 automation
2. Use of emulator and actual device

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 IDE
2. 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.

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

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.

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. 

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 emulator
2. 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

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 emulator
o 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

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:

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.

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

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 
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 

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.

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.

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.

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.

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

 
 

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 
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.

                               

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

 
 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.

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. 

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.

                             

    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.

              

                       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.

   

     

         

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 
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, 
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 

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 cases♣of:  

 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 

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. 

 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♣ 

 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. 

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 ID
o 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.

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.

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

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 criteria
o 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

 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
 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

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

http://www.perfectomobile.com

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

You might also like