3. The DDs…
•TDD : Test-Driven Development
•ATDD : Acceptance-Test-Driven Development
•BDD : Behaviour-Driven Development
4. TDD
The idea is that unit tests
are written first, then
enough code is written to
make the tests pass. Then
a second failing unit test,
then enough new code to
pass both tests. And so
forth.
5. ATDD
A practice in which the
whole team collaboratively
discusses acceptance
criteria, and then distils
them into a set of concrete
acceptance tests before
development begins. It
ensures the team has shared
understanding of what it is
actually building and shared
definition of Done.
6. BDD
This technique operates
at a slightly higher level
than TDD while still
following the basic
principle of writing the
test, then coding to pass
the test. This and the
other DDs are often used
interchangeably by Agile
team
7. Differences of the DDs
TDD focuses on the low level,
ATDD on high level
BDD focuses on the behavioural
aspect of the system rather than
the implementation aspect that
TDD focuses on
BDD makes the automated
acceptance tests more readable
than ATDD
8.
9. The Problem
• Lack of mutual understanding
• Failure to produce desired results
Business IT
10. Let’s Bridge the Gap
What if business and IT can speak the same language?
14. More about Cucumber
• Cucumber: A tool that makes BDD easy
• Supports ruby, Java, php, C# etc.
• Most adopted tool for BDD with good community support
19. Key Benefit of BDD
• development work can be traced back directly to business objectives
• Resulting software design that matches existing and supports upcoming business
needs
• Efficient prioritisation - business-critical features are delivered first
• A shared language ensures a shared understanding of the project (Improved
transparency)
• Software development meets user need
• Improved quality code reducing costs of maintenance and minimising project risk