Questão de Engenharia de Software — Engenharia de Requisitos — CESPE / CEBRASPE 2024
Engenharia de Software›Engenharia de Requisitos
Código
ce171196
Banca
CESPE / CEBRASPE
Órgão
CNPQ
Ano
2024
Nível
Superior
Cargo
Analista em Ciência e Tecnologia Pleno I - Especialidade: Desenvolvimento e Arquitetura de Software
Em relação ao desenvolvimento guiado por teste (TDD), julgue o item que se segue.No TDD, o teste deve ser criado com o objetivo de fazer o segmento de código falhar, gerando-se um processo iterativo que permite a submissão de muitas subfunções simultaneamente, o que confere uma agilidade significativa ao processo.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Test-Driven Development (TDD)
Gabarito: ❌ ERRADO. A afirmação está incorreta porque o TDD desenvolve código em incrementos de uma subfunção por vez, e não muitas subfunções simultaneamente. Embora o teste seja criado para falhar inicialmente e o processo seja iterativo, a parte que afirma a submissão simultânea de várias subfunções contradiz o princípio fundamental do TDD.
No TDD, o ciclo é:
Escrever um teste que falhe (Red).
Escrever o código mínimo para passar no teste (Green).
Refatorar o código (Refactor).
Repetir para a próxima subfunção.
Cada iteração lida com uma única subfunção, garantindo que o código seja construído de forma incremental e que os testes de regressão capturem efeitos colaterais imediatamente. A afirmação de que "muitas subfunções são submetidas simultaneamente" é, portanto, falsa. A agilidade do TDD vem da rápida iteração e feedback, não da paralelização de subfunções.
1Red: escreve teste que falha
2Green: código mínimo para passar
3Refactor: melhora o código
4Repete p/ próxima subfunção
LEVEL · soulevel.com.br
NÃO CAIA NESSA!
A banca troca "uma subfunção de cada vez" por "muitas subfunções simultaneamente". No TDD, o desenvolvimento é estritamente incremental: uma subfunção por ciclo. Memorize: Red-Green-Refactor para uma funcionalidade de cada vez.