John	
  Ferguson	
  Smart
BDD In Action
Principles, practices and real-world applications
John Ferguson Smart
Consultant	
  
Trainer	
  
Mentor	
  
Author	
  
Speaker	
  
Coder
There are only two problems
in software development
1) Building the software wrong
2) Building the wrong software
BDD
Feature Injection
Automated Acceptance
Criteria
API and code design
Collaboration
Building the software right
Building the right software
Living Documentation
What	
  is	
  Behaviour	
  Driven	
  Development
Behaviour	
  Driven	
  Development	
  is…
Conversa>on	
  Focused
Story
bug	
  reports
Working	
  
code boring	
  
manual	
  
tes>ng
WASTE
BA
Developer
Tester
Many teams build features like this…
Conversa>on	
  Focused
…but a little cooperation goes a long way…
Working	
  code	
  	
  
and	
  	
  
Working	
  Automated	
  
Acceptance	
  Tests Exploratory	
  tes>ng,	
  
usability	
  tes>ng...
Shared	
  
understanding
Story
Examples
Automated	
  
acceptance	
  
criteria
Conversa>on	
  Focused
We call this “The Three Amigos”
BA	
  and/or	
  product	
  owner
Tester Developer Automatable	
  
Acceptance	
  
Criteria
Shared	
  
understanding
Conversa>on	
  Focused
We call this “The Three Amigos”
Conversa>on	
  Focused
Behaviour	
  Driven	
  Development	
  is…
Example-­‐based
Example-­‐based
Behaviour	
  Driven	
  Development	
  is…
Value-­‐Driven
Behaviour	
  Driven	
  Development	
  is…
Outside-­‐in
Outside
In
Behaviour	
  Driven	
  Development	
  is…
Executable	
  Specifica>ons
More value faster
Delivery	
  Time
Tradi>onal
Using	
  BDD
31%	
  faster	
  delivery
Behaviour	
  Driven	
  Development	
  is…
Higher Quality
Defect	
  Rate
Tradi>onal
Using	
  BDD
4	
  >mes	
  less	
  defects
Behaviour	
  Driven	
  Development	
  is…
Scenario
Step	
  Defini>ons
Low	
  level	
  specifica>ons	
  
(aka	
  “unit	
  tests”)
Applica>on	
  Code
BDD	
  guides	
  development
Oh, the things you can learn…
BDD	
  guides	
  development
What	
  would	
  we	
  like	
  the	
  API	
  to	
  look	
  like?
BDD	
  guides	
  development
Then	
  write	
  low-­‐level	
  specifica>ons	
  for	
  the	
  code
BDD	
  guides	
  development
Then	
  write	
  low-­‐level	
  specifica>ons	
  for	
  the	
  code
BDD	
  guides	
  development
“Every class is an API for
someone”
BDD	
  in	
  Ac>on	
  -­‐	
  some	
  real-­‐world	
  examples
Mission	
  cri;cal	
  legacy	
  web	
  applica;on
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Frequent	
  small	
  changes
Business	
  requires	
  fast	
  release	
  cycle
Background
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Approach
“BDD-­‐style”	
  regression	
  tests
High	
  communica;on	
  value
Designed	
  for	
  ease	
  of	
  maintenance
Illustrate	
  key	
  business	
  scenarios
Minimum	
  ini;al	
  impact	
  on	
  team
“BDD-­‐style”	
  regression	
  tests
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Approach
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Outcomes
Living	
  documenta;on
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Outcomes
Living	
  documenta;on
Case	
  1	
  -­‐	
  an	
  e-­‐commerce	
  web	
  site
Outcomes
Living	
  documenta;on
New	
  large-­‐scale	
  project
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
7	
  years,	
  2	
  Scrum	
  teams
Conserva;ve	
  organisa;on
Background
Regulatory	
  and	
  traceability	
  
Approach
Full	
  team-­‐wide	
  BDD	
  adop;on
Test	
  automa;on	
  for	
  (almost)	
  all	
  acceptance	
  criteria
Tight	
  integra;on	
  with	
  JIRA	
  for	
  traceability	
  
“Three-­‐amigos”	
  sessions	
  to	
  refine	
  acceptance	
  criteria
High	
  ini;al	
  impact	
  on	
  team
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Stories
Features
Capabilities
Goals
Requirements	
  organised	
  by	
  feature	
  and	
  capability
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Stories
Features
Capabilities
Goals
Requirements	
  managed	
  in	
  JIRA
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Story
Examples
Automated	
  
