BDD stands for Behavior Driven Development. It is an agile software development practice that has evolved from TDD (Test Driven Develolment), and is a brainchild of Dan North, an agile luminary.
The premise of BDD is to bring technology and business togther. As the name suggests, the practice recommends defining the behavior upfront and using the same to drive the product development.
For an example, think of writing a simple addition program. If you were to practice BDD, the team should get together to define the expected behavior such as:
- should perform addition of two positive number
- should perform addition of a positive and a negative number
- should perform addition of two negative number
- should perform addition for decimal numbers upto 2 digits
- and likewise
This brings a lot of clarity into what the team has to develop and where are the boundaries.