The Power of BDD

68 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
68
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The Power of BDD

  1. 1. THE POWER OF BDD Presenter: Nancy Cai
  2. 2. AGENDA DevelopmentTechniques BDD Purpose Cucumber Examples
  3. 3. The DDs… •TDD : Test-Driven Development •ATDD : Acceptance-Test-Driven Development •BDD : Behaviour-Driven Development
  4. 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. 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. 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. 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. 8. The Problem • Lack of mutual understanding • Failure to produce desired results Business IT
  9. 9. Let’s Bridge the Gap What if business and IT can speak the same language?
  10. 10. Solution Domain Specific Language Business readable Gherkin Simple with few keywords
  11. 11. Feature: Scenario: -Given -When -Then
  12. 12. BDDTools
  13. 13. 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
  14. 14. Examples Cucumber Selenium Junit Runner Eclipse Java
  15. 15. 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
  16. 16. Thanks you!

×