Getting the Language Right
One of the most powerful things Cucumber can do for a software team is help them grow a ubiquitous language. But this depends on scenarios having the right level of detail at the right level of abstraction to be expressive to business people, testers, and developers alike. In this session, we'll look at the range of language that shows up in Cucumber scenarios in order to identify the sweet spot of just enough detail, just enough abstraction. You'll get hands-on with example scenarios and learn how to identify the same patterns in your own scenarios.
5. Scenario: Search for a book
Given the following Authors:
| id | name |
| 1 | Charles Dickens |
| 2 | John Steinbeck |
| 3 | Fyodor Dostoyevsky |
And the following Titles:
| id | title | author_id |
| 1 | A Tale of Two Cities | 1 |
| 2 | Crime and Punishment | 3 |
| 3 | East of Eden | 2 |
And I'm on "http://www.bookstore.biz/"
When I fill in "Dickens" in "//input[name()='q']"
And I click "#searchButton"
Then there should be 1 "div.book div.title" element
And the page should contain "A Tale of Two Cities"
Super Technical
6. Scenario: Search for a book
Given the following catalog:
| Title | Author |
| A Tale of Two Cities | Charles Dickens |
| Crime and Punishment | Fyodor Dostoyevsky |
| East of Eden | John Steinbeck |
And I'm on the bookstore home page
When I fill in "Dickens" in the search field
And I click "Search"
Then I should see only "A Tale of Two Cities" in the results
Scripty, with Implementation Details
7. Scenario: Search for a book
Given the following catalog:
| Title | Author |
| A Tale of Two Cities | Charles Dickens |
| Crime and Punishment | Fyodor Dostoyevsky |
| East of Eden | John Steinbeck |
When I search for "Dickens"
Then I should see only "A Tale of Two Cities" in the results
Example in Domain Language
8. Example in Domain Language
with Excess Detail
Scenario: Search for a book
Given the following catalog:
| Title | Author | Publisher | ISBN |
| A Tale of Two Cities | Charles Dickens | Qualitas Classics | 1897093594 |
| Crime and Punishment | Fyodor Dostoyevsky | Simon & Brown | 1936041030 |
| East of Eden | John Steinbeck | Penguin | 0142000655 |
When I search for "Dickens"
Then I should see only the following in the results:
| Title | Author | Format | Price |
| A Tale of Two Cities | Charles Dickens | Paperback | $14.90 |
9. Different Kinds of Scenarios
TautologicalDom
ain
LanguageExam
ple
Dom
ain
LanguageExam
ple
w/ExcessiveDetail
Im
plem
entation
Language
(ProbablyScripty)Super
Technical
Sweet Spot
11. Different Kinds of Scenarios
TautologicalDom
ain
LanguageExam
ple
Dom
ain
LanguageExam
ple
w/ExcessiveDetail
Im
plem
entation
Language
(ProbablyScripty)Super
Technical
Sweet Spot