Your SlideShare is downloading. ×
Android Functional UI Testing at Amplify
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Android Functional UI Testing at Amplify

301
views

Published on

Published in: Engineering, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
301
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Android Functional UI Testing John Lloyd QA Engineer jlloyd@amplify.com
  • 2. Amplify UI Testing 30000 Android 4.2.1 Devices (API Level 17) 50 Developers pushing to 139 Repos 2 build agents (Ubuntu) testing 6 devices 3-4 releases a week ● 6 servers ● 5 apks ● Additional 3rd party apks
  • 3. How much automation? Project X 5 scenarios 44 steps 10 mins Project Y 9 scenarios 96 steps 5.2 mins Pipelines take 20-40 mins!
  • 4. Functional UI Tools We Android Device Cucumber RSpec Honeydew UI Automator Android SDK Monkey Web Cucumber RSpec Selenium Webdriver Chromedriver Capybara
  • 5. Honeydew Honeydew is a Ruby driver for UIAutomator which enables testing of Android devices. Supports API 16 or higher (4.1 Jelly Bean) Supports cross app testing! Developed and opened sourced by Amplify https://github.com/amplify-education/honeydew $ gem install honeydew
  • 6. Demo
  • 7. Emulator Testing • Any* device! • Cheap! • Scale • Snapshots - Reproducible • Can’t interact with Bluetooth, Camera, Battery, GPS, sensors • Slow • *System images not always available
  • 8. Physical Device Testing • Any device • Fast • Better for exploratory testing • Expensive • Fragile • Limited availability • Consumer Hardware will not handle lab abuse
  • 9. Hardware tricks we have learned • Setup/Takedown Hooks to Wipe Data / Factory Reset • Disable Performance Modes and Battery Savers. • Separate your USB and Power supply when possible • Wireless ADB • Get Static IPs • Isolate Wireless Network • Dirty displays, labels and stickers = flakey tests • Keep a box of backup devices, fully charged
  • 10. Upcoming challenges Multiple device support • ARM/Intel • 2.4.1 / 2.4.4 • Marketplace 3rd Party Apps
  • 11. We are open to new tools Calabash • Cucumber • Robotium Appium • Webdriver based
  • 12. And we are on the right path
  • 13. Keep in touch, join us, or fork us jlloyd@amplify.com github.com/amplify-education http://extracredit.amplify.com/jobs http://extracredit.amplify.com