BDD

O BDD é uma extensão do TDD, que é uma prática de design. Seu príncipio básico está na ideia de que ao iniciar a especificação de uma feature se realize inicialmente o teste ( o qual irá falhar) seguido pelo desenvolvimento da feature. Após o teste estar pronto, teremos a liberdade de refatorar seu código com a segurança de que não alterou comportamento ou gerou bugs.

Esse fluxo de ações é chamado de red — green — refactor.

Ao utilizar o BDD estamos especificando o comportamento que queremos construir definindo seu design numa abordagem outside-in development.