12 October 2012 White paper. Best Practices in Mobile Application Testing



Similar documents
WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

Mobile App Testing Guide. Basics of Mobile App Testing

Mobile Application Testing Challenges & Best Practices

Automated testing for Mobility New age applications require New age Mobility solutions

Open source Test Automation Tools for Mobile Applications A Primer

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

Selecting the Right Mobile Test Automation Strategy: Challenges and Principles

ASHVINS Group. Mobile Application Testing Summary

Syllabus Version 2.5_R ( )

Contents. Executive Summary 3. A Summary of Mobility Challenges 4. Mobile Platform Capability: 6. Mobile Functional Testing 8. Mobile Performance: 10

Syllabus Version

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

"It's a Phone First! How to Test Your Five-star Mobile Apps"

Compatibility Testing for Mobile Apps and Websites

Mobile Application Testing

Minimum Requirements for Web Based Applications

White Paper Bridging the Essential Gap between Continuous Quality and Crowd Based Testing

White Paper. Bridging the essential gap between Mobile Cloud and crowd based testing. 1. Introduction. 2. Testing Lifecycle

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Mobile Testing That s Just a Smaller Screen, Right?

Mobile Test Automation - Right Tools and Right Approach

Following statistics will show you the importance of mobile applications in this smart era,

Mobile Testing Automation

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities

Mobile testing. How to catch up? Agenda. Mobility, an uprising demand Capgemini. All rights reserved. 1. Nov 27, 2014 Sebastiaan Van Gucht

Risks & Trust. A different view on testing Erik Boelen

Mobile Device Manual for 3G DVRs

the future of mobile web by startech.ro

Mobile Phone & Website Tracking Platform Operation Guide

Simple Mobile Application & Browser Testing

Mobile Device Management and Security Glossary

Mobile Test Automation: Lessons Learned in the Trenches

Cognizant Mobility Testing Lab. The faster, easier, more cost-effective way to test enterprise mobile apps.

Mobiliti. Certified Device List MR5 Release. Last Updated November 21, ASP Version

MOBILE APPLICATION TESTING. TekMindz s Testing solutions for enterprises INDZ TM TEK

Mobile Optimisation 2014

Mobile App Testing Process INFLECTICA TECHNOLOGIES (P) LTD

Best Practices for Testing Mobile Applications. Presented by Frank Schloendorn

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

Is Your Mobile Application Ready For Business?

Testing Mobile Applications

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Client requirements. Engagement Situation

Automation Testing in Mobile Applications Swati Hajela

MOBILE APPS. QA Testing for mobile applications

5 Ways to Improve the Quality and Efficiency of your Mobile Testing

DEVICEATLAS MOBILE WEB TRAFFIC REPORT

U.S. Mobile Benchmark Report

Operating Systems/Supported Browser Chart _

Cloud based Testing for Mobile Apps

Cloud Based Mobile Application Testing

A Review of Different Comparative Studies on Mobile Operating System

Cross Platform Mobile. -Vinod Doshi

Statement of Morgan Reed. Executive Director. The Association for Competitive Technology

The Third Screen: What Marketers Need to Know About Mobile Rendering

Synchronization Center

Mobile Testing, Agile Methodologies & You!

Mobinius Testing Services OPTIMIZE YOUR PERFORMANCE AND ENSURE A SUPERIOR USER EXPERIENCE

Application Development Best Practices

geniusport mobility training experts

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Introduction to Android

ipad, a revolutionary device - Apple

Monitoring and control of users in open environments on the Android platform

Evolution of Smartphones And Android Operating System

999GPS.net Tracking Platform Operation Guide

Supported Operating Systems and Browsers Phone Channel

S ELEC T IONS F ROM DZON E S GU ID E TO M OB ILE D E V E LO P M E N T 2015 EDITION R E S E AR C H PA RTNER SPOTLIGHT

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Enhancing Performance Test Strategy for Mobile Applications

Testing & Assuring Mobile End User Experience Before Production. Neotys

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Getting Familiar With Android

How To Choose A Mobile Application Testing Tool

BY THE NUMBERS. Understanding the mobile gaming landscape through Unity metrics

This is our best... YOUR best... Online Banking yet!

Fiserv. Hardware Requirements Browser Support Channel Support. Maximum OS Version Support. Version Support

Cognizant Mobility Testing Lab A state of the art Integrated platform for Mobility QA

Ad Specifications and Guidelines

Five Steps to Android Readiness

A Model for Classification of Issues and Strategies Related To Smart Phones Applications Testing

History of Mobile Applications

