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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Pete Hodgson
March 15, 2013
Programming
2
810
Automated Mobile Acceptance Testing Presentation - mdevcon 2013
Pete Hodgson
March 15, 2013
Tweet
Share
More Decks by Pete Hodgson
See All by Pete Hodgson
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
1
240
Migratory Patterns - KubeCon Salt Lake City, 2024
phodgson
0
190
A Journey Into Feature Toggles - OSCON Austin 2017
phodgson
5
700
Test-driven Client-side JS
phodgson
5
890
Functional Reactive JavaScript
phodgson
8
840
different.js - Forward JS 2014
phodgson
4
870
Railsconf2014
phodgson
7
1.5k
Building Your Own Lightsaber
phodgson
104
6.5k
iOS Unit Testing Workshop
phodgson
3
560
Other Decks in Programming
See All in Programming
開発ステップを細分化する、破綻しないAI開発体制
kspace
0
110
TipKitTips
ktcryomm
0
160
AHC061解説
shun_pi
0
340
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
200
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
380
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
390
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.6k
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
740
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
130
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
3
1.1k
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
540
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
120
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Agile that works and the tools we love
rasmusluckow
331
21k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
370
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
370
The untapped power of vector embeddings
frankvandijk
2
1.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Producing Creativity
orderedlist
PRO
348
40k
Prompt Engineering for Job Search
mfonobong
0
180
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