Once a proud Front End developer, now a total Mobile Automation n00b. I was given the task of rethinking mobile automation at the startup EverythingMe and got familiarized with this exciting new field. In this talk, I present the questions and answers I needed as a newcomer in order to begin the journey.
17. 18,796 devices
Distinct devices (Aug ‘14)
150 sizes
Distinct screen dimensions
2.5% users
Latest OS adoption rate
via OpenSignal
18. 2.
How is it so
different from
desktop software
automation?
19. 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
20. 3.
Is there no solid
open source
solution out
there?
Why did we
have to go and
build our own?
21. 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
23. 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
24. 5.
Must test on real
devices?
Are emulators
and simulators
ok too?
25. 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
27. Pros
▣ Focus on most
relevant devices
▣ No dependency
▣ No queue
▣ Real time
▣ Fast results*
On premise
28. 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
...
36. Pros
▣ Free
▣ Community
▣ Your code
Open source
To name a few
▣ Appium
▣ Calabash
▣ Espresso
▣ Frank
▣ KIF
▣ Robotium
▣ Selendroid
▣ MonkeyTalk
▣ ...
37. 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)