BDD
O que é?
Resumidamente: Processo de desenvolvimento de software em que testes automatizados são escritos antes/durante
no desenvolvimento do código.
Mas pera ai...
Igual ao TDD!?
BDD
Sim... igual porém com um foco diferente.
BDD
Porque isso? Qual a utilidade de usar BDD?
BDD
Behavioral specification
BDD
"Living Documentation"
BDD
Uncle Bob Martin: "Specification, not Verification".
BDD
Verificação ou testes só afirmam que o código funciona.
BDD
Especificação define o que o código deve fazer.
BDD
Exemplo: Imagine que sua aplicação é um importante visualizador de relatórios, e para cada caso de ordenação dos elementos você use os algoritmos de ordenação:
- Merge Sort
- Bubble Sort
- Insertion Sort
- Shell Sort
- Comb Sort
- Quicksort
BDD
Se você disser que:
"Chefinho implementei os algoritmos de ordenação X Y Z mas qual você prefere?"
Seu chefe...
BDD
BDD
Seu chefe irá disser:
"Se ordena tá ótimo... Só isso que me importa"
Moral da história:
O cliente se preocupa com ele vai mexer pra realizar o trabalho dele.