build your own mad-lab - for mobile test automation

35
MAD-LAB Mobile Automation Devices LAB Anand Bagmar Software Quality Evangelist

Upload: anand-bagmar

Post on 23-Jan-2018

1.229 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Build your own MAD-LAB - for Mobile Test Automation

MAD-LABMobile Automation Devices LAB

Anand BagmarSoftware Quality Evangelist

Page 2: Build your own MAD-LAB - for Mobile Test Automation

About Me

@BagmarAnand

Blog – essenceoftesting

about.me/anand.bagmar

Page 3: Build your own MAD-LAB - for Mobile Test Automation

What do you expect from this session?

Page 4: Build your own MAD-LAB - for Mobile Test Automation

Context

Page 5: Build your own MAD-LAB - for Mobile Test Automation

EcosystemPlatforms

• Android (> v4.4.2)

• iPhones (> v5)

• Desktop / WAP

Regions• Indonesia

• Malaysia

• India

• Middle-East

• ...

Page 6: Build your own MAD-LAB - for Mobile Test Automation

Dynamic Content

Page 7: Build your own MAD-LAB - for Mobile Test Automation

Search

Page 8: Build your own MAD-LAB - for Mobile Test Automation

Download

Page 9: Build your own MAD-LAB - for Mobile Test Automation

Offers

Page 10: Build your own MAD-LAB - for Mobile Test Automation

ADs

Page 11: Build your own MAD-LAB - for Mobile Test Automation

What this means ... Reality!• Unique installs (Android) - > 1.75M

• Unique # of devices (Android) - > 13K

Page 12: Build your own MAD-LAB - for Mobile Test Automation

What this means ... Product!• One product, One experience

• Unique / Regional / Local content

• User detection & offers based on origin

• Region

• Carrier network

• ...

Page 13: Build your own MAD-LAB - for Mobile Test Automation

What this means ... Testing!• Video Quality, Dynamic Content, Download Expiry

• Simulating Carriers / Networks

• Consumer focus!• Experience

• Device / OS combinations

Page 14: Build your own MAD-LAB - for Mobile Test Automation

Business Requirements• Provide visibility into -

• What is Tested

• Overall Quality of Product

Page 15: Build your own MAD-LAB - for Mobile Test Automation

APIs

Payment partners

CMS

....

....

Architecture

Page 16: Build your own MAD-LAB - for Mobile Test Automation

APIs

Payment partners

CMS

....

....

Where are these?

Page 17: Build your own MAD-LAB - for Mobile Test Automation

How would you approach

Automation for such a product?

Page 18: Build your own MAD-LAB - for Mobile Test Automation

What Metrics make sense for

determining Quality?

Page 19: Build your own MAD-LAB - for Mobile Test Automation

Automation Strategy

Page 20: Build your own MAD-LAB - for Mobile Test Automation

Automation Criteria• E2E tests should focus on Business Rules & User Scenarios

• Reports should reflect the above

• Understood by all Business & Technical stakeholders

• Generated automatically

• Should run frequently

• Every new change in the product-under-test

• On a variety of device / OS combinations

Page 21: Build your own MAD-LAB - for Mobile Test Automation

What to Automate?Validate what was working, continues to work!

• Identify user journeys / scenarios

• Prioritize it!

Page 22: Build your own MAD-LAB - for Mobile Test Automation

Run Automation against...Usage patterns from Analytics / PlayStore / App Store

• Identify devices that matter

• Identify devices that are “automation-friendly”

Page 23: Build your own MAD-LAB - for Mobile Test Automation

Automation Tech Stack• Cucumber-JVM à For specifying Business Rules

• Appium à To allow integration with Android / iOS

• Gradle / Groovy à As build tool scripting language

• Jenkins à Continuous Integration Server

• TTA - Test Trend Analyzer à Trend & Failure Analysis

Page 24: Build your own MAD-LAB - for Mobile Test Automation

MVP / POC

Page 25: Build your own MAD-LAB - for Mobile Test Automation

Scale&

Repeat

Page 26: Build your own MAD-LAB - for Mobile Test Automation

Experiment, Learn & Evolve

Page 27: Build your own MAD-LAB - for Mobile Test Automation

Experiments• Run tests on Emulators

• Use Cloud-based services (Local Vs Remote)

• SauceLabs

• TestObject

• Amazon Device Farm

• pCloudy

• Devices

Page 28: Build your own MAD-LAB - for Mobile Test Automation

Some Experiments didn’t work• Emulators

• Video Player

• Location

• Cloud-based services• Location

• Tech Stack

• Devices

Page 29: Build your own MAD-LAB - for Mobile Test Automation

MAD-LAB

Page 30: Build your own MAD-LAB - for Mobile Test Automation

MAD-LAB – Mobile Automation Devices LAB

Page 31: Build your own MAD-LAB - for Mobile Test Automation

Innovations in MAD-LAB• Device management (selection, cleanup, app install and

uninstall)

• Parallel test execution (at Cucumber scenario level) -maximising device utilisation)

• Appium server management

• Adb utilities (periodic ADB server disconnects)

• Custom reporting using cucumber-reports

• Video recording of each scenario and embedding in the custom reports

• Analytics Automation

Page 32: Build your own MAD-LAB - for Mobile Test Automation

Conclusion

Page 33: Build your own MAD-LAB - for Mobile Test Automation

Learnings (so far)Blue-print is important!

• Stepping-stone approach

Experiment!

• Know your objective(s)

• Fail-fast!

Make the Product Testable!!

Page 34: Build your own MAD-LAB - for Mobile Test Automation

References• Sample code

• https://github.com/anandbagmar/cucumber-jvm-appium-infra

• Blog posts• https://essenceoftesting.blogspot.com/search/label/madlab

• TTA (Test Trend Analyzer)• https://essenceoftesting.blogspot.com/search/label/tta

Page 35: Build your own MAD-LAB - for Mobile Test Automation

Thank you!

@BagmarAnand

Blog – essenceoftesting

about.me/anand.bagmar