Cukeup nyc richard lawrence on getting the language right

Post on 13-May-2015

650 views 2 download

Tags:

description

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.

Transcript of Cukeup nyc richard lawrence on getting the language right

Getting the Language Right with Cucumber

Richard Lawrence, Agile For All

Varieties of Language in

Cucumber Scenarios

Tautological

Scenario: Search for a Book When I search for a book Then I should see the correct results

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

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

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

Example in Domain Languagewith 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 |

Different Kinds of ScenariosTa

utologica

lDomain

Languag

e Example

Domain La

nguage Exa

mple

w/ Exc

essive

Detai

l

Implementat

ion Languag

e

(Probab

ly Scri

pty)Super

Tech

nical

Sweet Spot

Identify different kinds

of scenarios

Exercise

Different Kinds of ScenariosTa

utologica

lDomain

Languag

e Example

Domain La

nguage Exa

mple

w/ Exc

essive

Detai

l

Implementat

ion Languag

e

(Probab

ly Scri

pty)Super

Tech

nical

Sweet Spot

Questions?

Email: richard.lawrence@agileforall.comTwitter: @rslawrence

Blog: richardlawrence.info