26
T23 Class 10/6/2011 3:00 PM "Selecting Mobile Application Automation Tools" Presented by: Pradeep Kumar Govindasamy Cognizant Technology Solutions Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 8882688770 9042780524 [email protected] www.sqe.com

Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Embed Size (px)

Citation preview

Page 1: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

    

T23 Class 10/6/2011 3:00 PM 

       

"Selecting Mobile Application Automation Tools"

   

Presented by:

Pradeep Kumar Govindasamy Cognizant Technology Solutions

         

Brought to you by:  

  

340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com

Page 2: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Pradeep Govindasamy Cognizant Technology Solutions

With more than twelve years of experience in the information technology industry, Pradeep Govindasamy currently holds the lead role for the Automation and Mobile Testing Center of Excellence at Cognizant. Pradeep started—and is now the research and development unit lead for—the automation and mobile practices which has more than 1500 experts servicing global customers. Pradeep has spoken on topics of automation, test data management, and tools at conferences worldwide including STARWEST, STAREAST 2011, Swiss Testing Day, HP Universe, and EuroStar.  

Page 3: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Mobile TestingSelecting Mobile Application Automation Tools Thursday, October 06, 2011 3:00 PM 

|  ©2011, Cognizant 1 |  ©2011, Cognizant 

Agenda

ololTesting

Testing

Introd

uctio

nIntrod

uctio

nDemystifying Mobile Platforms

Demystifying Mobile Platforms

Understanding & ChallengesUnderstanding & Challenges

Tool selection Tool selection 

etermining the Right too

etermining the Right too

Mob

ile Autom

atin

Mob

ile Autom

atin

n class fram

eworks

n class fram

eworks

Criteria

Understanding tools

Criteria

Understanding tools

Cognizant frameworkCognizant framework

|  ©2011, Cognizant 2

De

De

Best i

Best i

Page 4: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Mobile Operating Systems

Part 1

Systems

|  ©2011, Cognizant 3

Part – 1Demystifying the Mobile World

Mobile Platform

iPhone OS  Android Windows Phone Symbian Blackberry OS

Current version 4.3

Closed Source

Apple

Restricted Multi tasking

Safari web browser

Sync Patch updates

Current Version 3

Open Source

Google

Multi‐tasking

Chrome/ Webkit Browser

Over the air updates

Current Version 7

Closed Source

Microsoft

Restricted Multi‐tasking

Multi touch interface

I.E / Trident

Symbian^4

Open Source

Visual Multitasking

Multi‐touch interface

Mozilla Browser

Sync/Patch OTA

Current version 6.0

Closed Source

RIM

Multi‐tasking

Webkit Browser

Sync/Patch OTA

|  ©2011, Cognizant 4

Page 5: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

World Wide OS Market Share Trend

Worldwide Smartphone operating system (OS) market share in 2009‐2015, according to Gartner

Operating Systems 2009market share

2010market share

2011market share

2015market Share

Android 3.9% 22.7% 38.5% 48.8%

BlackBerry 19.9% 16.0% 13.4% 11.1%

iOS 14.4% 15.7% 19.4% 17.2%

Symbian 46.9% 37.6% 19.2% 0.1%

Windows Phone/Mobile 8.7% 4.2% 5.6% 19.5%

|  ©2011, Cognizant 5

Windows Phone/Mobile 8.7% 4.2% 5.6% 19.5%

Others 6.1% 3.8% 3.9% 3.3%

Total smartphones sold 172 million 297 million 468 million 631 million

What is Mobile App

IQ Video Players City Guide

Mobile Applications are a rapidly developing segment of the global Mobile Market. They consists of software that runs 

on a mobile device and performs certain tasks before the user of the Mobile Phone. They can be downloaded physically 

through USB / WIFI from a desktop or can be downloaded by a web server over internet.

MOBILE Application

Audio Players

Streaming Players

Graphical Viewers

Presentation Viewers

Calendars

Calculators

Diary

ki / i

City Guide

Currency Converter

Translators

Weather

