Ever looked at a requirement and wondered exactly what you should be testing?
Ever wasted time trying to figure out which of your tests are impacted by a change in the requirements?
Are your automated tests so clear that anyone on the team can read and write them - even the Product Owner?!
These are not unicorns, there is a better way to write clean, simple, easily maintainable tests.
2. @sebrose http://cucumber.io
How Projects Really Work (version 1.5) Create your own cartoon at www.projectcartoon.com
How the customer
explained it
How the project leader
understood it
How the analyst
designed it
How the programmer
wrote it
What the beta testers
received
How the business
consultant described it
How the project was
documented
What operations
installed
How the customer was
billed
How it was supported What marketing
advertised
What the customer
really needed
www.projectcartoon.com
17. @sebrose http://cucumber.io
Discovery
Create a shared understanding of the requirements through
collaboration, typically achieved through a structured
conversation centred on rules and examples
Three practices
18. @sebrose http://cucumber.io
Discovery
Create a shared understanding of the requirements through
collaboration, typically achieved through a structured
conversation centred on rules and examples
Formulation
Examples of system behaviour are documented using
business terminology
Three practices
19. @sebrose http://cucumber.io
Discovery
Create a shared understanding of the requirements through
collaboration, typically achieved through a structured
conversation centred on rules and examples
Formulation
Examples of system behaviour are documented using
business terminology
Automation
The documentation is automated, creating living
documentation that verifies the system’s behaviour
Three practices
20. @sebrose http://cucumber.io
Discovery
Create a shared understanding of the requirements through
collaboration, typically achieved through a structured
conversation centred on rules and examples
Formulation
Examples of system behaviour are documented using
business terminology
Automation
The documentation is automated, creating living
documentation that verifies the system’s behaviour
Three practices
22. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
23. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
24. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
25. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
26. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
27. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation
28. @sebrose http://cucumber.io
Feature: Team Scoring
Teams start with zero score.
Correct answer gets points depending on
how difficult it is.
Scenario: Score starts at 0
Given I register a team
Then my score is 0
Scenario: Correct easy answer scores 10
Given I register a team
When I submit a correct easy answer
Then my score is 10
Scenario: Correct hard answer scores 50
Given I register a team
When I submit a correct hard answer
Then my score is 50
Formulation