Specifications of the Behavior of the Class
The Agile Alliance provide a succinct view of BDD. What I find surprising even today is the number of developers who still talk about “unit tests”, and thus clearly haven’t managed to make the jump to BDD 😦 Which means the “agile” team doesn’t take advantage of User Stories augmented with executable scenarios. A major benefit in my book is the single notation that aid communication between domain experts, testers and developers, and user experience.
In emphasizing the term “specification”, the intent of BDD is to provide a single answer to what many Agile teams view as separate activities: the creation of unit tests and “technical” code on one hand, the creation of functional tests and “features” on the other hand. This should lead to increased collaboration between developers, test specialists, and domain experts.
If you are not on the BDD wagon, get on it!