Behavior-driven development (BDD) is an Agile software development methodology within which an application is documented and designed according to the behavior a user expects to experience when interacting with it.
By encouraging developers to focus only on the requested behaviors of an app or program, BDD helps to avoid bloat, excessive code, unnecessary features or lack of focus.
This methodology combines, augments and refines the practices used in test-driven development (TDD) and acceptance testing.
Features of BDD
-
Shifting from thinking in “tests” to thinking in “behavior”
-
Collaboration between Business stakeholders, Business Analysts, QA Team and developers
-
Ubiquitous language, it is easy to describe
-
Driven by Business Value
-
Extends test Driven Development (TDD) by utilizing natural language that non technical stakeholders can understand
-
BDD frameworks like Cucumber or JBehave are an enabler, acting a “bridge” between Business & Technical Language