Itinerary

Email Clients

IM Clients

Browser apps

Multimedia

ProductivityCommunication

Travel

|  ©2011, Cognizant 6

Banking / Finance

Directory Services

Browser apps

Social Network Apps

Address Book manager

Utilities

Call Manager

File Manager

Page 6: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Types of Mobile Applications

Native Applications• Applications that reside on the device and are accessible at  any point of time 

• May require network connectivity• Messaging, Telephony, Multimedia, PIM, etc…

Hybrid Applications• Third party applications that are installed in the device

• Requires network connectivity.• Google Chat / Messenger, shopping application on iPhone

Web Based Applications• Accessible through mobile browsers • Interfaces with external systems/servers 

• Wireless Application Protocol (WAP) or Hyper Text Transfer Protocol (HTTP) 

• Mobile Banking, Reservation system

|  ©2011, Cognizant 7

Deciding the type

Depending on the requirements. Some apps are a better fit with web technologies than others. Knowing the pros and cons of each  approach will help you make the right decision about which path is appropriate for your situation.

Stop! – Quality check for Mobile Application 

Increase of Mobile Applications

Increase of Mobile Applications

Hurry‐to‐market pressures

Hurry‐to‐market pressures

Being the first increases greater 

usage of Applications 

Being the first increases greater 

usage of Applications 

•Failure and Security losses destroys the brand reputation

•Test coverage

•Unhappy Customer

Remedy

|  ©2011, Cognizant 8

End to End testing is required for thorough validation of Mobile Applications. Mobile Automation testing is vital to ensure a high application quality and faster time to market in a highly 

competitive market

Mobile Automation Testing becomes Paramount

Page 7: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Image Area

|  ©2011, Cognizant 9

©2011, Cognizant 

Part 2‐ Understanding the Components of Mobile Automation Testing

Mobile Testing ?

Mobile Testing

Hardware / Device Testing

Software Testing

|  ©2011, Cognizant 10

Factory testing Certificate Testing

Application testing

Content testing

Page 8: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Mobile Testing ?

Mobile Testing intends to enable greater mobile experience

Mobile Application testing tests application on various parameters to enable defect free mobile

applications

Automating Mobile Application Testing can deliver greater benefits in-terms of cost and quality

Hardware or 

Device Testing

Mobile Testing

Factory Testing

Certificate Testing

|  ©2011, Cognizant 11

Software Testing

Application Testing

Content Testing

Mobile App Testing Challenges

DEVICE DIVERSITY

• Multiple Platforms

M lti l B

HARDWARE

CHALLENGES

• Limitations in• Multiple Browsers

• Rendering differences

• Mobile devices have

different application

runtimes.

• Limitations in 

processing speed

• Limitations of Memory 

size of mobile

• Differences in 

Communication 

Protocols of devices 

WAP/ HTTP.

|  ©2011, Cognizant 12

NETWORK CHALLENGES

• Multiple type of Networks(GSM / GPRS / Wi‐Fi / Wi‐Max etc )

• Unpredictable time taken for data transfer

• Different speed of connectivity across geographies

• Multiple Network Operators with customized Network features

WAP/ HTTP.

Page 9: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Mobile Application Testing Eco System

Test Tool

Automation Tools

Mobile Application 

Testing

Emulators

Simulators

Real

|  ©2011, Cognizant 13

Real Devices

Virtual Devices

Mobile Automation Testing?

Though there are challenges the benefits 

of Automation supersedes the demerits

Usual Rare

Quicker  Highly reliable

Why?

Net ‐ Net

In numerable variations

OS/ PlatformsHardware devices/ OEM

P i d

Cheaper Robust

|  ©2011, Cognizant 14

CHALLENGES

Limited Resources

Numerous Connectivity modes

Varying features

Processing speedSmall memory

Wi‐Fi, Wi‐Max,Cellular networks

AccelerometerRadio trasmitter

Page 10: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

A Typical Test Automation setup for mobile

Automation toolEmulatorReal Device

