UI Testing With Frank         BDD Style Acceptance   Testing with Frank and Cucumber
@keithpitt    Keith PittiOS/Web DeveloperThe Frontier Group
UI Testing Approaches
UI Testing Approaches• Testing the application yourself using the  simulator or your device
UI Testing Approaches• Testing the application yourself using the  simulator or your device• Getting others to test the ap...
UI Testing Approaches• Testing the application yourself using the  simulator or your device• Getting others to test the ap...
What tools are there?
What tools are there?• Sikuli (image analysis)
What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)
What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)• UISpec (tests are written in Objective C)
What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)• UISpec (tests are written in Objective C...
Frankenstein
Frank
Frank• A bridge between Cucumber and UISpec
Frank• A bridge between Cucumber and UISpec• A “Frank Driver” that sends HTTP requests  from Cucumber to a “Frank Server” ...
Frank• A bridge between Cucumber and UISpec• A “Frank Driver” that sends HTTP requests  from Cucumber to a “Frank Server” ...
UISpec
UISpec• UISpec is a Behaviour Driven Development  framework for the iPhone that provides a  full automated testing solutio...
UISpec• UISpec is a Behaviour Driven Development  framework for the iPhone that provides a  full automated testing solutio...
UISpec• UISpec is a Behaviour Driven Development  framework for the iPhone that provides a  full automated testing solutio...
-(void)itShouldHaveDefaultUsers {        //Check that all default users are in list        [[app.tableView.label text:@"La...
Cucumber
Cucumber• Cucumber is a tool that executes plain-text  functional descriptions as automated tests.
Cucumber• Cucumber is a tool that executes plain-text  functional descriptions as automated tests.• Written in Ruby
Cucumber• Cucumber is a tool that executes plain-text  functional descriptions as automated tests.• Written in Ruby• Creat...
Cucumber• Cucumber is a tool that executes plain-text  functional descriptions as automated tests.• Written in Ruby• Creat...
Cucumber• Cucumber is a tool that executes plain-text  functional descriptions as automated tests.• Written in Ruby• Creat...
Feature: Search courses In order to ensure better utilization of courses Potential students should be able to search for c...
Demo
Resources• https://github.com/moredip/Frank• https://github.com/aslakhellesoy/cucumber• http://www.melbournecocoaheads.com...
@keithpitt   Thanks for your attention
iOS UI Testing with Frank
Upcoming SlideShare
Loading in...5
×

iOS UI Testing with Frank

6,342

Published on

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

No Downloads
Views
Total Views
6,342
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
106
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • iOS UI Testing with Frank

    1. 1. UI Testing With Frank BDD Style Acceptance Testing with Frank and Cucumber
    2. 2. @keithpitt Keith PittiOS/Web DeveloperThe Frontier Group
    3. 3. UI Testing Approaches
    4. 4. UI Testing Approaches• Testing the application yourself using the simulator or your device
    5. 5. UI Testing Approaches• Testing the application yourself using the simulator or your device• Getting others to test the application using their own devices
    6. 6. UI Testing Approaches• Testing the application yourself using the simulator or your device• Getting others to test the application using their own devices• Automated testing
    7. 7. What tools are there?
    8. 8. What tools are there?• Sikuli (image analysis)
    9. 9. What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)
    10. 10. What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)• UISpec (tests are written in Objective C)
    11. 11. What tools are there?• Sikuli (image analysis)• Fonemonkey (record and playback)• UISpec (tests are written in Objective C)• iCuke (project not being developed)
    12. 12. Frankenstein
    13. 13. Frank
    14. 14. Frank• A bridge between Cucumber and UISpec
    15. 15. Frank• A bridge between Cucumber and UISpec• A “Frank Driver” that sends HTTP requests from Cucumber to a “Frank Server” that is installed in the Application
    16. 16. Frank• A bridge between Cucumber and UISpec• A “Frank Driver” that sends HTTP requests from Cucumber to a “Frank Server” that is installed in the Application• The “Frank Server” executes UISpec queries against the application, returns the result
    17. 17. UISpec
    18. 18. UISpec• UISpec is a Behaviour Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI.
    19. 19. UISpec• UISpec is a Behaviour Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI.• It is modelled after the very popular RSpec for Ruby.
    20. 20. UISpec• UISpec is a Behaviour Driven Development framework for the iPhone that provides a full automated testing solution that drives the actual iPhone UI.• It is modelled after the very popular RSpec for Ruby.• Written in Objective C
    21. 21. -(void)itShouldHaveDefaultUsers {        //Check that all default users are in list        [[app.tableView.label text:@"Larry Stooge"] should].exist;        [[app.tableView.label text:@"Curly Stooge"] should].exist;        [[app.tableView.label text:@"Moe Stooge"] should].exist;}
    22. 22. Cucumber
    23. 23. Cucumber• Cucumber is a tool that executes plain-text functional descriptions as automated tests.
    24. 24. Cucumber• Cucumber is a tool that executes plain-text functional descriptions as automated tests.• Written in Ruby
    25. 25. Cucumber• Cucumber is a tool that executes plain-text functional descriptions as automated tests.• Written in Ruby• Created originally for use with Ruby on Rails.
    26. 26. Cucumber• Cucumber is a tool that executes plain-text functional descriptions as automated tests.• Written in Ruby• Created originally for use with Ruby on Rails.• Command line tool
    27. 27. Cucumber• Cucumber is a tool that executes plain-text functional descriptions as automated tests.• Written in Ruby• Created originally for use with Ruby on Rails.• Command line tool• Written specifically for BDD
    28. 28. Feature: Search courses In order to ensure better utilization of courses Potential students should be able to search for courses Scenario: Search by topic Given there are 240 courses which do not have the topic "biology" And there are 2 courses A001, B205 that each have "biology" as one of the topics When I search for "biology" Then I should see the following courses: | Course code | | A001 | | B205 |
    29. 29. Demo
    30. 30. Resources• https://github.com/moredip/Frank• https://github.com/aslakhellesoy/cucumber• http://www.melbournecocoaheads.com/ testing-ios-apps-with-frank-slides-and- videos/
    31. 31. @keithpitt Thanks for your attention
    1. A particular slide catching your eye?

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

    ×