Your SlideShare is downloading. ×
  • Like
Automated interactive testing for i os
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Automated interactive testing for i os

  • 780 views
Published

Mobile March 2012

Mobile March 2012

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
780
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
4
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. Automated Interactive Testing for iOS Rob Bajorek - Code 42 Software rob@code42.com
  • 2. Topics• Interactive testing• The tools• Demo and walkthrough
  • 3. Interactive Testing
  • 4. Unit tests - (void)testClearNonPersistentCredentialsDoesNotClearPrivatePasswordPersistent { [self helper_setTestCredentialsPersistent:YES]; [self helper_setUpAccountTypePrivatePasswordPersistent:YES]; CPConfigService *cs = [[CPConfigService alloc] init]; [cs clearNonPersistentCredentials]; GHAssertEqualStrings(cs.dataPassword, testDataPassword, @"private password incorrectly cleared (%@)", cs.dataPassword);}- (void)testClearNonPersistentCredentialsClearsPrivatePasswordNonPersistent { [self helper_setTestCredentialsPersistent:YES]; [self helper_setUpAccountTypePrivatePasswordPersistent:NO]; CPConfigService *cs = [[CPConfigService alloc] init]; [cs clearNonPersistentCredentials]; GHAssertNil(cs.dataPassword, @"private password not cleared (%@)", cs.dataPassword);}
  • 5. Unit tests can pay forthemselves over time
  • 6. Unit tests are easy to automate
  • 7. Continuous Integration
  • 8. What’s missing?
  • 9. Interactive testing is...• time-consuming• boring• error-prone
  • 10. Automate yourinteractive testing
  • 11. You still need people
  • 12. The Tools• UI Automation• CoffeeScript• Accessibility• Zucchini
  • 13. UI Automation• UI Automation Reference Collection
  • 14. CoffeeScript• http://coffeescript.org
  • 15. Accessibility• Accessibility Programming Guide for iOS
  • 16. Zucchini• http://www.zucchiniframework.org
  • 17. Natural language scriptThen on the "Browse" screen: Download file "Minneapolis.jpg" Tap cell "Minneapolis.jpg" in the tableThen on the "Viewer" screen: Verify navigation bar title is "Minneapolis.jpg" Tap "Back"Then on the "Browse" screen: Tap "Home"Then on the "Home" screen: Tap "Sign Out"
  • 18. Demo• Brief install advice• Project setup• Example “smoke test”• Walkthrough
  • 19. Prerequisites• See instructions at www.zucchiniframework.org• Homebrew / MacPorts• ImageMagick• CoffeeScript
  • 20. Installing Zucchini• https://github.com/playup/zucchini• https://github.com/rajbeniwal/zucchini-demo
  • 21. Demo and Walkthrough
  • 22. Conclusion• Start at www.zucchiniframework.org• Use the UI Automation Reference for help• Get to know UIAElement• ‘Show all elements’: -> view.logElementTree()
  • 23. Thank you!