Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 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