acceptance	
  
criteria
“Three	
  amigos”	
  sessions	
  refine	
  acceptance	
  criteria
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Acceptance	
  Criteria	
  map	
  back	
  to	
  JIRA
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Stories
Features
Capabilities
Goals
Manual	
  test	
  cases	
  managed	
  in	
  Zephyr
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Stories
Features
Capabilities
Goals
Automated	
  and	
  Manual	
  Tests	
  produce	
  Living	
  Documenta;on	
  
Acceptance Criteria
Approach
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Releases	
  organised	
  in	
  JIRA
Outcomes
Case	
  2	
  -­‐	
  a	
  large	
  financial	
  ins>tu>on
Code	
  coverage	
  when	
  from	
  8%	
  to	
  80+%
Very	
  liZle	
  rework	
  to	
  delivered	
  features	
  
Well	
  documented	
  APIs
Automated	
  tests	
  used	
  to	
  demonstrate	
  features
Happy	
  teams!
BDD	
  involves	
  a	
  major	
  culture	
  change
BDD	
  Adop>on	
  -­‐	
  Tips	
  and	
  Tricks
Don’t	
  skimp	
  on	
  training!
Put	
  care	
  into	
  your	
  test	
  automa;on	
  
Need	
  tester	
  and	
  BA	
  buy-­‐in
References
http://jbehave.org
BDD in Java
http://thucydides.info
Living Documentation
Issue tracking and Agile
project management
Manual test case
management in JIRA
Thank you!
John Ferguson Smart
john.smart@wakaleo.com
wakaleo
http://www.wakaleo.com

More Related Content

PDF
An introduction to Behavior-Driven Development (BDD)
ODP
Introduction to BDD
PPT
Behavior Driven Development Pros and Cons
PDF
Successfully Implementing BDD in an Agile World
PDF
Bdd Introduction
PPTX
Automation test framework with cucumber – BDD
PPTX
BDD WITH CUCUMBER AND JAVA
PDF
BDD in Action - building software that matters
An introduction to Behavior-Driven Development (BDD)
Introduction to BDD
Behavior Driven Development Pros and Cons
Successfully Implementing BDD in an Agile World
Bdd Introduction
Automation test framework with cucumber – BDD
BDD WITH CUCUMBER AND JAVA
BDD in Action - building software that matters

What's hot (20)

PPTX
Introduction to Bdd and cucumber
PPTX
Test Automation Framework with BDD and Cucumber
PPTX
Cucumber BDD
PPTX
What Is Cucumber?
PPTX
BDD testing with cucumber
PPTX
BDD presentation
PDF
BDD & Cucumber
PPTX
Behavior driven development (bdd)
PDF
TDD and BDD and ATDD
ODP
BDD with Cucumber
PPTX
21 Story Splitting Patterns
PPTX
Jenkins presentation
PDF
Módulo 6. Agile Testing
PDF
Agile Test Management Using Jira and Zephyr
PDF
An Introduction to Test Driven Development
ODP
Test Automation Framework using Cucumber BDD overview (part 1)
PPT
Agile Metrics
PPTX
Product Backlog Mapping
PPTX
TestOps and Shift Left
Introduction to Bdd and cucumber
Test Automation Framework with BDD and Cucumber
Cucumber BDD
What Is Cucumber?
BDD testing with cucumber
BDD presentation
BDD & Cucumber
Behavior driven development (bdd)
TDD and BDD and ATDD
BDD with Cucumber
21 Story Splitting Patterns
Jenkins presentation
Módulo 6. Agile Testing
Agile Test Management Using Jira and Zephyr
An Introduction to Test Driven Development
Test Automation Framework using Cucumber BDD overview (part 1)
Agile Metrics
Product Backlog Mapping
TestOps and Shift Left
Ad

Similar to BDD in Action – principles, practices and real-world application (20)

