0% found this document useful (0 votes)
38 views

Software Engineering Agile Software Development: Vague

BDD is an Agile software development process that encourages collaboration between developers, QA, and business participants through conversation and concrete examples to formalize a shared understanding of how an application should behave. It emerged from test-driven development and combines techniques from TDD with domain-driven design and object-oriented analysis to provide shared tools and processes. While specialized software tools support automation and the ubiquitous language of BDD, it is largely facilitated through a simple domain-specific language using natural language to express expected behavior and outcomes.

Uploaded by

rajesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Software Engineering Agile Software Development: Vague

BDD is an Agile software development process that encourages collaboration between developers, QA, and business participants through conversation and concrete examples to formalize a shared understanding of how an application should behave. It emerged from test-driven development and combines techniques from TDD with domain-driven design and object-oriented analysis to provide shared tools and processes. While specialized software tools support automation and the ubiquitous language of BDD, it is largely facilitated through a simple domain-specific language using natural language to express expected behavior and outcomes.

Uploaded by

rajesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1

In software engineering, behavior-driven development (BDD) is an Agile software

development process that encourages collaboration between developers, QA and non-technical


or business participants 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][vague][7] 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][7]
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.[8]

You might also like