Flexible Identity. OTP software tokens guide. Multi-Factor Authentication. version 1.0

E21 Mobile Users Guide

HTML5 the new. standard for Interactive Web

BEST PRACTICES FOR BUILDING YOUR Mobile Applications

Interact Intranet Version 7. Technical Requirements. August Interact

smartphone app testing

Two Factor Authentication (TFA; 2FA) is a security process in which two methods of authentication are used to verify who you are.

BlackBerry Universal Device Service. Demo Access. AUTHOR: System4u

Cell Phone Operating Systems

Service Providers and WebRTC

Mobile Application Development Meets the Mainstream

Mobile App Testing is not something special

INTELLECTUAL PROPERTY LAW FOR MOBILE TECHNOLOGY DEVELOPERS

Synote Mobile. HTML5 Responsive Design Video Annotation Application

AT&T Connect System Requirements for End Users v9.5. March 2013

Performance Analysis of Web-browsing Speed in Smart Mobile Devices

Transcription:

12 October 2012 White paper Best Practices in Mobile Application Testing

The basic frame of software testers mindset is attuned to check documentation, functionality, stability, API and performance and make sure that the software application is secure from all vulnerabilities and check for any other related things surrounding the software piece of code. However, mobile application testing adds a different dimension to the traditional software testing in the sense that the testers have to think about the mobile functions based on usage patterns, heterogeneous devices available in the market with different screen sizes and form factors adds to the complexity of the mobile testing. This whitepaper talks about the best practices that exist at Calsoft Labs pertaining to mobile application testing focusing on mobile apps for iphone, Android, Windows Phone and mobile web apps. These practices have evolved over a period of time with our experience in working with global top enterprises and ISVs that improved the testing activities and provided a quick turnaround time reducing the cycle time. Functional Testing Every new feature developed for a mobile device needs to be thoroughly tested. Functional testing is an important aspect when it comes to mobile app testing. Based on the developed test cases, mobile testers should do manual and automated testing. At the beginning of the test phase, a tester must test the mobile app manually using black box strategy to see if the functionality provided matches to customer expectations and work as designed. Besides traditional software testing defined in text books, like clicking a button, submitting a form, playing around with different screen elements mobile testers must perform more functional and device-specific testing. Today, the market is flooded with smart phones that have a touchscreen requiring multi-touch gesturing to interact with them and provide motion, tilt and gyroscope sensors. A mobile software tester must be sure that the app will work with all these specific device functions if they are used within the app. The sheer number of different mobile devices means that it is not possible to cover all of them during testing, so testers need to focus on key areas of their app during functional testing. Besides the entire manual testing process, it is really important to have good test automation in place for mobile applications. Every code change or new feature could affect existing features and their behavior. Usually there is not enough time for manual regression testing, so testers have to find a tool to perform automated regression testing. Currently, there are a lot of mobile test automation tools on the market, both commercial and open source, for each different platform like Android, iphone, Windows Phone 7, BlackBerry, and mobile web apps. Depending on the development strategy and infrastructure, quality assurance experts need to find the test automation tool that best fits their environment. 2

From an Android perspective, there are open source tools like Robotium, Robolectric, Roboguice, MonkeyTalk, Monkeyrunner, NativeDriver and Calabash for Android. The Android test automation tool Robotium has become the de facto standard in the open source world, as it is able to simulate real user interaction on real devices. iphone test automation tools include KIF (Keep It Functional), UIAutomation, MonkeyTalk, Calabash Frank, Zucchini, and many more for ios. It is however a standard practice to choose test automation tool that uses the same programming language as the production code. If the test and production code are written in the same language, it provides a number of benefits for both testers and developers, as it makes it easy for them to do collaborate on the app development. To summarize the best practices of Functional Testing: Test the app as a black box and try to break it. Open every screen of the mobile app and change the position from portrait to landscape mode and back again as most errors are discovered this way. Don t forget to test device-specific functions, like sensors and communication interfaces. Write test automation scripts for mobile apps using a standard tool Choose a test automation tool that fits into the company strategy and infrastructure. Non-Functional Testing Another important area of mobile testing is the non-functional requirements testing of a mobile app. Usability plays an important role for any mobile application. The ease and comfort with the usage is a huge factor in the success of a mobile app. Hence, the first test to be performed during the early development phase has to be a user centric usability test. These should be carried out by alpha users or work colleagues. Also it s vital to test the mobile apps behavior and performance during interruptions like incoming phone calls, SMS, MMS, tweets or other notifications. The key Non-functional requirements to be tested in a mobile app are: Usability Tests Compare performance levels between the released and the new version of the app(for upgrades) Check how the app reacts to incoming calls, SMS, MMS, or tweets Validate the battery drain of the test device Testing the app s memory usage The ease with which the app is Installed and deleted Testing mobile apps for version upgrades Compatibility and Localization testing for mobile apps 3

