TDD vs BDD
Gabarito: letra E. O TDD (Test-Driven Development) é uma prática de desenvolvimento de software que prioriza a escrita de testes unitários antes do código de produção, focando em aspectos técnicos e de design. Já o BDD (Behavior-Driven Development) é uma evolução do TDD que enfatiza a comunicação entre equipes técnicas e de negócio, descrevendo o comportamento esperado do sistema em uma linguagem próxima do natural (ex.: Gherkin). A alternativa E captura corretamente essa diferença de foco.
Alternativa A — ❌ Incorreta
Afirma que o TDD foca em Testes de Integração e o BDD em Testes de Unidade. Na verdade, o TDD foca em testes unitários (cada unidade de código), enquanto o BDD foca em comportamentos de negócio, podendo abranger diferentes níveis de teste (aceitação, integração, etc.).
Alternativa B — ❌ Incorreta
Diz que o TDD foca na validação do sistema através de Testes de Aceitação e o BDD na cobertura de código. O TDD não tem como foco principal testes de aceitação; estes são mais associados ao BDD. O BDD não se limita a cobertura de código; seu objetivo é garantir que o sistema se comporte conforme o esperado pelos stakeholders.
Alternativa C — ❌ Incorreta
Afirma que o TDD usa exclusivamente JUnit 5 e o BDD exclusivamente Mockito. Ambos os frameworks podem ser usados em qualquer abordagem. JUnit é comum em TDD, mas não exclusivo; Mockito é para mocks e não é exclusivo do BDD. Além disso, existem outros frameworks (Cucumber, SpecFlow, etc.) específicos para BDD.
Alternativa D — ❌ Incorreta
Diz que TDD é usado apenas em projetos XP e BDD apenas em projetos Scrum. TDD pode ser aplicado em qualquer metodologia ágil (ou mesmo em não ágeis), e BDD também não está restrito ao Scrum.
Alternativa E — ✅ Correta ⟵ GABARITO
Exata definição: TDD é uma disciplina de desenvolvimento voltada para detalhes técnicos (escrita de testes unitários, refatoração), enquanto BDD é uma abordagem de comunicação focada em comportamentos de negócio, promovendo entendimento compartilhado entre desenvolvedores, testadores e stakeholders.