2. (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 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 :
4. 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, 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 :
6. 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
10. 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
o
Webbased 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 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 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:
11. 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 dropdown list
and download the required BlackBerry Device Simulator.
o
The first item in the list is “BlackBerry Email and MDS Services Simulator Package”. Select this and click Next. A
list of files will appear, offering different versions of the simulator. It’s generally OK to pick the latest version – if
user find a simulator doesn’t work after downloading, download the matching MDS simulator package. Click on the
Download link and this will be asked to enter user's personal details. Once user details are entered, click Next. User
12. 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_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 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)
15. 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
x86compatible 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 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.
17. EVDO 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 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 4G's
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.
21. 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, 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 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
26. 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
37. 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
38. 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.