What is BDD (Behavior-Driven Development)?

Software Testing 101

What is BDD (Behavior-Driven Development)?

What is BDD (Behavior-Driven Development)?

Behavior-driven development is a testing practice that follows the idea of specification by example (e.g., Test-Driven Development [TDD]). The idea is to describe how the application should behave in a very simple user/business-focused language.  BDD’s business-focused perspective on application behavior allows teams to create living documentation that is easy to maintain and can be consumed by all team members, including testers, developers, and product owners.

With BDD, tests are created using the gherkin Given-When-Then language. 

  • given (some context)
  • when (something happens)
  • then (outcome)

For example:

  • Given I am signing up for a free trial
  • When I submit the required details
  • Then I receive a link to the download

BDD can be used in concert with most automated testing methodologies and tools.

BDD and Continuous Testing

BDD is one technique you can use to create tests for automated acceptance testing during Continuous Testing. With BDD-based tests running during your Continuous Integration process, you can give stakeholders fast feedback on whether the functionality is actually implemented and working–in terms that they can easily understand.

BDD Tools

Popular development testing tools for creating and managing BDD tests are:

BDD Resources