Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

The Power of BDD

106 Aufrufe

Veröffentlicht am

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

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!