SlideShare a Scribd company logo
My 10 Mobile
Automation
Questions
Hello!
I’m Ran Ben Aharon
Automation & Tools lead @ EverythingMe
http://ranbena.com
@ranbena
Track Record
▣ Netcraft
▣ Mobile Web dev
▣ Firefox OS
▣ HTML5IL + FEDs
I LUV
▣ Coding (JS + Python)
▣ Refactoring
▣ Pull Requesting
▣ Solving problems with Tools
<3
FIXED A TYPO
NOW APP CRASHES
IN PRODUCTION
RELEASE DAY
SCARED SHITLESS
DREAMED OF MAKING
MOBILE APPS
NOW I CAN’T SLEEP
‘’
In order to move fast, you
need good brakes.
Joey Simhon
EverythingMe
Auto-Tools
aka Visibility
Community
Share, Discuss, Support, Network
Doing Mobile Automation?
55%
Attempted
Yep
17%Not yet
28%
Your answers
10 Questions
I needed to answer in order to begin
1.
Why is it so hard
to automate
mobile?
Y u so hard
▣ No widely used solution
▣ Hard to get advice
▣ Not everything fits
▣ Requires lots of attention
▣ Devices fragmentation
24 devices
Distinct devices
8 sizes
Distinct screen dimensions
70% users
Latest OS adoption rate
18,796 devices
Distinct devices (Aug ‘14)
150 sizes
Distinct screen dimensions
2.5% users
Latest OS adoption rate
via OpenSignal
2.
How is it so
different from
desktop software
automation?
Different from desktop
▣ Not yet mature
▣ No common open source solution
▣ Device fragmentation
▣ Users interact differently
▣ Device resources are limited
▣ App store limitations
▣ Rapid deployment
3.
Is there no solid
open source
solution out
there?
Why did we
have to go and
build our own?
No solid open source solution
▣ Maturity
▣ Single platform*
▣ Single dev language*
▣ No one-stop-shop
CI > Testing fw > UI simulation fw > Visibility
▣ Each app has it’s unique needs
□ None have ALL features
□ Concentrate on UI testing
* Excluding Appium
4.
How do the big
boys do it?
The big boys
Ebay
Calabash
Mobile automation at Ebay Slides
Mozilla
Robocop for Android
Marionette for Firefox OS
Automated testing for Firefox OS
SoundCloud
Robotium for Android
Frank for iOS
Facebook
Selendroid for Android
Yelp
KIF for iOS
Espresso for Android
Zappos
KIF for iOS
5.
Must test on real
devices?
Are emulators
and simulators
ok too?
Emulator
▣ Cheap
▣ Fast
▣ Multiple on 1 comp
▣ Sharable
▣ Mock battery,
sensors, network
▣ No hw fatigue
▣ Low maintenance
Real or Emulator?
Real device
▣ Reliable results
▣ Any model available
▣ No need for
resource emulation
6.
Device labs on
premise or cloud
service?
Pros
▣ Focus on most
relevant devices
▣ No dependency
▣ No queue
▣ Real time
▣ Fast results*
On premise
Pros
▣ Wide range of devices
▣ Scale
▣ Zero maintenance
▣ Real locations*
▣ Real cell networks*
▣ Your test fw + CI
▣ Built-in stress testing*
▣ Manual testing*
Device cloud
To name a few
Appthwack
Appurify
Experitest
Keynote
Perfectomobile
SauceLabs
TestDroid
...
LessPainful
LessPainful
Google I/O ‘14
opendevicelab.com
7.
Open source or
commercial
service?
Pros
▣ Free
▣ Community
▣ Your code
Open source
To name a few
▣ Appium
▣ Calabash
▣ Espresso
▣ Frank
▣ KIF
▣ Robotium
▣ Selendroid
▣ MonkeyTalk
▣ ...
Android
▣ UiAutomator
API 16+ (Appium)
▣ UiAutomation
API 18+ (Robotium)
▣ Instrumentation
API 1+ (Espresso,
Selendroid, Calabash)
User Action Simulation & Introspection
iOS
▣ UiAutomation
(Appium, Zucchini)
▣ UiSpec (Kif, Frank)
Magneto - Command your Droids
Magneto
Pros
▣ Working solution
▣ Robust reports
▣ Script recording
▣ Device cloud
integration*
Proprietary solutions
To name a few
▣ Experitest
▣ Jamo
▣ Keynote
▣ Ranorex
▣ SOASTA
▣ TenKod
▣ ...
8.
Who writes test
scenarios? Should you?
▣ Automation engineer?
▣ QA team?
▣ Developer?
▣ Product?
Who writes tests?
9.
Where and when
should tests run?
Is there a
widely adopted
methodology?
Release Flow Stages
Dev
Review
Merge
Release
Spec RC
Release Flow Stages
Dev
Review
Merge
Release
Spec RC
Build Build Build Build
10.
How do you
maintain result
trust?
▣ Unreliable results
▣ Not part of release flow
▣ No visibility
▣ Cumbersome tools
Distrust and disengagement
▣ Reliable results
▣ Integral part of release flow
▣ Full visibility
▣ Delightful tools
Trust and cooperation
UI Testing. Got it.
Anything else?
Much much more.
UI testing is just one aspect out of many.
This is where it gets even more interesting!
Much more than UI testing
▣ Broken connectivity simulation
▣ Offline mode
▣ Excessive resource usage
▣ AB testing / feature switches
▣ Non visual events assertions
▣ Jank detection
▣ API mocks
▣ Stats testing
▣ OTA updates
▣ Stress testing
▣ Image recognition
▣ Crash detection
▣ Purchase/advert flow
▣ Sensors
▣ OS event simulation
More info
▣ GTAC - 2014 vids
▣ SmashingMagazine article
▣ TestDroid blog
Thanks!
Any questions?
You can find me at
http://ranbena.com
ran@ranbena.com
@ranbena