PDF
BDD in Action - Automated Web Testing with WebDriver and Serenity
PDF
It's Testing, Jim, but not as we know it - BDD for Testers
PDF
Whole team approach to agile testing bdd can help better pune 15th meetup
PPTX
Design your tests to behave - An introduction To BDD!
PDF
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
PPTX
BEHAVIOR-DRIVEN-DEVELOPMENT.pptx
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
PDF
bdd behaviour driven development
PDF
Expo qa from user stories to automated acceptance tests with bdd
PDF
Introduction to TDD and BDD
PPTX
Behavior-Driven Development (BDD) and Its Impact on Software Testing.pptx
KEY
Bahaviour Driven Development
PPTX
Behavior-Driven Development (BDD) in context
PDF
Intro to TDD & BDD
PDF
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
PDF
2015 in tothebox-introtddbdd
PPTX
Behavior Driven Development
PPT
BDD communication bridges - Expedia TED talk
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
PPTX
Topic tdd-and-bdd b4usolution
BDD in Action - Automated Web Testing with WebDriver and Serenity
It's Testing, Jim, but not as we know it - BDD for Testers
Whole team approach to agile testing bdd can help better pune 15th meetup
Design your tests to behave - An introduction To BDD!
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BEHAVIOR-DRIVEN-DEVELOPMENT.pptx
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
bdd behaviour driven development
Expo qa from user stories to automated acceptance tests with bdd
Introduction to TDD and BDD
Behavior-Driven Development (BDD) and Its Impact on Software Testing.pptx
Bahaviour Driven Development
Behavior-Driven Development (BDD) in context
Intro to TDD & BDD
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
2015 in tothebox-introtddbdd
Behavior Driven Development
BDD communication bridges - Expedia TED talk
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Topic tdd-and-bdd b4usolution
Ad

More from John Ferguson Smart Limited (20)

PPTX
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
PDF
Artisti e Condotierri - How can your team become artists of the 21st century ...
PDF
Engage! Bringing teams together to deliver software that makes a difference
PDF
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
PDF
Sustainable Test Automation with Serenity BDD and Screenplay
PDF
Feature Mapping Workshop
PDF
Engage! Bringing teams together to deliver software that makes a difference
PDF
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
PDF
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
PDF
Shift left-devoxx-pl
PDF
Screenplay - Next generation automated acceptance testing
PDF
Cucumber and Spock Primer
PDF
All the world's a stage – the next step in automated testing practices
PDF
CukeUp 2016 Agile Product Planning Workshop
PDF
BDD Anti-patterns
PDF
Serenity and the Journey Pattern
PDF
BDD - Collaborate like you mean it!
PDF
BDD-Driven Microservices
PDF
BDD Anti-patterns
PDF
BDD in Action - Devoxx 2014
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
Artisti e Condotierri - How can your team become artists of the 21st century ...
Engage! Bringing teams together to deliver software that makes a difference
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
Sustainable Test Automation with Serenity BDD and Screenplay
Feature Mapping Workshop
Engage! Bringing teams together to deliver software that makes a difference
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Shift left-devoxx-pl
Screenplay - Next generation automated acceptance testing
Cucumber and Spock Primer
All the world's a stage – the next step in automated testing practices
CukeUp 2016 Agile Product Planning Workshop
BDD Anti-patterns
Serenity and the Journey Pattern
BDD - Collaborate like you mean it!
BDD-Driven Microservices
BDD Anti-patterns
BDD in Action - Devoxx 2014

Recently uploaded (20)

PPTX
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
PDF
Examining Bias in AI Generated News Content.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Human Computer Interaction Miterm Lesson
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
substrate PowerPoint Presentation basic one
PDF
SaaS reusability assessment using machine learning techniques
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
Build Real-Time ML Apps with Python, Feast & NoSQL
PDF
Identification of potential depression in social media posts
PDF
Lung cancer patients survival prediction using outlier detection and optimize...
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PPTX
How to Convert Tickets Into Sales Opportunity in Odoo 18
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
AQUEEL MUSHTAQUE FAKIH COMPUTER CENTER .
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
ment.tech-Siri Delay Opens AI Startup Opportunity in 2025.pdf
Examining Bias in AI Generated News Content.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
Human Computer Interaction Miterm Lesson
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
Co-training pseudo-labeling for text classification with support vector machi...
Advancing precision in air quality forecasting through machine learning integ...
substrate PowerPoint Presentation basic one
SaaS reusability assessment using machine learning techniques
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
Build Real-Time ML Apps with Python, Feast & NoSQL
Identification of potential depression in social media posts
Lung cancer patients survival prediction using outlier detection and optimize...
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Rapid Prototyping: A lecture on prototyping techniques for interface design
How to Convert Tickets Into Sales Opportunity in Odoo 18
NewMind AI Weekly Chronicles – August ’25 Week IV

BDD in Action – principles, practices and real-world application