mohit anand, software engineer adobe 1 selecting gui automation testing tool for mobile domain

31
Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

Upload: clemence-shaw

Post on 18-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

Mohit Anand, Software EngineerAdobe

1

Selecting GUI Automation Testing Tool for Mobile Domain

Page 2: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

2

Abstract

With the growing number of mobile apps and their agile development life

cycle, Automation testing around them will no longer be optional. The intent of

this paper is to present a comparison between the widely used mobile

automation tools in order to determine their ease of use & effectiveness. We

picked up a typical Adobe mobile app, tested its GUI manually & then followed

it up by a round of automation testing using these tools. This paper list down the

technical nuances involved while choosing any such tool for user specific

scenario.

Page 3: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

3

Do you know your apps?

Page 4: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

4

Complexities in Mobile Landscape

Page 5: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

5

Operating System & Device Manufacturers

Page 6: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

6

Screen Size & Resolution

Page 7: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

7

GPU: Heart of Creative Apps

Page 8: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

8

Localization: The Big hurdle

Page 9: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

9

Our main consideration

Page 10: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

10

Need of Automation in Mobile Testing

Automation is the key

7(Q1’14) – 40(Q1’16)

Page 11: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

11

Mobile Automation Tools

Page 12: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

12

Selection criteria

We want to have a combination of tools which satisfy the following criteria:

Can automate Android/iOS/Both mobile apps

First party/Third party tool

Bundled with the OS IDE/ Should be installed separately

Coordinate based/ Object based automation

Page 13: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

13

Tools Selected

Page 14: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

14

Key Features

Components of this tool

Google• Provides an API for writing programs to control an Android device/emulator.

• Can be used for both functional and UI testing.

• Entirely based on coordinates based automation.

• MonkeyRunner

• MonkeyDevice

• MonkeyImage

MonkeyRunnerMonkeyRunner

Page 15: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

15

MonkeyRunnerMonkeyRunner

Page 16: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

16

Key Features

Components of this tool

Google• It is a java library containing API’s to create customized functional UI tests.

• Integrated with Google’s own Android development IDE

• Entirely based on object based automation.

• Uiautomatorviewer

• API framework.

UI AutomatorUI Automator

Page 17: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

17

UI AutomatorUI Automator

Page 18: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

18

Key Features

Components of this tool

• It is an integrated environment for recording, customizing and managing test suites.

• Open source, eclipse based IDE.

• Used for automation of both iOS & Android apps.

• Limited features are available in the free version of this tool. Paid version is costly.

• MonkeyTalk IDE

• MonkeyTalk Agent

Cloud Monkey

Page 19: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

19

Page 20: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

20

Key Features

Components of this tool

• Appium Server

• Appium Client libraries

• Appium Inspector

• It is a HTTP server that takes HTTP commands from the test script and executes the command on the device.

• Based on WebDriver JSON protocol.

• Used for automation of both iOS & Android apps.

• Totally derived from selenium code + mobile gesture handling

Sauce Labs

Page 21: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

21

Page 22: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

22

Deep dive into Appium

Page 23: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

23

Test Setup

Page 24: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

24

The Process: Recipe of Success

Page 25: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

25

Demo of Adobe Shape GUI Automation

Page 26: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

26

Takeaways

Use real devices: In Adobe, we say no to simulators.

All elements in the UI should have a unique resource id.

The App UI has changed: Get ready for modifying your test script.

Say NO to sleeps and xPath.

iOS Automation: You need code access or debug build.

Page 27: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

27

Choose the RIGHT tool

Page 28: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

28

Use case scenario

Monkey Runner

Android app only Basic UI testing Time Crunch Low effort/investment

UI Automator

Android app only Intensive UI testing.

Don’t want to use third party tool.

Have time to build a stable automation

solution.

Monkey Talk

Android & iOS app

Your app doesn’t supports web

view.

Image comparison

requirement.

Can install agents in your app / can invest money per

month

AppiumAndroid & iOS app

Intensive UI testing

Don’t have code / Don’t want to

install any agent.

Stable automation

solution (free) for suite of apps

Page 29: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

29

Bibliography

o http://developer.android.com/tools/help/monkeyrunner_concepts.html

o https://www.cloudmonkeymobile.com/monkeytalk

o http://developer.android.com/training/testing/ui-testing/index.html

o https://developer.android.com/about/dashboards/index.html

o https://developer.apple.com/support/app-store/

Page 30: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

30

Question and Answers

Page 31: Mohit Anand, Software Engineer Adobe 1 Selecting GUI Automation Testing Tool for Mobile Domain

31