BDD é TDD? BDD ou TDD?

TDD (test driven development) é uma realidade na minha vida como engenheiro de software há alguns anos. BDD (behavior driven development) nem tanto. por uma razão simples.

como desenvolvedor você não precisa da autorização ou tem dependencia de ninguem para fazer TDD. você começa a sua tarefa escrevendo os seus testes unitários, red, green, refactor…tá lá…TDD. BDD já não é tão simples assim. BDD envolve todos os membros do projeto, desenvolvedores, testes, especificadores, clientes. então, não é tão simples. não depende somente de você, ou de mim.

BDD não é uma maneira diferente de fazer test driven development. nem é TDD. BDD tem como objetivo resolver o problema de comunicação entre os multiplus envolvidos no projeto. ele (tenta) estabelecer uma visão única e coerente de um requisito ou cenário.

tenho usado BDD com o meu time. todos os envolvidos tem contribuido para escrevermos as histórias e os cenários. o resultado até agora tem sido interessante. provavelmente vou falar sobre isto mais tarde.

e a grande questão: BDD é TDD? eu diria que não!! tenho que escolher entre BDD  ou  TDD? eu dira que não!!! tenho usado BDD e TDD ao mesmo tempo neste projeto.

eu sugiro você ler este post feito por Dan North: BDD IS LIKE TDD IF…