“Behavior Driven Development ou Desenvolvimento Guiado por Comportamento é uma técnica de desenvolvimento Ágil que encoraja colaboração entre desenvolvedores, setores de qualidade e pessoas de negócios. Proposto em 2003 por Dan North como uma resposta à TDD (Test Driven Development ou Desenvolvimento Guiado por Testes). Para tanto, desenvolvedores usam uma linguagem ubíqua que abstrai a tecnologia e foca no comportamento desejado.”
Quem foi, participou do debate e isso trouxe diferentes perspectivas e opiniões. A seguir um post muito legal do DevMedia sobre Behavior-Driven Development na plataforma .NET – https://www.devmedia.com.br/behavior-driven-development-na-plataforma-net/33372
Os debatedores possuem variados projetos que acumularam diferentes experiências no uso de BDD, o que permitiu o compoartilhamento de muito aprendizado vicariante, com seus acertos e erros em diferentes contextos, clientes, tecnologia e equipes.
1. Post do Dan North de 2006 com uma introdução e status do BDD – https://dannorth.net/introducing-bdd/
“Comportamento” é uma palavra mais útil que “teste”
O JBehave enfatiza comportamento ao longo do teste
Determine o próximo comportamento mais importante
Requisitos são comportamento também
BDD fornece uma “linguagem ubíqua” para análise
Critérios de aceitação devem ser executáveis
Nomes de métodos de teste devem ser frases
Um modelo simples de frase mantém métodos de teste focados
Um nome de teste expressivo é útil quando um teste falha”
2. Post do Dan North apresentando a relevância do uso de histórias do usuário – https://dannorth.net/whats-in-a-story/
“O desenvolvimento orientado por comportamento usa uma história como a unidade básica de funcionalidade e, portanto, de entrega. Os critérios de aceitação são uma parte intrínseca da história, definem o escopo de seu comportamento e nos dão uma definição compartilhada de “feito”. Eles também são usados como base para a estimativa quando chegamos a fazer nosso planejamento. Mais importante ainda, as histórias são o resultado de conversas entre as partes interessadas do projeto, analistas de negócios, testadores e desenvolvedores. O BDD é tanto sobre as interações entre as várias pessoas no projeto quanto sobre as saídas do processo de desenvolvimento.”