Testing the app on different carriers and network connections like GPRS, Wi-Fi or LTE Choosing the right devices for Testing Gartner estimates that there will be 1 billion smartphones and 1.2 billion mobile workers by 2013 and large enterprises expect to triple their smartphone user base by 2015.Also, it s a well know imperative that Mobility is driving the consumerization of IT with billions of downloads from Apple app store and Android market place. With all the seismic and tremendous growth happening in the mobility segment, it becomes a herculean task for an Enterprise to zero in on the right device for testing your application. An industry research finds that there are 11 OS, 49 manufacturers and 8000 devices. As things stand at the moment, there are two big players on the mobile device market: Android and ios. But there are several other platforms that are used fairly often, depending on the geographical region. These are Windows, BlackBerry, webos, SymbianOS, and feature phones. The chart below shows mobile OS penetration in different countries. Source: http://www.thinkwithgoogle.com/mobileplanet/en Nearly every platform has different device vendors who sell smartphones with different hardware and software specifications, as well as customized user interfaces. For example, in the Android world there are vendors like Samsung, HTC, ASUS, LG, Motorola, Sony, Huawei, and many more. This is a serious case of device fragmentation and it is really difficult to find the right devices for testing. 4

Thinking about mobile websites is another challenge that can be really painful, due to the various mobile browsers such as Safari, Opera Mini, Dolphin, Android and RIM native, Google Chrome, Firefox, Internet Explorer 9, and some other feature phone browsers. So, do the following solutions really work out? Use the latest devices and browser versions Buy every device on the market Use simulators or emulators for all the devices A better approach to solving the heterogeneous device problem is to group the devices and browsers depending on their hardware and software specifications with a weightage given to each groups. Each group will have devices assigned based on the platform and vendor. Some of the parameters for grouping the devices are: Smaller screen mobile devices with a slower CPU, small RAM and lower screen resolution Mid-range devices with average/optimal CPU, RAM and processor speed with good screen size and better resolution High End Devices with dual/quad core CPU, higher RAM and greater screen resolution with all the latest software installations Note: It is always advisable not to use simulators and emulators as the test results on them drastically differ from the testing on real devices. Combine Tools As mentioned before, testers must choose an optimal automation strategy and plan for mobile apps testing in order to make sure that any code changes do not affect core functionality. Another best practice is to combine best testing tools and integrate them into a continuous integration server in order to execute them from a central place. Developers need to write unit tests for their code to be sure that each small component of the app is safe and works as expected. In addition, it is very useful to use tools like Robotium or Keep It Functional to implement end-toend integration tests. Know Your End Customers Mobile testing is more effective, if the developer and testing team have a better understanding of the target end users of the apps that use them. One of the means by which this information could be mined is via the app store of the specific vendor (Apple App Store, Google Play Store, Windows Marketplace, and so on). 5

If the team already has multiple apps in one of the stores, they will receive information about customers preferences about devices, software versions, languages and carriers used. When it comes to mobile web pages, there is no app store to provide such user data. Hence, it is advisable to get the information about the user_agents (devices, browsers) used within the mobile website. With the aforesaid knowledge, the development and testing teams can optimize and decrease the amount of development and testing effort required for the various devices and software versions. ABOUT Calsoft Labs Calsoft Labs provides specialized concept to market Product Engineering and embedded design and engineering services both established and early stage product and technology companies in select market segments ISVs, New Media Companies, Networking and Datacom OEMs, computer hardware manufacturers, semiconductor companies and consumer electronics companies. USA 2953, Bunker Hill Lane, Suite 203, Santa Clara, CA 95054. Ph:+1 925 249 3000 - Fax : +1 925 249 3031 INDIA Robert V Chandran Tower, B3, # 149, Pallikaranai, Velachery Tambaram Main Road, Chennai 600 100 Ph: +91 44 4282 9000 - Fax: +91 44 4282 9012 No. 196, Bannerghatta Road, Opposite HSBC, Arekere Circle, Bangalore 560 076 Ph.: +91 80 4034 3000 Fax: +91 80 4034 3111 FRANCE 40 avenue André Morizet, 92514 Boulogne-Billancourt, France Phone : +33 (0)1 46 08 70 00 - Fax : +33 (0)1 46 08 70 10 2012 Calsoft Labs. All Rights Reserved. 6