Connectivity•Bluetooth•Wi‐Fi•USB•Remote

|  ©2011, Cognizant 15

•Remote

Typical Mobile Automation 

App 1

Mobile applications under Test (AUT)

App 2 App N

Test Data

Automation Engine  

Starts and automates test 

cases on the application 

Real Devices/ Emulator/ Remote 

Schedule and track test execution

Test Management 

Tool

Scheduler

ss In

terface

|  ©2011, Cognizant 16

working on device and / or  

emulator

Report Defects

Defects

Acces

Page 11: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Understand Requirements and Budgets

Mobile Automation Approach

Type of testautomation

Determine feasibility of AutomationDetermine feasibility of Automation

Scan markets to identify tools for AutomationScan markets to identify tools for Automation

Evaluate cost benefit analysis of patch/ tool creation for A t ti

Evaluate cost benefit analysis of patch/ tool creation for A t ti

Traditional i.e Regression etc

Non Traditional i.e Compatibility, Location based etc

Classify Application as Native, Hybrid , Web Based

Classify Application as Native, Hybrid , Web Based

Determine the test tool for maximum automation coverage

Determine the test tool for maximum automation coverage

|  ©2011, Cognizant 17

AutomationAutomation

Execute manual testing and create test scriptsExecute manual testing and create test scripts

Execute Automation test cyclesExecute Automation test cycles

gg

Perform manual testing and create Scripts for Automation

Perform manual testing and create Scripts for Automation

Execute Automation test cyclesExecute Automation test cycles

Mobile Automation Approach

Classify Application as Native, 

Hybrid , Web Based

Determine feasibility of 

Automation

Traditional i.e Regression etc

Non Traditional i.e

Compatibility, Location based

etc

Understand Requirements and 

Budgets

Types of Test

Automation

Determine the test tool for 

maximum automation coverage

Perform manual testing and 

create Scripts for Automation

Scan markets to identify tools for 

Automation

Evaluate CBA of patch/tool 

creation for Automation

|  ©2011, Cognizant 18

Execute Automation test cyclesManual execution, creation and 

execution of Automation test cycles

Page 12: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Candidates for Mobile Automation 

Business 

Typical Candidates for Mobile Automation

Testing Types Testing Tools

• Complex business logic

• Lengthy business flow

• Data Driven Test scenarios

• Frequently changing 

Application under test

• Complex business logic

• Lengthy business flow

• Data Driven Test scenarios

• Frequently changing 

Application under test

• Smoke and build acceptance 

Testing.

• Regression Testing

• Synchronization Testing

• Compatibility Testing

GUI T i

• Smoke and build acceptance 

Testing.

• Regression Testing

• Synchronization Testing

• Compatibility Testing

GUI T i

• Less Dynamic UI components

• Across platform testing

• Testing with different carriers 

across various location

• User’s interaction with the 

li i

|  ©2011, Cognizant 19

• GUI Testing• GUI Testing application

• Test steps  spanning across 

multiple test cases

Image Area

|  ©2011, Cognizant 20

©2011, Cognizant 

Part 3: Tools and Best Practices

Page 13: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Tool Types

Mobile Testing Tools

Remote Based Desktop Based

Device Anywhere

Industry Based Open Source

• Squish

• FoneMonkey

• Robotium

• Selenium

|  ©2011, Cognizant 21

Perfecto Mobile

y

• JamoSolutions

• Keynote

• Eggplant

• Robot 

Selenium

Image Area

|  ©2011, Cognizant 22

©2011, Cognizant 

Part 3.1: Mobile Web Automation 

Page 14: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Mobile Web Automation

Web Pages render differently on various mobile phone making Automation of Mobile Testing of Web Page Key to its successWeb Pages render differently on various mobile phone making Automation of Mobile Testing of Web Page Key to its success

Automation Testing Approach

User Agent Based Automation Testing

Emulator / Device based Automation Testing

Remote based Automation Testing

Gather Requirement for Testing

Classify the testing types•Compliance•End to End testing

Compliance Testing•Automated Testing tool to validate the content at every step of development

