Behaviour Driven Development (BDD)

Behaviour Driven Development (BDD) image
Behaviour Driven Development is an agile approach to delivering software with the goal of the developers, testers and product owners or business analysts collaborate to have a shared understanding of intended behaviour through examples. These examples can then be formulated into test scenarios and automated to provide evidence that the desired behaviours are implemented and working successfully. These automated test scenarios are typically written in a human readable format known as Gherkin. The three phases of BDD are Discovery, Formulation and Automation. 

Note that tests written in Gherkin are not inherently BDD test cases as this requires completion the Discovery and Formulation phases.
Behavior-Driven Development (BDD) is an agile software development methodology that improves communication and collaboration between technical and non-technical team members by focusing on system behavior from the user's perspective, rather than on the technical aspects of the implementation.

  • Focus on Behavior and Outcomes: BDD shifts the focus from writing tests for implementation details to defining and testing the desired behavior and business outcomes of the application as seen by the user.
  • Improved Collaboration: It encourages continuous communication and shared understanding among all stakeholders—developers, testers (QA), and business representatives (e.g., Product Owner)—often referred to as the "Three Amigos."
  • Ubiquitous Language (Gherkin): BDD uses a simple, structured, natural language (often called Gherkin) to write executable specifications (scenarios) that serve as both documentation and automated tests.
  • Given-When-Then Structure: Behavioral scenarios are typically written using this clear, conversational template:
    • Given a pre-condition or initial context.
    • When an event or action occurs.
    • Then an expected outcome or result is verified.
  • Executable Specifications: These human-readable specifications are directly linked to code that can be automatically executed, meaning the documentation always stays synchronized with the actual system behavior, serving as living documentation. 
  • Extension of TDD: BDD is considered a refinement and evolution of Test-DrivenDevelopment (TDD) and Acceptance Test-Driven Development (ATDD), applying its principles to a higher level of abstraction focused on business value.
Explore MoT
MoTaCon 2026 image
Thu, 1 Oct
Previously known as TestBash, MoTaCon is the new name for our annual conference. It's where quality people gather.
MoT Software Testing Essentials Certificate image
Boost your career in software testing with the MoT Software Testing Essentials Certificate. Learn essential skills, from basic testing techniques to advanced risk analysis, crafted by industry experts.
This Week in Quality image
Debrief the week in Quality via a community radio show hosted by Simon Tomes and members of the community
Subscribe to our newsletter
We'll keep you up to date on all the testing trends.