SlideShare a Scribd company logo
@sebrose http://cucumber.io
Seb Rose
Can we reduce the stress
of maintaining a high
quality product?
@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
@sebrose http://cucumber.io
Business needs
are not well
understood by
the people who
want the
software
@sebrose http://cucumber.io
Business needs
are not well
understood by
the people who
want the
software
@sebrose http://cucumber.io
Business needs
are not well
understood by
the people who
will deliver and
test the software
@sebrose http://cucumber.io
Business needs
are not well
understood by
the people who
will deliver and
test the software
@sebrose http://cucumber.io
Business needs
are not well
understood by
the people who
will deliver and
test the software
@sebrose http://cucumber.io
The software is
low quality with
lots of bugs
@sebrose http://cucumber.io
The cost of
change over time
increases rapidly
CostofChange
Time
@sebrose http://cucumber.io
Successful Projects
@sebrose http://cucumber.io
Successful Projects
Shared
understanding
@sebrose http://cucumber.io
Successful Projects
Shared
understanding
Know when youare done
@sebrose http://cucumber.io
Successful Projects
Shared
understanding
Know when youare done
Know what to
do next
@sebrose http://cucumber.io
Successful Projects
Shared
understanding
Know when youare done
Know what to
do next
The codebase
supports the
inevitable
changes as theproject evolves
@sebrose http://cucumber.io
Successful Projects
Shared
understanding
Know when youare done
Know what to
do next
The codebase
supports the
inevitable
changes as theproject evolves
Know quickly
when new
changes break
existing
behaviour
@sebrose http://cucumber.io
Three practices
@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
@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
@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
@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
@sebrose http://cucumber.io
Discovery
https://cucumber.io/blog/2015/12/08/example-mapping-introduction
https://www.youtube.com/watch?v=VwvrGfWmG_U
Example Mapping
@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
@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
@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
@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
@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
@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
@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
@sebrose http://cucumber.io
Automation
@sebrose http://cucumber.io
Features
Automation
@sebrose http://cucumber.io
Features
-Scenarios
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Each scenario is an example
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
Each scenario is an example
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
-Step definitions
Each scenario is an example
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
-Step definitions
-Java / C#
Each scenario is an example
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
-Step definitions
-Java / C#
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
-Step definitions
-Java / C#
Automation
@sebrose http://cucumber.io
Features
-Scenarios
-Steps
-Gherkin
Glue code
-Step definitions
-Java / C#
Application
Automation
@sebrose http://cucumber.io
Pulling it all together
@sebrose http://cucumber.io
http://bddbooks.com
Seb Rose


Twitter: @sebrose
Blog: http:/cucumber.io/blog
E-mail: seb@cucumber.io

More Related Content

PDF
Introduction to BDD - SQUID 2018
KEY
Automated Battle Scars Se Conf 2011
PDF
Example mapping workshop
PDF
Introduction to BDD with Cucumber for Java
PDF
BDD with the Cucumber
PPTX
Introduction to Bdd and cucumber
PDF
Testing stage. being ahead business with cucumber
PPTX
presentation.pptx
Introduction to BDD - SQUID 2018
Automated Battle Scars Se Conf 2011
Example mapping workshop
Introduction to BDD with Cucumber for Java
BDD with the Cucumber
Introduction to Bdd and cucumber
Testing stage. being ahead business with cucumber
presentation.pptx

Similar to Introduction to BDD - shortened (20)

