18 April 2024

Behavior Driven Development (BDD)

Behavior Driven Development (BDD) definition

  • Behavior Driven Development (BDD) is an agile software development practice adding to Test-driven development( TDD) the description of the desired functional behavior :
    • Behavior Driven Development focuses on the behavioral aspect of system for customer and developer but still practices writing test before code.
    • Behavior-Driven Development (BDD) is a software development process, which focuses on user and system interactions.
    • Writing customer requirements as acceptance tests called ATDD.
    • Behavior Driven Development uses Ubiquitous language that can be understood by the developers and stakeholders.
    • When Behavior Driven Development is adapted in a project, the technical nitty-gritty aspects of the requirements and implementation are outlined in a business-oriented language.

BDD benefits

  • Behavior Driven Development (BDD) has 4 benefits :
    • BDD ensures single source of truth by merging specification and test documentation into a single document.
    • BDD can derive concrete examples in a collaborative manner from the acceptance criteria defined for each story.
    • BDD bring business, developers and testers together with a common language
    • BDD acts as a living documentation.

BDD practice

  • When you are developing via a BDD approach, the following is internally being used :
    • ATDD: Acceptance Test Driven Development
    • TDD: Test Driven Development
    • DSL: Domain Specific Language
    • DDD: Domain Driven Design
  • BDD combines practices from Test-Driven Development (TDD) and Domain-Driven Design (DDD) along with the collaboration of development team and domain experts :
    • BDD uses a simple Domain-Specific-Language (DSL) using natural language structure based on the ubiquitous language that can express the behaviors and the expected outcomes.
    • For more information, BDD does not have any formal requirements for exactly how user stories must be written down but Gherkin is a wide-used format to write down the requirements in the BDD approach.
    • BDD is also referred to as Specification by Example and is a synthesis and refinement based on TDD and Acceptance Test-Driven Development (ATDD) practices.
  • Behavior Driven Development is a variation / extension of Test-Driven Development methodology, where the main focus is on :
    • Behavioral specifications of the product or application (or its features).
    • User and System Interactions.

More informations for Scrum Testing

More informations for the Scrum PSD certification here.

Leave a Reply

Your email address will not be published. Required fields are marked *