Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Automated Mobile Acceptance Testing Presentation - mdevcon 2013
Search
Pete Hodgson
March 15, 2013
Programming
2
620
Automated Mobile Acceptance Testing Presentation - mdevcon 2013
Pete Hodgson
March 15, 2013
Tweet
Share
More Decks by Pete Hodgson
See All by Pete Hodgson
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
410
Test-driven Client-side JS
phodgson
5
710
Functional Reactive JavaScript
phodgson
8
670
different.js - Forward JS 2014
phodgson
4
700
Railsconf2014
phodgson
7
1.3k
Building Your Own Lightsaber
phodgson
99
5.7k
iOS Unit Testing Workshop
phodgson
3
400
Multi-platform Mobile with Calatrava - May 2013
phodgson
2
320
Unit testing with Kiwi - CocoaConf San Jose 2013
phodgson
1
470
Other Decks in Programming
See All in Programming
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
390
禅の心を手に入れよ
eltociear
1
180
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
350
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
270
Ruby GitHub Packages
bkuhlmann
0
630
Git Rebase
bkuhlmann
11
1.6k
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
Elm 0.19.0 Changes
bkuhlmann
0
490
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
680
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
370
Code Reviews
bkuhlmann
4
890
Featured
See All Featured
Gamification - CAS2011
davidbonilla
76
4.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Six Lessons from altMBA
skipperchong
21
3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
Embracing the Ebb and Flow
colly
80
4.1k
Design by the Numbers
sachag
274
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Transcript
Automated Acceptance Testing mdevcon 2013
Pete Hodgson @ph1
None
we are hiring
None
examples are iOS same principles across platforms
Straw Poll
Straw Poll AppCode ~ or ~ XCode
Straw Poll IntelliJ ~ or ~ Eclipse
None
we all test
why do we test?
does it work?
does it still work?
does it work on ?
testing provides feedback
why don’t we test?
manual testing can be expensive
manual testing can be tedious
“Computers are designed to do simple repetitive tasks. The second
you have humans doing repetitive tasks, all the computers get together late at night and laugh at you…” - Neal Ford
so automate your tests (where it makes sense)
testing provides feedback
testing provides feedback automated better
testing provides feedback automated faster
testing provides feedback automated broader
testing provides feedback automated uniform
None
types of automated testing
Mobile App End User Backend Services
Unit Test Mobile App End User Backend Services
Mobile App End User Backend Services Integration Test
Acceptance Test Mobile App End User Backend Services
Acceptance Test Mobile App End User Backend Services The App
Acceptance Unit Integration
demo!
None
I love it! How do I do it?
iOS Frank Calabash KIF Appium UIAutomation
Android Calabash Robotium Instrumentation
Mobile Web iPhoneDriver/AndroidDriver chromedriver headless WebDriver webdriver-user-agent
None
the UI testing triad
None
select a bit o UI
select a bit o UI simulate interaction with it
select a bit o UI simulate interaction with it inspect
state o it
UI select interact inspect
UI select interact inspect
UI select interact inspect
user simulation touch(...) type_into_keyboard(...) set_orientation(...) double_tap(...) tap_and_hold(...) drag_with_initial_delay(...)
simulating gestures
UI select interact inspect
UI select interact inspect
touch(...)
touch(...) what?
None
view selectors
view selectors a little language to specify which views you
are interested in e.g. CSS or XPath
demo!
good view selectors == sustainable tests
accessibility is your best friend
record-and-playback test suites are not sustainable
UI select interact inspect
UI select interact inspect
demo!
interact inspect select UI
putting it all together
demo!
thanks. questions?
more questions? @ph1 http://blog.thepete.net
[email protected]
me, at the bar feedback:
rate.thepete.net this deck: slides.thepete.net