Behavior-Driven Development (BDD) Approach

From GM-RKB
(Redirected from BDD)
Jump to navigation Jump to search

A Behavior-Driven Development (BDD) Approach is an agile software development methodology that encourages collaboration among developers, quality assurance experts, and customer representatives in a software project.



References

2023

  • chat
    • Behavior-Driven Development (BDD) is a software development methodology that emphasizes collaboration, communication, and shared understanding between developers, testers, and business stakeholders. BDD aims to ensure that software is developed according to well-defined requirements and user expectations. It extends from Test-Driven Development (TDD) and borrows concepts from Domain-Driven Design (DDD).

       BDD focuses on specifying the desired behavior of a software system in a clear, understandable language. This is achieved by writing scenarios or test cases in plain language, which can be understood by both technical and non-technical stakeholders. The plain language format enables everyone on the team to participate in the development process and to have a shared understanding of the system's behavior.

    • Key principles of BDD include:
      • Collaboration: BDD promotes active involvement from all team members, including developers, testers, and business stakeholders, ensuring that everyone contributes to the development process and shares a common understanding of the system's goals.
      • Ubiquitous language: BDD encourages the use of a consistent, shared language to describe the system's behavior. This language is used in writing test scenarios and discussing requirements, making it easier for everyone to understand and contribute to the development process.
      • Specification by example: BDD focuses on defining concrete examples to illustrate the desired behavior of the system, rather than abstract requirements. These examples serve as the basis for test scenarios and help to clarify the expectations of the system for all team members.
      • Living documentation: In BDD, the test scenarios serve as up-to-date documentation of the system's behavior. As the scenarios are written in plain language, they are easy to understand and maintain, ensuring that the documentation remains relevant and useful throughout the development process.
    • BDD is often implemented using tools like Cucumber, which allows the execution of automated tests written in a domain-specific language like Gherkin. These tools facilitate the writing and execution of plain-language tests, bridging the gap between technical and non-technical stakeholders and fostering effective collaboration.

2023

  • (Wikipedia, 2023) ⇒ https://en.wikipedia.org/wiki/Behavior-driven_development Retrieved:2023-4-4.
    • In software engineering, behavior-driven development (BDD) is an agile software development process that encourages collaboration among developers, quality assurance experts, and customer representatives in a software project.[1] [2] [3] It encourages teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave.[4] It emerged from test-driven development (TDD).[1][2][5][6] Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software development and management teams with shared tools and a shared process to collaborate on software development.[2][6] Although BDD is principally an idea about how software development should be managed by both business interests and technical insight, the practice of BDD does assume the use of specialized software tools to support the development process.[5]

      Although these tools are often developed specifically for use in BDD projects, they can be seen as specialized forms of the tooling that supports test-driven development. The tools serve to add automation to the ubiquitous language that is a central theme of BDD.

       BDD is largely facilitated through the use of a simple domain-specific language (DSL) using natural-language constructs (e.g., English-like sentences) that can express the behaviour and the expected outcomes. Test scripts have long been a popular application of DSLs with varying degrees of sophistication. BDD is considered an effective technical practice especially when the "problem space" of the business problem to solve is complex.[7]

  1. 1.0 1.1 North, Dan (March 2006). "Introducing BDD". Dan North. Retrieved 25 April 2019.
  2. 2.0 2.1 2.2 "Behaviour-Driven Development". Archived from the original on 1 September 2015. Retrieved 12 August 2012.
  3. Keogh, Liz (2009-09-07). "Introduction to Behavior-Driven Development". SkillsMatter. Retrieved 1 May 2019.
  4. John Ferguson Smart (2014). BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle. Manning Publications. ISBN 9781617291654.
  5. 5.0 5.1 Haring, Ronald (February 2011). de Ruiter, Robert (ed.). "Behavior Driven development: Beter dan Test Driven Development". Java Magazine (in Dutch). Veen Magazines (1): 14–17. ISSN 1571-6236
  6. 6.0 6.1 Bellware, Scott (June 2008). "Behavior-Driven Development". Code Magazine. Archived from the original on 12 July 2012. Retrieved 1 May 2019.
  7. Tharayil, Ranjith (15 February 2016). "Behavior-Driven Development: Simplifying the Complex Problem Space". SolutionsIQ. Retrieved 15 February 2018.