utom

ation 

s

|  ©2011, Cognizant 23

Decide on Automation tool •Browser Simulation tool•Emulator / Device Automation tools•Cloud based automation tools

Conduct testing on emulators

Conduct Final verification testing on multiple Devices

Mob

ile W

eb A

Step

s

User Agent Based Automation Testing

Web Server

A User agent is a utility which comes as an add‐ons with any desktop browsers that makes the browser request and display mobile web pages .  Test Automation tools like QTP or Selenium can be leverage for validating Mobile Web page displayed on Web Browser

No Additional software Exact look and feel of the

Pros

Web Browser

User Agent

Web browser displays mobile website

Request as Mobile Phone

Response for Mobile

Phone

• Fidler • Selenium

No Additional software required to be installed

Automation is possible with existing automation tools like QTP , Selenium and so on

Easy to incorporate in‐house frameworks f.or automation.

Does not need mobile devices to run the tests

Exact look and feel of the web application is not realized 

Issues that occur due to device browsers may not get captured

Cons

|  ©2011, Cognizant 24

Automation Commands

Automation Tool

Automation Engine Reports manager

Reports

• Fidler• BaydenUAPick• Plugins in Firefox• UA Switcher• Custom Addon's

Independent Addons

• Selenium• QTP• RFT• Silk Test

Automation Tools

Page 15: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Emulator/ Device Based Automation Testing Approach

Web Server

The functional validation of any mobile application would normally be done on emulators/mobile devices. While it is highly recommended to test the end to end testing on mobile devices, emulators can be leveraged for initial sanity checks and also to a certain extent for functional validation. There are various automation tools available for validating the mobile application on both devices and emulators.

Pros

Req

ues

t Resp

onseEmulator / Device

Web Page Under Test

Web Driver / Robot

It is possible to do an end to end testing of the Application

Test coverage can be highly increased.

Highly reliable

It is possible to automate lot of live scenarios.

A good mix of emulators and devices is recommended if testing is exhaustive

The initial environment set up needs to be done and it involves cost.

Device specific issues cannot be captured using emulator based automation

P

C

|  ©2011, Cognizant 25

Automation Tool

Automation Engine Reports manager

Automation Commands Reports

Cons

Supported PlatformsiOS and Android

Tools

• Selenium• Robot Selenium 

Image Area

|  ©2011, Cognizant 26

©2011, Cognizant 

Part 3.2: Mobile Native / Hybrid Application Automation 

Page 16: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Native/Hybrid Application Automation

Native and hybrid Applications are more rich applications and highly interactive applications. Automation Testing Appoachand Process are different for Native Application

Automation Testing Approach

Emulator / Device based  Remote based Native Application Automation Testing Automation Testing

Gather Requirement for Testing Classify the testing types Perform POC for 

Application Automation 

omation Step

s

|  ©2011, Cognizant 27

Decide on Automation tool •Emulator / Device Automation tools•Cloud based automation tools

Conduct testing on emulators

Conduct Final verification testing on multiple 

Devices

Native App

 Aut

Emulator/ Device Based Automation Testing Approach

APP Server

Native Application Automation would demand possible download from App server and installation of Mobile Applications. The Device Should have Automation agent Running in it. 

Pros

Emulator / Device

Application Under Test

Automation Agent

It is possible to do end to end testing of the Application

Test coverage to a very high percentage

Highly reliable

It is possible to automate – many automation tools are available.

A good mix of emulators and devices is recommended if testing is exhaustive

The initial environment set up needs to be done and it involves cost.

Testing under various carrier networks is cumbersome.

Co

Download and Install Applications

|  ©2011, Cognizant 28

Automation Tool

Automation Engine Reports manager

Automation Commands Reports

ons

Autom

ation 

Tools

Autom

ation 

Tools Robotium

UI Automation

Test Quest

Jamo Solutions

See Test

Robotium

UI Automation

Test Quest

Jamo Solutions

See Test

Page 17: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Cloud Based Agent’s Automation Testing Approach

