On our most recent installment of a /dev/brainst||m meeting, we took a dive into Behavior Driven Development. Our colleague Maarten van Berkel uses BDD at his client’s project to facilitate better development and better testing of their Ruby software.
Behavior Driven Development (BDD) is a method for developing software much like Test Driven Development (TDD). Both methods start development with specifying test cases for a feature. The big difference lies in the way these tests are defined. TDD generally defines its scenarios in unit tests expressed in some programming language. BDD lets you specify your test scenario’s in plain English (or Dutch, or whatever). This forces you to think in working features over working units of code.