Overview

BDD evolved from TDD. It focuses on the behavior of the application from the user's perspective. It uses a domain-specific language (DSL) like Gherkin to write scenarios in a 'Given-When-Then' format.

Key Concepts

  • Ubiquitous Language: A shared language used by everyone on the team.
  • Scenarios: Concrete examples of how the system should behave.
  • Given-When-Then: A template for writing scenarios (Given some context, When an event occurs, Then ensure some outcome).

Benefits

  • Improved communication between technical and non-technical team members.
  • Living documentation that stays in sync with the code.

Related Terms