Server side LabLab 1

Cloud based testing offers testing on real devices hosted in the cloud.  It facilitates in validating a mobile application if it has to be done on a various mobile devices on a live carrier network. They also support automation and test management.

Pros

Client Side IDE / Test Tool

Lab2

….

Lab N

Internet

Access to Large pool of devices

Facilitates testing on live devices under live network

Credible testing results

Possible to test all modes of connectivity

Highly increased test coverage

Incorporates automation.

Highly dependent on network

Performance bottlenecks creep up

Not possible to trouble shoot issues on devices and on the test environment

P

C

|  ©2011, Cognizant 29

Test Engine

Test Data Manager

Report Manager 

Industry Test Management Tool

Cons

Automation ToolsAutomation Tools

Device Anywhere Perfecto Mobile

Image Area

|  ©2011, Cognizant 30

©2011, Cognizant 

Part 3.3: Tool Selection and Best Practices 

Page 18: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Tool Selection Criteria

Scope based decisions

Scope based decisions

•Platforms support• Supported Versions of platforms

•Types of automation supported.

•Device variants within a platforms ( form factors)

Cost Benefit Analysis

Feature based decisions

Feature based decisions

•Working on both simulator /device

• Integration to test management

•Ease of use and scripting support

Timelines for the project

|  ©2011, Cognizant 31

Infrastructural decisions

Infrastructural decisions

• Stability•Dependency on mac/desktops

•Cloud based/stand alone

Regression Test Count &

Complexity

Best practices for Selecting the ideal Mobile Automation Tool

1. Always perform tool feasibility since mobile technologies and platforms are varied

2. Select tools that support both platform simulators and device as one could mix and match to optimizing 

runs on devices.

3. Also look for automation in non functional areas like interruption, hardware scenarios like battery state 

changes etc 

4. Always optimize on the platform support, in some cases there could be a need for one or more tools to 

perform automation

5. Look for multiple devices support and versions support

6. Look for utility and reusable functions that would add value to automation

7. Always make sure the ROIs per platform and overall time

8. Look for avenues for early automation since most of mobile projects are also agile

|  ©2011, Cognizant 32

9. Integrated execution with test management tool is going to be important for tool success

10. Look for data driven automation support as iterations in execution is going to increase coverage and ROI

11. Also look for failover and error handling mechanisms in the automation tools, since there is a lot of 

external interactions that could cause unexpected errors

Page 19: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Candidates for Automation

1. Identify regression test cases

2. Classify test cases according to Automation tool ability

3. Identify complex applications business logic

4. Identify test cases that are complex in creation and maintenance 

5. Look for test cases that are redundant in nature

6. Identify test case flow that can be accommodated across multiple mobile 

platforms.

7. Time consuming manual test cases that can be effective when automated

8 Test cases that can run unattended with little / no manual intervention

|  ©2011, Cognizant 33

8. Test cases that can run unattended with little / no manual intervention

9. Identify test cases based on the automation technique of mobile automation 

tools

Organize the test assets i.e. test objects, t t d t d /

Use Re‐Usable components

Data drive the test scripts to reduce 

i t ti d

Best Practices for Automation

test data, procedures / functions and test scripts

Identify Re‐usable components  

within organized objects , 

procedures and

components within various 

scripts 

Use Re‐usable components 

across platforms

script creation and execution time

|  ©2011, Cognizant 34

procedures and functions

across platforms

Page 20: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Best Practices for Automation

Perform POC on critical platforms to narrow down to a tool/tool set 

One tool may not solve cross platform automation goals be open for more than one tool 

While evaluating tools for Automation, also evaluate them for integration with Test management tools 

Identify reusable scenarios across platforms and group them. This facilitates creation of appropriate framework to save time

For Native Apps, choose critical test cases that are going to be run across releases as candidates for automation 

Always keep in mind different form factors while determining test coverage, 

Best Practices

|  ©2011, Cognizant 35

y p g gespecially for Mobile Web. 

