Your SlideShare is downloading. ×
Automating android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Automating android

955
views

Published on

Presentation on Automation and CI for Bay Area Android Developer Group MeetUp on March 25, 2014. Details here: http://bit.ly/NZjkMh

Presentation on Automation and CI for Bay Area Android Developer Group MeetUp on March 25, 2014. Details here: http://bit.ly/NZjkMh

Published in: Technology

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

  • Be the first to like this

No Downloads
Views
Total Views
955
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
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. Automating Android! ! By Melvin Laguren
  • 2. Traditional Testing Triangle
  • 3. Unit Testing • Checks A Single Use Case • No Dependencies • Fast • Repeatable
  • 4. Integration Tests • Combining Units Together • Data Dependency • Test Multiple Things • Slower
  • 5. Functional Test • Black Box Testing • Describes What The System Does
  • 6. 5 Steps To Functional Testing • Determination of the functionality • Creation of test data • Output based on test data • Writing of test scenarios • Comparison of actual and expected results
  • 7. Automation Key
  • 8. Mobile Testing Approach
  • 9. Mobile Automation Approach
  • 10. App
 AndroidManifest.xml
 res/
 …
 src/
 …
 tests/
 AndroidManifest.xml
 res/
 …
 src/
 … Unit Testing Resources & Source For Main Application Resources and Source For Tests
  • 11. Automating Acceptance
  • 12. Frameworks For Functional Tests
  • 13. App
 AndroidManifest.xml
 res/
 …
 src/
 …
 tests/
 AndroidManifest.xml
 res/
 …
 src/
 …
 features
 step_definitions/
 support/ Acceptance Testing App
 Android/
 iOS/
 features/
 step_definitions/
 support/
  • 14. Feature: One Time Password Scenario: User Sends OTP Given I launch the OTP App
 Then I see the One Time Password
 And I see the time left
 And I see the Credential ID
 And I see the Send Code Button
 When I touch the Send Code Button
 Then I see the progress bar Feature File
  • 15. Feature: One Time Password Scenario: User Sends OTP Given I launch the OTP App
 Then I see the One Time Password
 And I see the time left
 And I see the Credential ID
 And I see the Send Code Button
 When I touch the Send Code Button
 Then I see the progress bar Feature File
  • 16. Feature: One Time Password Scenario: User Sends OTP Given I launch the OTP App
 When I touch the Send Code Button
 Then I see the progress bar Feature File
  • 17. Feature: One Time Password Scenario: User Sends OTP Given I launch the OTP App
 When I send the OTP Code
 Then the OTP Code is sent Feature File
  • 18. Given(/^I launch the OTP App$/) do
 app.launch
 end When(/^I send the OTP Code$/) do
 OTPscreen.send_code
 end Then(/^the OTP Code is sent$/) do
 OTPscreen.code_sent
 end Step Definitions
  • 19. Mobile Abstraction Layer
  • 20. • Cross Platform, Open Source • Supported By Xamarin • Interact with native and hybrid apps • Gestures • Assertions • Screenshots • Requires Instrumented Build Calabash
  • 21. How It Works
  • 22. • Cross Platform, Open Source • Supported By Sauce Labs • Interact with web, native and hybrid apps • Gestures • Assertions • Screenshots • Does Not Require Instrumented Build Appium
  • 23. How It Works
  • 24. • Commercial Option by SOASTA • Records gestures (Record and Playback) • Image validation • Visual Test Creation TouchTest
  • 25. • Commercial Option by SOASTA • Records gestures (Record and Playback) • Image validation • Visual Test Creation TouchTest
  • 26. Common Issue
  • 27. Emulator or Device
  • 28. • Cost is a factor • Functionality not dependent on device profile • Latency ! Use Emulator
  • 29. • Test Dependent On Profile • Functionality not dependent on device profile • Latency ! Use Device
  • 30. Continuous Integration
  • 31. Stage 1 Testing - Emulators
  • 32. Stage 2 Testing - Devices
  • 33. Another Approach
  • 34. • www.sqaessentials.com • www.calaba.sh => www.xamarin.com • www.appium.io => www.saucelabs.com • www.soasta.com Links To Automation Tools
  • 35. • www.junit.org • www.rspec.info • www.jbehave.org • www.cukes.info • http://jasmine.github.io Links To Frameworks
  • 36. • www.sqaessentials.com • melvin@sqaessentials.com • Twitter: @mlaguren • github.com/mlaguren Contacting Melvin