Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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...
As per McKinsey and Company and Oxford University Research
States:
On average, large IT projects run
45% over budget and 7...
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
cos...
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 ...
Modern Recipe: Acceptance Test-Driven Development
Acceptance Test-Driven Development establishes a feedback loop
that assu...
Ultra Modern Recipe: Behavior-Driven Development
Behavior-Driven Development codifies customer requirements
into scenarios...
Ultra Modern Recipe: Behavior-Driven Development
Behavior-Driven Development codifies customer requirements
into discrete,...
Sample
Feature: get cash from an ATM
Background:
Given the ATM has 1000
And the user John is authenticated
And the user's ...
What needs to happen
Three disciplines recommended by the development community,
Test-Driven Development, Behavior-Driven ...
Hybrid Practice
Hybrid practice
The intersection of TDD,
DDD and BDD provide an
hybrid approach to
development which
assures predictable a...
Waterfall SDLC vs Test-First with BDD
Integrating Disciplined Testing Through BDD Reduces
The “Testing Tail” and Avoids La...
Upcoming SlideShare
Loading in …5
×

An introduction to Behavior-Driven Development (BDD)

4,008 views

Published on

An introduction to Behavior-Driven Development, BDD, TDD, TFD, ATDD,

Published in: Engineering, Technology, Business

An introduction to Behavior-Driven Development (BDD)

  1. 1. An introduction to Behavior-Driven Development - By Suman Guha
  2. 2. BDD not only helps you develop software correctly, but it ensures you develop the correct software.
  3. 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. 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. 5. Software Development Success Is Thwarted By The Requirements Gap
  6. 6. Test-Driven Development (TDD) ensures that you built the software correctly, Not that the correct software was built.
  7. 7. The Problem What the customer wanted What the analyst specified What the developers programmed What was released after cost overturns
  8. 8. Defects found and remedied early in the software development life cycle reduce development costs and save time.
  9. 9. Stone Age Practice: Traditional QA QA Testing Establishes Tests That Typically Measure Software’s Adherence to Documented Requirements
  10. 10. Modern Recipe: Acceptance Test-Driven Development Acceptance Test-Driven Development establishes a feedback loop that assures adherence to customer requirements
  11. 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. 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. 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. 14. What needs to happen Three disciplines recommended by the development community, Test-Driven Development, Behavior-Driven Development and Domain-Driven Design
  15. 15. Hybrid Practice
  16. 16. Hybrid practice The intersection of TDD, DDD and BDD provide an hybrid approach to development which assures predictable and productive outcome.
  17. 17. Waterfall SDLC vs Test-First with BDD Integrating Disciplined Testing Through BDD Reduces The “Testing Tail” and Avoids Late Surprises

×