What is Mobile Application Testing Types of Mobile Applications Different Mobile Platforms How to Test Mobile Application ? Challenges How to overcome ?
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
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 gamesDisadvantages:This type of app is expensive to develop because it is tied to one type of operatingsystem, forcing the company that creates the app to make duplicate versions that workon other platforms.
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, LinkedInHybrid 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.
Types of Applications in Mobile:1. Web Based Applications2. Pre-Installed Applications3. Installable Applications1. 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
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
Android IOS (IPhone) Symbian(Nokia) J2ME RIM (Blackberry) BREW(CDMA-Qualcomm) Windows Mobile or WinCe Bada (Samsung) Meego(Nokia – Linux based)
iOS(iphone Operating System) is an operating system used in iphones, ipads and ipods.List of iphone operating systems: ios1 ios2 ios3 ios4 ios5 ios6List of IPhone devices: iphone 2G iphone 3G iphone 3GS iphone 4 iphone 4S iphone 5
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 Apples iPad Touch and iPhone. List of ipads: ipad ipad2 ipad3 ipad mini
Candy bar phones Touch Screen phones Slider phones Clamshell devices(flip phones) Phones with QWERTY keyboard Qwerty Keyboard Phones with AZERTY keyboard Azerty Keyboard
People getting more mobile Lot of phones truly smarter Faster networks More Apps, Features & Usages Increasing Mobile Market
Installation: Verify that application can be Installed Successfully.Types of installation1. OTA(Over The Air)- Need GPRS sim card and internet connection.2. Wi-Fi3. Data cable4. BluetoothUninstallation: Verify that application can be uninstalled successfully.Application Logo:Verify that application logo with Application Name is present in applicationmanager and user can select it.Splash:Verify that when user selects application logo in application manager splashis displayed.Note: Splash do not remain for more than 3 seconds.
Low Memory:Verify that application displays proper error message when device memory islow 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 morethan 3 seconds. E.g.: SpinnerContinual Keypad Entry:Verify that continual key pad entry do not cause any problem.
Features to be checked while testing application using touch screen device: Touch functionality Touch Response Touch AreaExit Application:Verify that user is able to exit from application with every form of exit modes likeFlip, 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 tohamper.
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)
1. Testing in Network strengths like Low, Medium, High2. Testing in Change of Network strength from low to high and high to low3. Testing in various Battery Strengths like Critical, Low , High and During charging4. Monitoring Battery Consumption pattern while running the application in foreground, Background and for long time5. 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
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 SwitchersA 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.
A virtual mobile device that runs on computer which lets you developand 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
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)