Behavior-driven development
Behavior-driven development (BDD) is a process that broadens the TDD technique and mixes it with other design ideas and business analysis provided to the developers in order to improve the software development.
In BDD, we test the scenarios and the class's behavior in order to meet the scenarios that can be composed by many classes.
It is very useful to use a DSL in order to have a common language to be used by the customer, project owner, business analyst, or developers. The goal is to have a ubiquitous language as we saw in Chapter 3, Application Design, in the domain-driven design section.
What is BDD?
As we said before, BDD is an agile technique based on TDD and ATDD, promoting the collaboration between the entire team of a project.
The goal of BDD is that the entire team understands what the customer wants, and the customer knows what the rest of the team understood from their specifications. Most of the times, when a project starts, developers don't have the...