Factor the different connectivity aspects for automation execution runs

Image Area

|  ©2011, Cognizant 36

©2011, Cognizant 

Part 4: Best in Class Frameworks 

Page 21: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

One of the more useful (from a developer standpoint) features coming in iOS 4 is the UI Automation tool. This enhances to run an automated set of tests against an application, and test to see if they had the expected results.

Architecture Features

Script can be easily executedTune up

Instrument

iPhone Automation Framework Approach

Script can be easily executed on real device and simulator

Ease of Script using JavaScript

Ability to perform UI level automation on iPhoneapplications

UI Automation Assertion

Pre-defined Reusable Functions

Test Script Imports tune up

UI Automation

|  ©2011, Cognizant 37

applications

Key Benefits

Collection of JavaScript library 

functions

Eases the test script creation

Easy to install and use 

Improves reusability

iPhone

37

Android Instrumentation Testing

Robotium Implement

One of the more useful (from a developer standpoint) features coming is the UI Automation tool. This enhances to run an automated set of tests against an application, and test to see if they had the expected results.

Architecture Features

Robotium implements Activity Instrumentation of Android Testing Framework in a simple 

Android Framework Approach

Android Instrumentation Testing

Robotium Test Scripts

Device Emulator

Application Under Test

Android Junit Eclipse

Instrumentation Test Runner using adb

(Non-eclipse)

manner similar to Selenium

The test script is a java file which implements roboitum’s class ‘solo’

The test scripts can be run on actual device or emulator using Android Junit Framework in eclipse platforms

It can also be run using the Instrumentation test runner through ‘adb’

|  ©2011, Cognizant 38

Key Benefits

runner through  adb

Offers additional functions which are not present in 

Activity testing

It is open source and easy to develop scripts.

Improves test productivity, and can be executed on device and Emulators.

38

Page 22: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Image Area

|  ©2011, Cognizant 39

©2011, Cognizant 

Part 4.1: Industry Tools

Mobile Test Tools in Market

Tools/ Parameters Test Quest Countdown

Device Anywhere Pro Squish Jamo Solutions Perfecto Mobile Robotium Eggplant

Support of devices/platform

s

Android, BlackBerry, Brew MP,

Symbian and

Android, BlackBerry, Brew

MP, Symbian, Windows Phone

and Apple iPhone

Squish is a general GUI testing tool

Android, Windows Mobile, Windows

CE.

iPhone, IOS, Blackberry, Android

,Windows Mobile and Symbian

Android

Android, iPhone,

Symbian,Windows Mobile, y

Windows Phone and Apple iPhone and iPad.

g Symbian. ,Blackberry

Licensing Cost Cost Cost Cost Cost OpenSource cost

Ease Of Usage Easy to use Easy to useNeeds

programming

Easy to use. Easy to use. Needs programming Easy to use.

Scripting No Scripting Scripting Possible

Uses JavaScript,

Python, Perl or TCL

Uses VB script.

It uses no programming

language for scripts, script is very simple

and can be easily understood

Uses java. Uses 'Sensetalk'

Test Data Parameterization Not available Possible Available Available Not Possible Possible

|  ©2011, Cognizant 40

Parameterization

Remote Connectivity Possible Possible Possible Possible Not Possible Not Possible Possible

Integration with test management

In-built test management

tool test manager

Quality Centre

Quality Centre, Cruise control

Quality Centre and any other test

management tool supported by QTP

Possible Not Possible Not Possible

Page 23: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Device Anywhere

Mobile Application Testing. Any Device. Any Platform. Anywhere. 

Device Anywhere  provides testers access to more than 3,500 Mobile handsets via the Internet 

for remote testing.

Virtual Test Lab with real devices hosted 

Available for usage 24x7x365 in live network

Shared across distributed teams

Real‐time access to Mobile networks

Screen‐by‐screen phone activity capture

Automation testing feasibility

Test Case Manager tool helps QA teams to define test plans and create 

customized test reports

|  ©2011, Cognizant 41

