Two MoTacon attendees are on the left. The MoTaacon logo is in the center, and to the right a prompt to Get Your Ticket.

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.
A software development approach that uses plain, structured language to describe the expected behaviour of a system, typically in Given-When-Then format. BDD encourages collaboration between developers, testers, and non-technical stakeholders by expressing requirements as concrete examples of how the system should behave. 

Even when BDD is not used to generate automated tests, the practice of writing behaviour-based examples at a refinement stage can guide manual testing and surface gaps in acceptance criteria before development begins.
Explore MoT
Influence, from the other side of the table image
What I learned about influence by becoming a stakeholder
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