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 Presentatio...
Search
Pete Hodgson
March 15, 2013
Programming
820
2
Share
Automated Mobile Acceptance Testing Presentation - mdevcon 2013
Pete Hodgson
March 15, 2013
More Decks by Pete Hodgson
See All by Pete Hodgson
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
1
260
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
190
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
710
Test-driven Client-side JS
phodgson
5
900
Functional Reactive JavaScript
phodgson
8
850
different.js - Forward JS 2014
phodgson
4
880
Railsconf2014
phodgson
7
1.5k
Building Your Own Lightsaber
phodgson
104
6.5k
iOS Unit Testing Workshop
phodgson
3
570
Other Decks in Programming
See All in Programming
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
830
存在論的プログラミング: 時間と存在を記述する
koriym
5
820
ファインチューニングせずメインコンペを解く方法
pokutuna
0
270
How Swift's Type System Guides AI Agents
koher
0
150
AIエージェントで業務改善してみた
taku271
0
490
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
感情を設計する
ichimichi
5
1.3k
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
190
Swift Concurrency Type System
inamiy
0
300
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
170
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
110
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
370
Testing 201, or: Great Expectations
jmmastey
46
8.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Fireside Chat
paigeccino
42
3.9k
Visualization
eitanlees
150
17k
Side Projects
sachag
455
43k
Skip the Path - Find Your Career Trail
mkilby
1
100
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Building Applications with DynamoDB
mza
96
7k
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