Assinale a opção em que é apresentada uma técnica de desenvolvimento de software orientada a testes que é voltada para o atendimento dos requisitos do sistema com base no negócio, que utiliza exemplos e dublês de teste e que descreve funcionalidades por meio da sintaxe dado que, quando e então.
- A)teste unitário de software
Errada, porque teste unitário valida pequenas unidades de código e não é a técnica descrita com linguagem dado que, quando e então.
- B)desenvolvimento orientado por comportamento (BDD)
Certa, porque o BDD é orientado ao comportamento, usa exemplos, dublês de teste e cenários na sintaxe dado que, quando e então.
- C)desenvolvimento guiado por testes (TDD)
Errada, porque TDD é guiado por testes de código, com foco na implementação, e não no comportamento do sistema pelo negócio.
- D)desenvolvimento guiado por testes de aceitação (ATDD)
Errada, porque ATDD é voltado à aceitação com critérios definidos antes do desenvolvimento, mas o enunciado aponta para a modelagem comportamental em linguagem de negócio.
- E)testes de aceitação de usuário (UAT)
Errada, porque UAT é a validação feita pelo usuário no fim do processo, e não uma técnica de desenvolvimento com sintaxe dada, quando e então.
Gabarito: B
A questão descreve uma técnica que olha para o comportamento do sistema do ponto de vista do negócio, e não só para a implementação interna. Em outras palavras, a preocupação aqui é validar se o software faz o que o usuário ou a área de negócio espera, usando exemplos concretos para guiar a construção dos cenários. Esse é exatamente o espírito do BDD, ou desenvolvimento orientado por comportamento. Ele usa linguagem mais próxima do cotidiano e costuma escrever os cenários no formato dado que, quando e então, que ajuda a transformar requisitos em exemplos executáveis e fáceis de entender por quem não é da área técnica. Os dublês de teste aparecem porque, muitas vezes, você precisa simular partes do sistema para testar o comportamento desejado sem depender de integrações reais. Isso combina muito com BDD, que foca em comportamento observável e na colaboração entre negócio, teste e desenvolvimento. Por isso, o gabarito é a letra B. TDD olha primeiro para testes unitários e para o código, ATDD foca em testes de aceitação antes da implementação, e UAT é a validação final feita pelo usuário. Já o BDD junta negócio, linguagem natural e cenários comportamentais, exatamente como o enunciado descreve.