PDF
BDD & Cucumber
PDF
Continuous (Production) Integration: Ruby on Rails Application Monitoring wit...
PDF
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
PDF
OpenWest Conference at UVU, Ruby on Rails and BDD
PDF
Behaviour driven infrastructure
PDF
10 things about BDD, Cucumber and SpecFlow - Long Version 2016
PPTX
Being an Agile Tester
PDF
Testers in an agile world
PPTX
Automation test framework with cucumber – BDD
PPT
8 project planning
PDF
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
PDF
"Our BDDs are broken!" Lean Agile Exchange 2020
PPTX
Behavior Driven Development
KEY
Prioritization 301: An Advanced Roadmapping Class for Product People
KEY
Prioritization 301 - Advanced Roadmapping Class, Bruce McCarthy
PPTX
Testing with cucumber testing framework
PPT
9 project planning
PDF
Cucumber & BDD
PPTX
Cucumber-III
PDF
Continuous delivery is more than dev ops
BDD & Cucumber
Continuous (Production) Integration: Ruby on Rails Application Monitoring wit...
#NoEstimates does not mean "No estimates!" - Agile Cambridge 2015
OpenWest Conference at UVU, Ruby on Rails and BDD
Behaviour driven infrastructure
10 things about BDD, Cucumber and SpecFlow - Long Version 2016
Being an Agile Tester
Testers in an agile world
Automation test framework with cucumber – BDD
8 project planning
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
"Our BDDs are broken!" Lean Agile Exchange 2020
Behavior Driven Development
Prioritization 301: An Advanced Roadmapping Class for Product People
Prioritization 301 - Advanced Roadmapping Class, Bruce McCarthy
Testing with cucumber testing framework
9 project planning
Cucumber & BDD
Cucumber-III
Continuous delivery is more than dev ops
Ad

More from Seb Rose (20)

PDF
AI and developer obsolescence - BCS 2025.pdf
PDF
Software contracts - Global Enterprise Agile 2023.pdf
PDF
Micro-service delivery - without the pitfalls
PDF
DevSecOps - Agile Get-Together 2022.pdf
PDF
Contract testing - Sealights 2022.pdf
PDF
Example mapping - slice any story into testable examples - SoCraTes 2022.pdf
PDF
Software testing - learning to walk again (expoQA22)
PDF
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021
PDF
A brief history of requirements - Unicom 2022
PDF
Example mapping (with builds) - ProductWorld 2022
PDF
Example mapping - ProductWorld 2022
PDF
No code, low code, machine code QA ATL 2021
PDF
No code, low code, machine code QA ATL 2021
PDF
No code, low code, machine code - Unicom 2021
PDF
BDD: from soup to nuts - The Future of Work Scotland 2021
PDF
Contrasting test automation and BDD - 2020
PDF
Are BDD and test automation the same thing? Automation Guild 2021
PDF
User stories: from good intentions to bad advice - Agile Scotland 2019
PDF
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
PDF
Software contracts or: how I learned to stop worrying and love releasing. Agi...
AI and developer obsolescence - BCS 2025.pdf
Software contracts - Global Enterprise Agile 2023.pdf
Micro-service delivery - without the pitfalls
DevSecOps - Agile Get-Together 2022.pdf
Contract testing - Sealights 2022.pdf
Example mapping - slice any story into testable examples - SoCraTes 2022.pdf
Software testing - learning to walk again (expoQA22)
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021
A brief history of requirements - Unicom 2022
Example mapping (with builds) - ProductWorld 2022
Example mapping - ProductWorld 2022
No code, low code, machine code QA ATL 2021
No code, low code, machine code QA ATL 2021
No code, low code, machine code - Unicom 2021
BDD: from soup to nuts - The Future of Work Scotland 2021
Contrasting test automation and BDD - 2020
Are BDD and test automation the same thing? Automation Guild 2021
User stories: from good intentions to bad advice - Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Ad

Recently uploaded (20)

PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
STKI Israel Market Study 2025 version august
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Hybrid model detection and classification of lung cancer
PDF
Web App vs Mobile App What Should You Build First.pdf
1 - Historical Antecedents, Social Consideration.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Zenith AI: Advanced Artificial Intelligence
O2C Customer Invoices to Receipt V15A.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Hindi spoken digit analysis for native and non-native speakers
Final SEM Unit 1 for mit wpu at pune .pptx
STKI Israel Market Study 2025 version august
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
Developing a website for English-speaking practice to English as a foreign la...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cloud_computing_Infrastucture_as_cloud_p
Hybrid model detection and classification of lung cancer
Web App vs Mobile App What Should You Build First.pdf

Introduction to BDD - shortened