Your SlideShare is downloading. ×
Automated interactive testing for i os
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

Automated interactive testing for i os

790
views

Published on

Mobile March 2012

Mobile March 2012

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
790
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
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!