Behavior-driven development
Software test naming / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about Behavior-driven development?
Summarize this article for a 10 year old
Behavior-driven development (BDD) involves naming software tests using domain language to describe the behavior of the code.
BDD involves use of a domain-specific language (DSL) using natural-language constructs (e.g., English-like sentences) that can express the behavior and the expected outcomes.
Proponents claim it 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] BDD is considered an effective practice especially when the problem space is complex.[5]
BDD is considered a refinement of test-driven development (TDD).[1][2][6][7][vague][8] [9] BDD combines the techniques 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][8]
At a high level, BDD is an idea about how software development should be managed by both business interests and technical insight. Its practice involves use of specialized tools.[6] Some tools specifically for BDD can be used for TDD. The tools automate the ubiquitous language.