Table of Contents1. Definition of Mobile Application.....................................................................................................................042. Types of Mobile Application............................................................................................................................043. Types of Mobile Operating System..................................................................................................................054. Instructions for mobile application black box testing....................................................................................065. Process of testing mobile application...............................................................................................................07 a. Handheld......................................................................................................................................................07 b. Emulator/Simulator Environment............................................................................................................076. Emulator and Simulator...................................................................................................................................09 7. Working of Emulator and Simulator...............................................................................................................108. Installation of Mobile application....................................................................................................................109. Mobile Application environment Support......................................................................................................1510. Generic protocols in emulator based application.........................................................................................1611. Testing of 2G, 3G, CDMA, GPRS from Emulator........................................................................................1912. Generic defects in Emulator...........................................................................................................................2513. Test Strategy, Test Case generation, Test Data Generation Process...........................................................2514. Test Execution and Defects.............................................................................................................................3115. Common defect/s in mobile application testing............................................................................................3216. 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, entrylevel models. o Types of Mobile Application : Mobile Applications are mainly divided into two types : 1. PreInstalled Application 2. Mobile Application such as SMS/MMS clients, browsers and music players, come preinstalled on mobile phones. 3. Downloadable ApplicationFor example, user downloads applications over the wireless network and then install the application themselves, or have them loaded and installed in the mobile operators 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 :
File ManagerMobile 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, email, text messaging and more. The operating system will also define which thirdparty applications to be used on the device. Some of the most common and wellknown 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 worlds 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 imate 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 ReportThe critical factor that determine the success of a mobile testing program are : 1. Use of test automation 2. Use of emulator and actual deviceTesting for Mobile environment and application complexity. o Guidelines for testing Mobile applicationsUnderstand the network landscape and device landscape before testing to identify 1 bottleneck. Conducting testing in uncontrolled realworld test conditions (fieldbased testing) is especially for a multitier 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 endto 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 endtoend 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 pocketsized 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 touchscreen 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 wifi/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 preinstalled and another one is downloadable. To test a preinstalled 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)ReRun the Windows Mobile 6 Professional Images installer (Windows Mobile 6 Professional Images (USA).msi) and select the option to Repair:Windows Mobile 6 RepairReceive 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 EmulatedNext, 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 DeviceNext, right click the ActiveSync icon from the taskbar and select Connection SettingsCheck the Allow connections to one of the following box, then select DMA from the dropdown list and click OKActiveSync ConnectionActiveSync 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 PCs network connection becomes bridged, allowing the user to browse the Internet using the Emulated PCs 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 unixbased 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 doesnt use the same code base. For example, a PCbased 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 devicespecific 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. oEmulators 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 deviceas 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 Webbased emulator o Installable emulator o Symbian based emulator o Emulator that is only used to test the applications oWebbased emulator :Webbased 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 iPhoneSDKA 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 MiniOpera Mini is probably the most popular userinstallable browser. Opera offers an online simulator that allows user to run Web sites immediately(http://www.opera.com/mobile/demo/). After a brief delay, the site will load:
Simulator tipsUse 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 EmulatorsMany 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 dropdown listand download the required BlackBerry Device Simulator. oThe 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 users 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 dropdown 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_18.104.22.168.exe o BlackBerry_Simulators_22.214.171.124_9500_Europe.exe oInstall 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 subfolder 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 subfolder 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 onscreen 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 fullscreen for presentation purposes Simulate events, such as incoming voice call (useful for applications that may be interrupted)
Windows Mobile EmulatorWindows Mobile Emulator ScreenshotInstallationTo 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 ConfigurationAfter 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 simulatorsNokia Mobile Browser Simulator 4 ScreenshotBefore 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 usefulfor 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 Operas 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 handsets hardware. The BREW application is instead compiled to native code and linked with a x86compatible BREW runtime library. oMobile 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 preinstalled 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 devicespecific libraries exist (commonly used for games), making them nonportable. 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, multitasking OS specifically architected to run well on resourceconstrained 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 Linuxbased platform from the Open Handset Alliance, whose 34 members include Google, HTC, Motorola, Qualcomm, and TMobile. 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 manufacturers devicesBlackBerry :Supports push email, mobile telephone, text messaging, internet faxing, web browsing and other wireless information services as well as a multitouch interface. It has a builtin QWERTY keyboard, optimized for "thumbing", the use of only the thumbs to type. The BlackBerry devices soon took a dominating position on the northAmerican 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, nonApple approved applications are released to jailbroken iPhones via Cydia or Installer. oExecution 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 PHS4G HCSD TACSCDMA HSDPA TDMACDMA2000 iDEN TDSCDMA
EVDO Mobitex UMTSFDMA NMT WCDMAGAN PCS WiDENGPRS PDC WiMAX3G 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 earths 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 fourthgeneration 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 endtoend IP and highquality streaming video will be among 4Gs distinguishing features. Fourth generation networks are likely to use a combination of WiMAX and WiFi.CDMA CodeDivision 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 analogtodigital conversion (ADC) in combination with spread spectrum technology. The technology is used in ultrahighfrequency (UHF) cellular telephone systems in the 800 MHz and 1.9 GHz bands. IS95 uses CDMA.CDMA2000 CDMA 2000 is a CDMA version of the IMT2000 standard developed by the International Telecommunication Union (ITU). CDMA2000 supports mobile data communications at speeds ranging from 144 Kbps to 2 Mbps.EVDO Evolution data maximized (CMDA2000 1x EVDO) is based on CDMA2000. EVDO 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 widelyinstalled 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 dualmode phone. The system is based upon use of unlicensed spectrum with technologies like Buletooth, WiFi, 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 packetbased wireless communication service based on GSM networks and complements existing services like circuitswitched 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 highspeed circuitswitched data protocol updates CSD, providing data rates up to 64 Kbps.HSDPA HighSpeed 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, twoway 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 packetswitched, radiobased 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 DAMPS, 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).TDSCDMA Time division synchronous code division multiple access is a mobile telephone standard that combines TDMA with an adaptive, synchronousmode CDMA component. TDSCDMA combines support for both circuitswitched data, such as speech or video, and also packetswitched data from the Internet, with data transmission at speeds up to 2 Mbps. UMTS
Universal mobile telecommunications service describes broadband , packetbased 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 codedivision multiple access is an ITU standard derived from CDMA, officially known as IMT2000 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 KHzwide 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. GPRSActiveSync 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, rightclick on the emulator in the Device Emulator Manager and select Cradle. When the emulator is successfully cradled to ActiveSync, its icon will change accordinglyand 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 emulators 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; rightclick 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 emulators 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 fullsignal 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 ConnectionsOne 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 Emulators 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: Usermaking 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 ProblemsProblems 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 emulators 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 deviceattached 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 EmulatorsEmulators 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 ManagersProduct 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 serverside 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 signedoff/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 "ShowStopper"♣ 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 uptodate 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 subrequirements. 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 ResultAdditional 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 numbernow.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 connectedIn this way the flow of steps is continued depending on the scenarios defined.Example 2: Adding contact to mobileStep1:User presses the menu option or shortkey defined.Expected result:User is taken to menu optionsStep2: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 buttonexpected result:New contact is added successfully and displayed in the contacts list when searched by the various options.Test Data Generation ProcessTest 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 executionTest 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 SignoffIf 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/subareas 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 issuesPost 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