SlideShare a Scribd company logo
10
Most read
13
Most read
17
Most read
An introduction to Behavior-Driven Development
- By Suman Guha
BDD not only helps you develop software correctly, but it
ensures you develop the correct software.
As per McKinsey and Company and Oxford University Research
States:
17% of software projects go so badly,
they threaten the very existence of the
company.
The Problem
As per McKinsey and Company and Oxford University Research
States:
On average, large IT projects run
45% over budget and 7% over time,
while delivering 56% less value than
predicted.
Software Development Success Is Thwarted By The
Requirements Gap
Test-Driven Development (TDD) ensures that you
built the software correctly, Not that the correct
software was built.
The Problem
What the
customer
wanted
What the
analyst
specified
What the
developers
programmed
What was
released after
cost overturns
Defects found and remedied early in the software
development life cycle reduce development costs
and save time.
Stone Age Practice: Traditional QA
QA Testing Establishes Tests That Typically Measure Software’s
Adherence to Documented Requirements
Modern Recipe: Acceptance Test-Driven Development
Acceptance Test-Driven Development establishes a feedback loop
that assures adherence to customer requirements
Ultra Modern Recipe: Behavior-Driven Development
Behavior-Driven Development codifies customer requirements
into scenarios that are automated in a TDD test-first iteration and
output test reports as part of a continuous build integration cycle
Ultra Modern Recipe: Behavior-Driven Development
Behavior-Driven Development codifies customer requirements
into discrete, real-life scenarios that are automated in testing
frameworks and output test reports as part of a continuous
integration pipeline.
Sample
Feature: get cash from an ATM
Background:
Given the ATM has 1000
And the user John is authenticated
And the user's account has 5000
Scenario: success
When the user asks the ATM for 500
Then the ATM will have 500
And the user's account will have 4500
And the ATM will provide 500 in cash
Scenario: not enough money in the ATM
When the user asks the ATM for 1500
Then the ATM will have 1000
And the user's account will have 5000
And the ATM will notify the user it does not have enough cash
What needs to happen
Three disciplines recommended by the development community,
Test-Driven Development, Behavior-Driven Development and
Domain-Driven Design
Hybrid Practice
Hybrid practice
The intersection of TDD,
DDD and BDD provide an
hybrid approach to
development which
assures predictable and
productive outcome.
Waterfall SDLC vs Test-First with BDD
Integrating Disciplined Testing Through BDD Reduces
The “Testing Tail” and Avoids Late Surprises

More Related Content

PDF
Successfully Implementing BDD in an Agile World
ODP
Introduction to BDD
PPTX
Behavior Driven Development
PPTX
Tdd and bdd
PPTX
Writing Test Cases From User Stories And Acceptance Criteria
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PPTX
Introduction to Agile Testing
PDF
Building Quality In in SAFe – The Testing Organization’s Perspective
Successfully Implementing BDD in an Agile World
Introduction to BDD
Behavior Driven Development
Tdd and bdd
Writing Test Cases From User Stories And Acceptance Criteria
Role Of Qa And Testing In Agile 1225221397167302 8
Introduction to Agile Testing
Building Quality In in SAFe – The Testing Organization’s Perspective

What's hot (20)

PDF
Bdd Introduction
PPTX
Test Automation Framework with BDD and Cucumber
PPTX
Agile Testing and Test Automation
ODP
BDD with Cucumber
PDF
Cucumber ppt
PPT
Agile testing
PPTX
BDD WITH CUCUMBER AND JAVA
PDF
An Introduction to Test Driven Development
PPTX
Automated Test Framework with Cucumber
PPT
Agile QA presentation
PPT
Behavior Driven Development Pros and Cons
PPTX
QA Best Practices in Agile World_new
PDF
Agile Testing Framework - The Art of Automated Testing
PDF
BDD in Action – principles, practices and real-world application
PPTX
Test Automation in Agile
PPT
Test automation process
PPTX
Agile Testing: The Role Of The Agile Tester
PDF
PPT
Agile QA and Testing process
PPTX
Feature Toggles
Bdd Introduction
Test Automation Framework with BDD and Cucumber
Agile Testing and Test Automation
BDD with Cucumber
Cucumber ppt
Agile testing
BDD WITH CUCUMBER AND JAVA
An Introduction to Test Driven Development
Automated Test Framework with Cucumber
Agile QA presentation
Behavior Driven Development Pros and Cons
QA Best Practices in Agile World_new
Agile Testing Framework - The Art of Automated Testing
BDD in Action – principles, practices and real-world application
Test Automation in Agile
Test automation process
Agile Testing: The Role Of The Agile Tester
Agile QA and Testing process
Feature Toggles
Ad

Similar to An introduction to Behavior-Driven Development (BDD) (20)

