Friday, 18 February 2011
Testing                            iOS apps                           with Frank                             Stewart Glead...
why                           	 have                           	 	 tests?Friday, 18 February 2011
why                           	 have                           	 	 tests?Friday, 18 February 2011
Testing ApproachesFriday, 18 February 2011
Friday, 18 February 2011
“It seems to                   be working”Friday, 18 February 2011
“Nothing is obviously broken”Friday, 18 February 2011
Testing iPhone Apps                                 iPhone AppFriday, 18 February 2011
iPhone App                             ServerFriday, 18 February 2011
iPhone App                                        Done                             ServerFriday, 18 February 2011
Does MVC help?Friday, 18 February 2011
UIView            UIViewController                                    Model                           ServerFriday, 18 Feb...
UIView            UIViewController                                    Model                           ServerFriday, 18 Feb...
UIView            UIViewController                                    Model                           ServerFriday, 18 Feb...
UIView            UIViewController                           Done     Model                           ServerFriday, 18 Feb...
UIViewController   UIViewFriday, 18 February 2011
UIViewController         UIView                           50% of iPhone code?Friday, 18 February 2011
Potential Testing Tools                                        hmmm...Friday, 18 February 2011
Potential Testing Tools                     • Frank and UISpec   hmmm...Friday, 18 February 2011
Potential Testing Tools                     • Frank and UISpec   hmmm...                     • SikuliFriday, 18 February 2...
Potential Testing Tools                     • Frank and UISpec   hmmm...                     • Sikuli                     ...
Potential Testing Tools                     • Frank and UISpec    hmmm...                     • Sikuli                    ...
Potential Testing Tools                     • Frank and UISpec    hmmm...                     • Sikuli                    ...
UISpecFriday, 18 February 2011
UISpec    - (void)itShouldHaveDefaultUsers;    {        [[app.tableView.label text:@"User"] should].exist;    }Friday, 18 ...
UISpecFriday, 18 February 2011
CucumberFriday, 18 February 2011
CucumberFriday, 18 February 2011
Cucumber                           Scenario: [name of the scenario]Friday, 18 February 2011
Cucumber                           Scenario: [name of the scenario]                              Given [some statement]Fri...
Cucumber                           Scenario: [name of the scenario]                              Given [some statement]   ...
Cucumber                           Scenario: [name of the scenario]                              Given [some statement]   ...
Cucumber                           Scenario: [name of the scenario]                              Given [some statement]   ...
to be perfectly Frank...Friday, 18 February 2011
Tests                           iPhone                             AppFriday, 18 February 2011
Tests                                                  UISpec                           Cucumber / Ruby                   ...
Tests                              Frank                                             Server                               ...
Tests                              Frank                                             Driver                               ...
Tests                              Frank                                             Driver                               ...
Frank                           uses                           accessibility                           labelsFriday, 18 Fe...
frankly.my_dear       do |i|           dont_give_a_damn!         endFriday, 18 February 2011
frankly.my_dear            do |i|           dont_give_a_damn!         end                           UISpec                ...
frankly.my_dear             do |i|           dont_give_a_damn!         end                           UISpec               ...
frankly.my_dear             do |i|           dont_give_a_damn!         end                           UISpec               ...
Friday, 18 February 2011
Frank Steps   Scenario: default users should be present at startup            When I start the app              Then I sho...
Frank Steps   Scenario: default users should be present at startup            When I start the app              Then I sho...
DemoFriday, 18 February 2011
The Road                            AheadFriday, 18 February 2011
Stewart Gleadow                           sgleadow@thoughtworks.com                                 @stewgleadowFriday, 18...
References   •       github.com/moredip/frank & http://groups.google.com/group/frank-discuss   •       code.google.com/p/u...
Images                     •     http://www.myfreewallpapers.net/movies/pages/                           frankenstein-02.s...
Upcoming SlideShare
Loading in...5
×

iOS Testing with Frank

6,851

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
6,851
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
74
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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×