More Related Content

What's hot

What's hot (20)

Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Cross platform test automation using Appium
Cross platform test automation using AppiumCross platform test automation using Appium
Cross platform test automation using Appium
 
Appium workship, Mobile Web+Dev Conference
Appium workship,  Mobile Web+Dev ConferenceAppium workship,  Mobile Web+Dev Conference
Appium workship, Mobile Web+Dev Conference
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App Testing
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Build a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBuild a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile Apps
 
An Introduction to Appium Desktop
An Introduction to Appium DesktopAn Introduction to Appium Desktop
An Introduction to Appium Desktop
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introduction
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
 
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
See test
See testSee test
See test
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 

Viewers also liked (7)

Firefox OS Intro
Firefox OS IntroFirefox OS Intro
Firefox OS Intro
 
Web Audio API in 15 min
Web Audio API in 15 minWeb Audio API in 15 min
Web Audio API in 15 min
 
Mobile Automators - Headlines Aug '15
Mobile Automators - Headlines Aug '15Mobile Automators - Headlines Aug '15
Mobile Automators - Headlines Aug '15
 
Magneto - Android Test Automation
Magneto - Android Test AutomationMagneto - Android Test Automation
Magneto - Android Test Automation
 
Css Specificity
Css SpecificityCss Specificity
Css Specificity
 
Css specificity inheritance and the cascade things you should know
Css specificity inheritance and the cascade things you should knowCss specificity inheritance and the cascade things you should know
Css specificity inheritance and the cascade things you should know
 
DoAT - mobile web-app development
DoAT - mobile web-app developmentDoAT - mobile web-app development
DoAT - mobile web-app development
 

Similar to My 10 Mobile Automation Questions

Random_Stability_Testing
Random_Stability_TestingRandom_Stability_Testing
Random_Stability_Testing
Lex Yu
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & Javascript
Moses Ngone
 

Similar to My 10 Mobile Automation Questions (20)

Testing Mobile JavaScript
Testing Mobile JavaScriptTesting Mobile JavaScript
Testing Mobile JavaScript
 
Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010Testing Mobile JavaScript (Fall 2010
Testing Mobile JavaScript (Fall 2010
 
An Introduction To Mobile Software Testing
An Introduction To Mobile Software TestingAn Introduction To Mobile Software Testing
An Introduction To Mobile Software Testing
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
10 things to consider when choosing a mobile platform (iOS or Android)
10 things to consider when choosing a mobile platform (iOS or Android)10 things to consider when choosing a mobile platform (iOS or Android)
10 things to consider when choosing a mobile platform (iOS or Android)
 
Mobile Testing, That's Just A Smaller Screen, Right?
Mobile Testing, That's Just A Smaller Screen, Right?Mobile Testing, That's Just A Smaller Screen, Right?
Mobile Testing, That's Just A Smaller Screen, Right?
 
Windows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth PresentationWindows Phone Dev Day Bournemouth Presentation
Windows Phone Dev Day Bournemouth Presentation
 
London Tester Gathering Workshops - Mobile Software Testing - Stephen Janaway
London Tester Gathering Workshops - Mobile Software Testing - Stephen JanawayLondon Tester Gathering Workshops - Mobile Software Testing - Stephen Janaway
London Tester Gathering Workshops - Mobile Software Testing - Stephen Janaway
 
Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Random_Stability_Testing
Random_Stability_TestingRandom_Stability_Testing
Random_Stability_Testing
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
Mobile & Wearables Games for Health 2014 Tutorial
Mobile & Wearables Games for Health 2014 TutorialMobile & Wearables Games for Health 2014 Tutorial
Mobile & Wearables Games for Health 2014 Tutorial
 
Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince BullingerCross-Platform Mobile Development with PhoneGap-Vince Bullinger
Cross-Platform Mobile Development with PhoneGap-Vince Bullinger
 
What is being exposed from IoT Devices
What is being exposed from IoT DevicesWhat is being exposed from IoT Devices
What is being exposed from IoT Devices
 
Building Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & JavascriptBuilding Mobile Apps using HTML CSS & Javascript
Building Mobile Apps using HTML CSS & Javascript
 
27.1.2014 Tampere. Perinteinen mobiilimaailma murroksessa. Tommi Teräsvirta: ...
27.1.2014 Tampere. Perinteinen mobiilimaailma murroksessa. Tommi Teräsvirta: ...27.1.2014 Tampere. Perinteinen mobiilimaailma murroksessa. Tommi Teräsvirta: ...
27.1.2014 Tampere. Perinteinen mobiilimaailma murroksessa. Tommi Teräsvirta: ...
 
Robot test system for Car navigation and Automotive
Robot test system for Car navigation and AutomotiveRobot test system for Car navigation and Automotive
Robot test system for Car navigation and Automotive
 

Recently uploaded

Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
Kamal Acharya
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 

Recently uploaded (20)

The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
NO1 Pandit Amil Baba In Bahawalpur, Sargodha, Sialkot, Sheikhupura, Rahim Yar...
 
Introduction to Casting Processes in Manufacturing
Introduction to Casting Processes in ManufacturingIntroduction to Casting Processes in Manufacturing
Introduction to Casting Processes in Manufacturing
 
Fruit shop management system project report.pdf
Fruit shop management system project report.pdfFruit shop management system project report.pdf
Fruit shop management system project report.pdf
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering Workshop
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientist
 

My 10 Mobile Automation Questions