2. What is Mobile Application Testing
Types of Mobile Applications
Different Mobile Platforms
How to Test Mobile Application ?
Challenges
How to overcome ?
3. What is Mobile Application Testing?
Mobile application testing is a process by which application software developed for
hand held mobile devices is tested for its functionality, usability and consistency.
It is similar to software testing but the testing will be performed on a mobile device
instead of performing on a system.
Mobile applications either come pre-installed or can be installed from mobile software
distribution platforms.
Types of Mobile Applications :
Web Application
Native Application
Hybrid Application
4. Web Application:
A web application is an application that is accessed by users over a network such as
the Internet or an intranet.
Web applications are generalized for multiple platforms and not installed locally but
made available over the Internet through a browser.
E.g.: Online Banking Services
Web Apps can be written in HTML, CSS and JavaScript.
Advantages:
You can use simple HTML, CSS and JS for most of the mobile platforms.
You can maintain and fix bugs in real time.
Disadvantages:
You cannot sell your app.
For selling from your app you have implement your own checkout system.
5. Native Application:
Native applications are developed for a specific platform and installed on a
computing device.
E.g.: Camera+ for iOS and Keepassdroid for Android.
A native mobile app is a smartphone application that is coded in a specific
programming language, such as Objective C for iOS and Java for Android
operating systems.
Advantages:
Native mobile apps provide fast performance and a high degree of reliability.
Users can use some apps without an Internet connection.
E.g.: video games
Disadvantages:
This type of app is expensive to develop because it is tied to one type of operating
system, forcing the company that creates the app to make duplicate versions that work
on other platforms.
6. Hybrid Application:
A hybrid application (hybrid app) is one that combines elements of both native and
Web applications
Hybrid apps are web apps built into a native mobile framework
Hybrid apps run in web view. So you can download and install hybrid apps.
Eg: Facebook, LinkedIn
Hybrid application features:
Can function whether or not the device is connected to Internet
Integration with a device’s file system.
Integration with Web-based services.
An embedded browser to improve access to dynamic online content.
7. Types of Applications in Mobile:
1. Web Based Applications
2. Pre-Installed Applications
3. Installable Applications
1. Web Based Applications
Web Based Applications are built for mobile browsers
Can be accessed by entering the specific url in mobile browser
No installation/un-Installations are required
No upgraded involved
User entered values can’t be stored in the device database locally, until user allows
storing information in Cache.
2. Pre-installed Applications
Applications which are shipped as in built software with the mobile device
No Downloads involved
No installation /Un-installation involved
Automatic upgrades can be done but it is software specific
They cannot be uninstalled /deleted over
Crashes can cause severe damage to ROM
8. 3. Installable Applications
Can be upgraded
Can be installed/Un-installed from the device
Can be downloaded from AppStore or OTA (over the air) the URL which leads to
download of the application
9. Android
IOS (IPhone)
Symbian(Nokia)
J2ME
RIM (Blackberry)
BREW(CDMA-Qualcomm)
Windows Mobile or WinCe
Bada (Samsung)
Meego(Nokia – Linux based)
11. iOS(iphone Operating System) is an operating system used in iphones, ipads and ipods.
List of iphone operating systems:
ios1
ios2
ios3
ios4
ios5
ios6
List of IPhone devices:
iphone 2G
iphone 3G
iphone 3GS
iphone 4
iphone 4S
iphone 5
12. iPad is primarily as a platform for audio-visual media
including books, periodicals, movies, music, games, apps and
web content. Its size and weight fall between those of
contemporary smartphones and laptop computers. The iPad
runs on iOS, the same operating system used on Apple's iPad
Touch and iPhone.
List of ipads:
ipad
ipad2
ipad3
ipad mini
13. Candy bar phones
Touch Screen phones
Slider phones
Clamshell devices(flip phones)
Phones with QWERTY keyboard Qwerty Keyboard
Phones with AZERTY keyboard
Azerty Keyboard
14. People getting more mobile
Lot of phones truly smarter
Faster networks
More Apps, Features & Usages
Increasing Mobile Market
15. Installation: Verify that application can be Installed Successfully.
Types of installation
1. OTA(Over The Air)- Need GPRS sim card and internet connection.
2. Wi-Fi
3. Data cable
4. Bluetooth
Uninstallation: Verify that application can be uninstalled successfully.
Application Logo:
Verify that application logo with Application Name is present in application
manager and user can select it.
Splash:
Verify that when user selects application logo in application manager splash
is displayed.
Note: Splash do not remain for more than 3 seconds.
16. Low Memory:
Verify that application displays proper error message when device memory is
low and exits gracefully from the situation.
Clear Key:
Verify that clear key should navigate the user to previous screen.
Visual Feedback:
Verify that there is visual feedback when response to any action takes more
than 3 seconds. E.g.: Spinner
Continual Keypad Entry:
Verify that continual key pad entry do not cause any problem.
17. Features to be checked while testing application using touch screen
device:
Touch functionality
Touch Response
Touch Area
Exit Application:
Verify that user is able to exit from application with every form of exit modes like
Flip, Slider, End Key or Exit option in application and from any point.
Application Start/ Restart:
1. Find the application icon and select it.
2. “Press a button” on the device to launch the app. Observe the application
launch In the timeline defined.
3. Application must not take more than 25s to start.
Application Side Effects:
Make sure that your application is not causing other applications of device to
hamper.
18.
19.
20. Scenarios:
If the device is tilted from portrait mode to landscape mode and vice
versa, the screen should self adjust as per the device
resolution(condition: if the application supports both landscape and
portrait modes)
If the device is tilted from portrait mode to landscape mode, the
screen should display an error message asking the user to switch
the device back to landscape mode or the screen resolution should
not change (condition: if the application supports only portrait
mode)
If the device is tilted from landscape mode to portrait mode, the
screen should display an error message asking the user to switch
the device back to portrait mode or the screen resolution should not
change (condition: if the application supports only landscape mode)
21. 1. Testing in Network strengths like Low, Medium, High
2. Testing in Change of Network strength from low to high and
high to low
3. Testing in various Battery Strengths like Critical, Low , High
and During charging
4. Monitoring Battery Consumption pattern while running the
application in foreground, Background and for long time
5. Interruptions: Activities which can occur parallel with in the
device while application is being installed, launched, run, exit,
uninstalled.
6. Examples of Interruptions like Receiving Incoming call, Lose
Network connectivity and regain it, Activated Camera, Remove
Battery, Shutdown the device.
7. Testing with different input modes in different platforms
22. Lack of physical devices
Time pressure
Lack of test plans, Validation issues
Diversity in Platforms and different OS currently present in the market such as
Android, I-phone etc.
How to Overcome ?
Mobile Device Emulators
Browser Add-ons: Chrome- Ripple, FF-Modify-Headers, FF-User Agent Switchers
A Testing Process:
Test the site in a desktop browser first to ensure functionality behaves as expected.
Once the site is functionally complete, test using some device emulators.
When the site is working correctly across all emulators, begin testing on real
handsets.
23. A virtual mobile device that runs on computer which lets you develop
and test Android applications without using a physical device.
Types of Mobile Device Emulators:
Android Emulator
Blackberry Emulator
Firefox Mobile Emulator
LG Emulator
Microsoft Devices Emulator
Motorola Emulator
Nokia Emulator
Opera Mini Emulator
24. Automation tools for mobile applications:
TestComplete
M-Eux
TestQuest Countdown
Test Quest Pro
Robotium
VNC
Sikuli
FoneMonkey (iPhone)
Eggplant (iPhone)
TestiPhone (For iPhone Mobile Web)