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.