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.
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