Understanding Behavior-Driven Development (BDD) in Agile Software Development

Slide Note
Embed
Share

Behavior-Driven Development (BDD) is a powerful methodology that emphasizes collaboration, automation, and delivering software that matters. It builds on Test-Driven Development (TDD) by focusing on defining behaviors and outcomes first. Core concepts include using domain-specific languages, integrating with tools, and following structured specifications like Gherkin syntax. BDD tools like Jbehave, Cucumber, and Rspec help translate requirements into executable tests, promoting better collaboration, visibility, and software quality while reducing costs.


Uploaded on Sep 13, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Introduction to BDD

  2. BDD is a second-generation, outside- in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters. -Dan North 2009

  3. Where did BDD come from? TDD was first BDD better defined what to test

  4. Core Concepts uses dsl (domain specific languge) leverage red/green/clean from TDD usually integrated with a tool

  5. Typical Specification has two parts Acceptance Criteria Initial condition Trigger event Expected Outcome Often Gherkin (given/when/then) Story/Narrative Who What Why

  6. Examples

  7. Specialized Tooling 8

  8. What do the tools do? Reads the document Understands key words ex: then Clauses transformed to test parameters with help from developers Executes the test scenarios

  9. Examples Jbehave Rbehave Cucumber Rspec JDave

  10. What are the benefits? Better collaboration High visibility common language Software design follows biz value users more satisfied More confident devs Higher quality and lower cost

Related