SlideShare a Scribd company logo
1 of 17
Download to read offline
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

What's hot

Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 

What's hot (20)

Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
 
Cucumber BDD
Cucumber BDDCucumber BDD
Cucumber BDD
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Behavior Driven Development Pros and Cons
Behavior Driven Development Pros and ConsBehavior Driven Development Pros and Cons
Behavior Driven Development Pros and Cons
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)Test Automation Framework using Cucumber BDD overview (part 1)
Test Automation Framework using Cucumber BDD overview (part 1)
 
Cucumber presenation
Cucumber presenationCucumber presenation
Cucumber presenation
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD intro
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
Bdd – with cucumber and gherkin
Bdd – with cucumber and gherkinBdd – with cucumber and gherkin
Bdd – with cucumber and gherkin
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Introducing BDD and TDD with Cucumber
Introducing BDD and TDD with CucumberIntroducing BDD and TDD with Cucumber
Introducing BDD and TDD with Cucumber
 

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

Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)
Akshay Salvi
 
How To Integrate Independent QA To Shorten Development Cycles
How To Integrate Independent QA To Shorten Development CyclesHow To Integrate Independent QA To Shorten Development Cycles
How To Integrate Independent QA To Shorten Development Cycles
Altoros
 

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

CWIN17 london delivering devops and release automation in fs - duncan bradf...
CWIN17 london   delivering devops and release automation in fs - duncan bradf...CWIN17 london   delivering devops and release automation in fs - duncan bradf...
CWIN17 london delivering devops and release automation in fs - duncan bradf...
 
DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017DevOps evolution architecting the modern software factory - cloud expo east 2017
DevOps evolution architecting the modern software factory - cloud expo east 2017
 
IT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptxIT Application Development - with SDLC.pptx
IT Application Development - with SDLC.pptx
 
White paper quality at the speed of digital
White paper   quality at the speed of digitalWhite paper   quality at the speed of digital
White paper quality at the speed of digital
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?
 
Blueworks LIve - Process Modeling Solution
Blueworks LIve - Process Modeling SolutionBlueworks LIve - Process Modeling Solution
Blueworks LIve - Process Modeling Solution
 
Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)Akshay_salvi_Resume (1)
Akshay_salvi_Resume (1)
 
Prameela Ladi
Prameela LadiPrameela Ladi
Prameela Ladi
 
IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6IBM Collaborative Lifecycle Management Solution for DevOps v6
IBM Collaborative Lifecycle Management Solution for DevOps v6
 
Planning For Success Quality Management
Planning For Success Quality ManagementPlanning For Success Quality Management
Planning For Success Quality Management
 
How To Integrate Independent QA To Shorten Development Cycles
How To Integrate Independent QA To Shorten Development CyclesHow To Integrate Independent QA To Shorten Development Cycles
How To Integrate Independent QA To Shorten Development Cycles
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
01 the value of quality
01   the value of quality01   the value of quality
01 the value of quality
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Constient global solution- Mobile application development
Constient global solution- Mobile application developmentConstient global solution- Mobile application development
Constient global solution- Mobile application development
 
Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
Constient global solution- mobile application development
Constient global solution- mobile application developmentConstient global solution- mobile application development
Constient global solution- mobile application development
 
Manual Testing Guide1.pdf
Manual Testing Guide1.pdfManual Testing Guide1.pdf
Manual Testing Guide1.pdf
 
Make a career in software testing: WebPro - Web Testing Professional Program
Make a career in software testing: WebPro - Web Testing Professional ProgramMake a career in software testing: WebPro - Web Testing Professional Program
Make a career in software testing: WebPro - Web Testing Professional Program
 

Recently uploaded

Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 

Recently uploaded (20)

NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 

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