What is Behavior-Driven Development (BDD)

Definition

Behavior-driven development (BDD) is a collaborative practice in which desired system behaviour is described in plain, structured language understandable to business and technical stakeholders alike, and those descriptions become executable tests that verify the behaviour.
« Back to Glossary Index
  • Aligns business and technical teams around shared, plain-language behaviour
  • Turns requirements directly into executable, verifiable specifications
  • Improves clarity by describing behaviour from the user’s perspective
  • Creates living documentation that stays in sync with the tests

Real World Example

A team writes a BDD scenario in Given-When-Then form describing how a discount applies at checkout; that scenario runs as an automated test and also serves as clear, shared documentation the product owner can read and confirm.

FAQs

What is the Given-When-Then format?

It structures a scenario as a starting context (Given), an action (When), and an expected outcome (Then), in plain language.

How does BDD differ from TDD?

TDD drives development from unit tests written by developers, while BDD describes behaviour collaboratively in business-readable language tied to tests.

Who participates in BDD?

Business stakeholders, developers, and testers collaborate to define behaviour, which keeps everyone aligned on what to build.

Hello popup window