# Behavior-driven development

> A variation on test-driven development.

A variation on [test-driven development](https://wiki.g15e.com/en/pages/Test-driven%20development.txt).

## Differences from TDD

- Specifications rather than tests.
- Expectations rather than assertions.
- Encourages greater use of <mock objects> than TDD does. (Watch out for <Mock object smell>.)
- Whereas TDD tests are gray-box tests, BDD specifications are closer to black-box tests.