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. 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
9. What tools are there?
• Sikuli (image analysis)
• Fonemonkey (record and playback)
10. What tools are there?
• Sikuli (image analysis)
• Fonemonkey (record and playback)
• UISpec (tests are written in Objective C)
11. What tools are there?
• Sikuli (image analysis)
• Fonemonkey (record and playback)
• UISpec (tests are written in Objective C)
• iCuke (project not being developed)
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. 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
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. 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. 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. -(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;
}
23. Cucumber
• Cucumber is a tool that executes plain-text
functional descriptions as automated tests.
24. Cucumber
• Cucumber is a tool that executes plain-text
functional descriptions as automated tests.
• Written in Ruby
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. 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. 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. 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 |