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
280
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
210
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
720
Test-driven Client-side JS
phodgson
5
920
Functional Reactive JavaScript
phodgson
8
860
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
580
Other Decks in Programming
See All in Programming
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4.6k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
110
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
360
AIエージェントの隔離技術の徹底比較
kawayu
0
450
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
210
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
300
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3k
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
130
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Moments When Things Go Wrong
aurimas
3
130
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
260
New Earth Scene 8
popppiees
3
2.3k
Bash Introduction
62gerente
615
210k
Design in an AI World
tapps
1
220
The SEO Collaboration Effect
kristinabergwall1
1
470
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
BBQ
matthewcrist
89
10k
How to make the Groovebox
asonas
2
2.2k
Speed Design
sergeychernyshev
33
1.8k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
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