Questão nº 30
Questão de Gestão de Contratos / Desenvolvimento de Projetos e Demandas · FGV SEFAZ-AM 2022 - Prova I (nº 30)
FGV2022Analista de Tecnologia da Informação da Fazenda EstadualGestão de Contratos / Desenvolvimento de Projetos e Demandas
Gabarito: Bver comentário ↓
Enunciado: Desenvolvimento guiado por testes (TDD) é uma técnica de desenvolvimento de software que
- Aincentiva a construção de um alto número de testes de unidades de modo a eliminar a necessidade dos testes de integração e aceitação.
- Brequer que os desenvolvedores escrevam testes de unidades antes da codificação da aplicação. (alternativa correta)
- Cdelimita o tempo máximo que o programador deve empenhar escrevendo testes para manter a produtividade.
- Dtesta unidades de ativos efêmeros que devem ser invalidados após o uso, pois repetir testes é um desperdício de tempo.
- Eencoraja os desenvolvedores a escreverem testes apenas para verificação dos bugs detectados pelo usuário final na etapa de aceitação.
Resposta comentada
Gabarito Alternativa B
Test-Driven Development (TDD) é uma abordagem de desenvolvimento de software onde você escreve um teste automatizado que falha, depois escreve o código mínimo para fazê-lo passar, e então refatora o código.
- (A) Incorreta: TDD incentiva testes de unidade, mas não elimina a necessidade de testes de integração e aceitação, que servem a propósitos diferentes e complementares. A armadilha aqui é que TDD realmente foca em testes de unidade, mas a afirmação de "eliminar" outros tipos de teste é falsa.
- (B) Correta: O princípio fundamental do TDD é escrever testes de unidade antes de qualquer código de produção, seguindo o ciclo "Red-Green-Refactor" (vermelho, verde, refatorar).
- (C) Incorreta: TDD não delimita o tempo máximo para escrever testes; pelo contrário, integra a escrita de testes como parte essencial e contínua do processo de desenvolvimento.
- (D) Incorreta: Os testes em TDD são persistentes e repetíveis, formando uma rede de segurança que garante a funcionalidade do código ao longo do tempo, não sendo "efêmeros" ou "invalidados".
- (E) Incorreta: TDD é uma abordagem proativa, onde testes são escritos antes do código para guiar o desenvolvimento e prevenir bugs, e não apenas reativamente para verificar bugs já detectados pelo usuário.
Fonte: FGV SEFAZ-AM 2022 - Prova I Analista de Tecnologia da Informação da Fazenda Estadual (Caderno Tipo 1). Reproduzida para fins de estudo.