Questão de Engenharia de Software — Teste de Software — FGV 2025
- Código
- fg108659
- Banca
- FGV
- Órgão
- DPE-RO
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Sistemas - Classe B
- AI, apenas.
- BIII, apenas.
- CI e II, apenas.
- DII e III, apenas.
- EI, II e III.
GabaritoB — III, apenas.
Gabarito: letra B. Apenas o item III está correto. O item I descreve a ordem inversa da prática de TDD; o item II contém imprecisão quanto ao momento da escrita dos testes.
O TDD estabelece que o teste deve ser escrito antes do código de produção. O item afirma que o desenvolvedor escreveria a classe C e depois o teste T, o que é o oposto do ciclo TDD (Red-Green-Refactor). Portanto, a afirmação de que o TDD "favorece a escrita de códigos com alta testabilidade" é verdadeira, mas a justificativa apresentada está errada, tornando o item como um todo incorreto.
Conteúdo de apoio: O TDD implica escrever o código de teste antes do código de produção, um teste de cada vez, tendo certeza de que o teste falha antes de escrever o código que irá fazê-lo passar.
Embora o TDD realmente contribua para a melhoria do design (pois força o desenvolvedor a pensar na interface antes da implementação), a descrição do item é imprecisa. O desenvolvedor não se coloca na posição de "usuário da classe C" porque a classe C ainda não existe – ele escreve o teste para uma classe que será criada. Além disso, a afirmação de que a prática "está relacionada não apenas com testes" é verdadeira, mas o enunciado como um todo foi considerado incorreto pela banca, provavelmente pela imprecisão conceitual.
O TDD define que a primeira atividade de qualquer tarefa de programação (nova funcionalidade ou correção de bug) é escrever um teste automatizado que falhe. Isso garante que os testes não sejam esquecidos e que o código produza o comportamento esperado.
Gabarito: letra B (apenas o item III está correto).
Link permanente: /questoes/fg108659