Device Anywhere Advantages• User Friendly • User gets access to many devices• Users can share a device •We can test real mobiles

Device Anywhere Disadvantages:• Cost involved 

p

Perfecto Mobile

Perfecto Mobile is provider of Remote Access and Automated testing solutions for Mobile devices.

Currently it support the following platforms‐ iPhoneCurrently it support the following platforms iPhone, Android, Windows Mobile, Symbian, Blackberry, Droid 

The Perfecto Mobile Handset Cloud service enables you to test your Mobile applications, websites or services on a multitude of REAL handsets. 

The service enables you to access real Mobile devices via the web and control them as if you were holding them in 

h dWeb Access & Remote

Automation Across 

|  ©2011, Cognizant 42

your hands.

Test Automation enables you to extend your testing coverage, shorten your testing cycles and replace repetitive and time consuming manual work. 

& Remote control Multiple 

Device

Page 24: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Image Area

|  ©2011, Cognizant 43

©2011, Cognizant 

Part 4.2: Cognizant’s Mobile Automation Testing Frameworks

1. Reusability of scripts is

maintained.

Benefits

Cognizant’s Mobile Test Automation Framework

2. Speed-up Test execution

which reduces time.

3. Higher Reproducibility for

errors through automated

testing.

4. Ease to maintain the

portability of scripts across

|  ©2011, Cognizant 44

device.

5. Less manual interception,

hence less error prone

which gives higher ROI.

Page 25: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Typical Mobile Application Testing Framework

Enterprise Data

Mobile Web Communication Framework/

Mobile 

Admin Services Mobile Client

Backend Middleware Device UItio

n layers

Application Data

ServicesFramework/ 

ServerWebsite

Functional Testing 

SOA Testing Device Mgmt testing

UI Testing

Installation Testing

Integration testing

Authentication testing

Security testing Device profiling

Integration testing

Compatibility testing 

InterruptionType

s of Testing

App

lica

|  ©2011, Cognizant 4545

Our Tools to accelerate testing process

Fully Automatable Partially Automatable Not Automatable

Testing of Mobile Web Applications 

The browser simulation tools like BaydenUA Pick, Fiddler,

and User Agent Switcher etc can be used to simulate the

mobile browser experience on IE, Mozilla Firefox, to render

web sites as it would appear on mobile devices

The Selenium IDE can be used to record scripts and export

Selenium Core

Selenium Core

Automation approach for testing mobile web apps using Selenium

Framework Integrated Testing for Mobile Web APPs

the code to java, ruby, python or c#.

The exported code can now be used with Selenium RC,

where the scripts can be modified according to the needs

and can be run against any browser.

The approach makes use of the in-house CRAFT framework

where the Business flows are driven through excel sheets,

using keywords. Using add-ons like UAPick, Fiddler, Bayden UA , set the

User Agents specific to devices to render web pages

accordingly.Remote Control Server

Key Benefits

|  ©2011, Cognizant 46

Java, Ruby, Python, Perl, PHP or .Net

This is a very effective method for testing mobile web apps,

since it doesn’t use any simulators or real devices.

It just uses the desktop browser and the open source tool

Selenium, using which we can easily test the functionality

of web applications.

Makes efficient use of the home-grown CRAFT framework.

Key Benefits

46

Page 26: Selecting Mobile Application Automation Tools - … Mobile Application Automation Tools ... Test Automation tools like QTP or Selenium can be leverage for ... The initial environment

Cognizant Mobile Testing Tools

CSMartPro• CSMartPro is an Cross 

M‐Jammer• Cognizant’s Mobile Interrupt 

Platform Automation tool  for  Graphical User Interface based functional testing

Simulating Tool, can be used for testing the AUT when the mobile application is stressed with multiple interrupts

|  ©2011, Cognizant 47

M‐TestLocale• M‐TestLocale overrides the GPS on User Location, thus enabling Location Based Service Applications to be tested in a Smart fashion

M‐WebChecker• A  desktop tool  which would check the compatibility of web pages for different mobile devices in accordance with W3C standards