O ATDD – acceptance test-driven development ou Aceitação TDD é um método derivado do TDD, contudo estes tratam a coleta de seleção de requisitos (user stories) e a aceitação do cliente. Qual das alternativas é a correta sobre requisitos e aceitação do cliente no ciclo TDD e ATDD quando em conjunto? Escolha a alternativa correta.
Questão
O ATDD – acceptance test-driven development ou Aceitação TDD é um método derivado do TDD, contudo estes tratam a coleta de seleção de requisitos (user stories) e a aceitação do cliente. Qual das alternativas é a correta sobre requisitos e aceitação do cliente no ciclo TDD e ATDD quando em conjunto? Escolha a alternativa correta.
Alternativas
A) TDD concentra-se na seleção dos requisitos (user story), do ATDD em obter a aceitação do cliente (acceptance test).
B) TDD concentra-se na seleção dos requisitos (user story) e aceitação do cliente (acceptance test), o ATDD apenas na construção do código.
C) ATDD concentra-se na seleção dos requisitos (user story) e aceitação do cliente (acceptance test), o TDD apenas na construção do código.
D) Ambos se concentram concomitantemente em coletar requisitos (user story) e aceitação do cliente (acceptance test).
E) ATDD concentra-se na seleção dos requisitos (user story), do TDD em obter a aceitação do cliente (acceptance test).
Explicação
Passo 1: Entender o foco do TDD
- TDD (Test-Driven Development) é uma prática de desenvolvimento em que o programador escreve testes de unidade antes do código de produção (ciclo red-green-refactor).
- O objetivo principal do TDD é guiar o design e a implementação do código no nível técnico, garantindo corretude de unidades (métodos, classes etc.).
- Embora o TDD possa ser influenciado por requisitos, ele não é o método cujo foco central é coletar/validar user stories e aceitação do cliente; isso fica em um nível acima (teste de aceitação).
Passo 2: Entender o foco do ATDD
- ATDD (Acceptance Test-Driven Development) deriva do TDD, mas desloca o “test-first” para o nível de aceitação.
- No ATDD, requisitos em forma de user stories são discutidos e refinados com stakeholders, e a equipe define testes de aceitação (critérios de aceite) que expressam “o que significa estar pronto” do ponto de vista do cliente/negócio.
- Assim, o ATDD está diretamente ligado à coleta/clarificação de requisitos e à aceitação do cliente por meio de testes de aceitação.
Passo 3: Quando TDD e ATDD são usados em conjunto
- O ATDD ajuda a definir e validar o comportamento esperado (requisitos + critérios de aceitação).
- O TDD dá suporte “por baixo”, implementando o software com qualidade via testes de unidade, para cumprir aqueles critérios.
Conclusão A alternativa que descreve corretamente essa divisão de foco é a que coloca ATDD com requisitos e aceitação, e TDD com implementação guiada por testes (unidade).
Alternativa correta: (C).