Automated interactive testing for i os
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • 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
1,134
On Slideshare
834
From Embeds
300
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 300

http://mobilemarchtc.com 300

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!