iOS Testing with Frank

7,247 views
7,017 views

Published on

Stewart Gleadow of Thoughtworks presents Frank at the February Melbourne Cocoaheads meetup. Frank is an automated iOS User Interface Testing tool.
http://www.melbournecocoaheads.com/

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

No Downloads
Views
Total views
7,247
On SlideShare
0
From Embeds
0
Number of Embeds
1,108
Actions
Shares
0
Downloads
75
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

iOS Testing with Frank

  1. 1. Friday, 18 February 2011
  2. 2. Testing iOS apps with Frank Stewart GleadowFriday, 18 February 2011
  3. 3. why have tests?Friday, 18 February 2011
  4. 4. why have tests?Friday, 18 February 2011
  5. 5. Testing ApproachesFriday, 18 February 2011
  6. 6. Friday, 18 February 2011
  7. 7. “It seems to be working”Friday, 18 February 2011
  8. 8. “Nothing is obviously broken”Friday, 18 February 2011
  9. 9. Testing iPhone Apps iPhone AppFriday, 18 February 2011
  10. 10. iPhone App ServerFriday, 18 February 2011
  11. 11. iPhone App Done ServerFriday, 18 February 2011
  12. 12. Does MVC help?Friday, 18 February 2011
  13. 13. UIView UIViewController Model ServerFriday, 18 February 2011
  14. 14. UIView UIViewController Model ServerFriday, 18 February 2011
  15. 15. UIView UIViewController Model ServerFriday, 18 February 2011
  16. 16. UIView UIViewController Done Model ServerFriday, 18 February 2011
  17. 17. UIViewController UIViewFriday, 18 February 2011
  18. 18. UIViewController UIView 50% of iPhone code?Friday, 18 February 2011
  19. 19. Potential Testing Tools hmmm...Friday, 18 February 2011
  20. 20. Potential Testing Tools • Frank and UISpec hmmm...Friday, 18 February 2011
  21. 21. Potential Testing Tools • Frank and UISpec hmmm... • SikuliFriday, 18 February 2011
  22. 22. Potential Testing Tools • Frank and UISpec hmmm... • Sikuli • FoneMonkeyFriday, 18 February 2011
  23. 23. Potential Testing Tools • Frank and UISpec hmmm... • Sikuli • FoneMonkey • Brominet or iCukeFriday, 18 February 2011
  24. 24. Potential Testing Tools • Frank and UISpec hmmm... • Sikuli • FoneMonkey • Brominet or iCuke • UIAutomationFriday, 18 February 2011
  25. 25. UISpecFriday, 18 February 2011
  26. 26. UISpec - (void)itShouldHaveDefaultUsers; { [[app.tableView.label text:@"User"] should].exist; }Friday, 18 February 2011
  27. 27. UISpecFriday, 18 February 2011
  28. 28. CucumberFriday, 18 February 2011
  29. 29. CucumberFriday, 18 February 2011
  30. 30. Cucumber Scenario: [name of the scenario]Friday, 18 February 2011
  31. 31. Cucumber Scenario: [name of the scenario] Given [some statement]Friday, 18 February 2011
  32. 32. Cucumber Scenario: [name of the scenario] Given [some statement] When [some action]Friday, 18 February 2011
  33. 33. Cucumber Scenario: [name of the scenario] Given [some statement] When [some action] Then [some expected result]Friday, 18 February 2011
  34. 34. Cucumber Scenario: [name of the scenario] Given [some statement] When [some action] Then [some expected result] And [another expectation]Friday, 18 February 2011
  35. 35. to be perfectly Frank...Friday, 18 February 2011
  36. 36. Tests iPhone AppFriday, 18 February 2011
  37. 37. Tests UISpec Cucumber / Ruby ? iPhone AppFriday, 18 February 2011
  38. 38. Tests Frank Server UISpec Cucumber / Ruby iPhone AppFriday, 18 February 2011
  39. 39. Tests Frank Driver Frank Server UISpec Cucumber / Ruby iPhone AppFriday, 18 February 2011
  40. 40. Tests Frank Driver Frank Server “frankly” UISpec Cucumber / Ruby iPhone AppFriday, 18 February 2011
  41. 41. Frank uses accessibility labelsFriday, 18 February 2011
  42. 42. frankly.my_dear do |i| dont_give_a_damn! endFriday, 18 February 2011
  43. 43. frankly.my_dear do |i| dont_give_a_damn! end UISpec UIQuery Frank FranklyFriday, 18 February 2011
  44. 44. frankly.my_dear do |i| dont_give_a_damn! end UISpec UIQuery [app.tableView.label text:@"User"]; Frank FranklyFriday, 18 February 2011
  45. 45. frankly.my_dear do |i| dont_give_a_damn! end UISpec UIQuery [app.tableView.label text:@"User"]; Frank Frankly app tableView label text:’User’Friday, 18 February 2011
  46. 46. Friday, 18 February 2011
  47. 47. Frank Steps Scenario: default users should be present at startup When I start the app Then I should see “Users”Friday, 18 February 2011
  48. 48. Frank Steps Scenario: default users should be present at startup When I start the app Then I should see “Users” Then /^I should see "([^"]*)"$/ do |expected_mark| check_element_exists("view marked:#{expected_mark}") endFriday, 18 February 2011
  49. 49. DemoFriday, 18 February 2011
  50. 50. The Road AheadFriday, 18 February 2011
  51. 51. Stewart Gleadow sgleadow@thoughtworks.com @stewgleadowFriday, 18 February 2011
  52. 52. References • github.com/moredip/frank & http://groups.google.com/group/frank-discuss • code.google.com/p/uispec & http://groups.google.com/group/uispec • softnoise.wordpress.com/2010/11/14/ios-setting-up-a-test-environment/ • cukes.info • cuke4ninja.com • The RSpec BookFriday, 18 February 2011
  53. 53. Images • http://www.myfreewallpapers.net/movies/pages/ frankenstein-02.shtml • http://www.workbloom.net/wp-content/uploads/2009/09/ road-ahead.jpg • http://upload.wikimedia.org/wikipedia/commons/archive/ 0/07/20090605224904!IMac_aluminium.png • http://themachoresponse.blogspot.com/2010/03/frankly-my- dear-i-dont-give-damn.htmlFriday, 18 February 2011

×