PPTX
Bdd. Automate your requirements
PPTX
Gateway to Agile: XP and BDD
PPTX
Behavior-Driven Development (BDD) and Its Impact on Software Testing.pptx
PDF
Behavior driven development_tutorial
PPTX
Behavior Driven Development
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
PDF
Behavior Driven Development—A Guide to Agile Practices
PDF
bdd behaviour driven development
PDF
Whole team approach to agile testing bdd can help better pune 15th meetup
PDF
It's Testing, Jim, but not as we know it - BDD for Testers
PDF
How BDD enables True CI/CD
PDF
Agile Network India | Be Customer Centric with Test First Development | Mamat...
PPTX
Topic tdd-and-bdd b4usolution
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
PPTX
Руслан Плахута - Внедрение BDD в распределенные команды
PPTX
Test-driven development & Behavior-driven development basics
PPTX
Introduction to BDD
PPTX
Making the Move to Behavior Driven Development
PPTX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
PDF
Intro to TDD & BDD
Bdd. Automate your requirements
Gateway to Agile: XP and BDD
Behavior-Driven Development (BDD) and Its Impact on Software Testing.pptx
Behavior driven development_tutorial
Behavior Driven Development
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Behavior Driven Development—A Guide to Agile Practices
bdd behaviour driven development
Whole team approach to agile testing bdd can help better pune 15th meetup
It's Testing, Jim, but not as we know it - BDD for Testers
How BDD enables True CI/CD
Agile Network India | Be Customer Centric with Test First Development | Mamat...
Topic tdd-and-bdd b4usolution
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Руслан Плахута - Внедрение BDD в распределенные команды
Test-driven development & Behavior-driven development basics
Introduction to BDD
Making the Move to Behavior Driven Development
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Intro to TDD & BDD
Ad

Recently uploaded (20)

PPTX
additive manufacturing of ss316l using mig welding
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPT
Project quality management in manufacturing
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Construction Project Organization Group 2.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Internet of Things (IOT) - A guide to understanding
PPT
Drone Technology Electronics components_1
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
web development for engineering and engineering
additive manufacturing of ss316l using mig welding
Arduino robotics embedded978-1-4302-3184-4.pdf
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Unit 5 BSP.pptxytrrftyyydfyujfttyczcgvcd
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Project quality management in manufacturing
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Construction Project Organization Group 2.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Operating System & Kernel Study Guide-1 - converted.pdf
CH1 Production IntroductoryConcepts.pptx
Internet of Things (IOT) - A guide to understanding
Drone Technology Electronics components_1
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
web development for engineering and engineering

An introduction to Behavior-Driven Development (BDD)

  • 1. An introduction to Behavior-Driven Development - By Suman Guha
  • 2. BDD not only helps you develop software correctly, but it ensures you develop the correct software.
  • 3. As per McKinsey and Company and Oxford University Research States: 17% of software projects go so badly, they threaten the very existence of the company. The Problem
  • 4. As per McKinsey and Company and Oxford University Research States: On average, large IT projects run 45% over budget and 7% over time, while delivering 56% less value than predicted.
  • 5. Software Development Success Is Thwarted By The Requirements Gap
  • 6. Test-Driven Development (TDD) ensures that you built the software correctly, Not that the correct software was built.
  • 7. The Problem What the customer wanted What the analyst specified What the developers programmed What was released after cost overturns
  • 8. Defects found and remedied early in the software development life cycle reduce development costs and save time.
  • 9. Stone Age Practice: Traditional QA QA Testing Establishes Tests That Typically Measure Software’s Adherence to Documented Requirements
  • 10. Modern Recipe: Acceptance Test-Driven Development Acceptance Test-Driven Development establishes a feedback loop that assures adherence to customer requirements
  • 11. Ultra Modern Recipe: Behavior-Driven Development Behavior-Driven Development codifies customer requirements into scenarios that are automated in a TDD test-first iteration and output test reports as part of a continuous build integration cycle
  • 12. Ultra Modern Recipe: Behavior-Driven Development Behavior-Driven Development codifies customer requirements into discrete, real-life scenarios that are automated in testing frameworks and output test reports as part of a continuous integration pipeline.
  • 13. Sample Feature: get cash from an ATM Background: Given the ATM has 1000 And the user John is authenticated And the user's account has 5000 Scenario: success When the user asks the ATM for 500 Then the ATM will have 500 And the user's account will have 4500 And the ATM will provide 500 in cash Scenario: not enough money in the ATM When the user asks the ATM for 1500 Then the ATM will have 1000 And the user's account will have 5000 And the ATM will notify the user it does not have enough cash
  • 14. What needs to happen Three disciplines recommended by the development community, Test-Driven Development, Behavior-Driven Development and Domain-Driven Design
  • 16. Hybrid practice The intersection of TDD, DDD and BDD provide an hybrid approach to development which assures predictable and productive outcome.
  • 17. Waterfall SDLC vs Test-First with BDD Integrating Disciplined Testing Through BDD Reduces The “Testing Tail” and Avoids Late Surprises