Questão nº 45
Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 45)
FCC2022Técnico em Gestão Procuratorial - Especialidade Engenharia de SoftwareTecnologia da Informação
Gabarito: Aver comentário ↓
Considere o seguinte ciclo de desenvolvimento do Test Driven Development (TDD) no contexto do teste de software:
- Escrever um Teste que inicialmente não passa.
- Adicionar uma nova funcionalidade do sistema.
- ......................................................................
- ......................................................................
- Escrever o próximo Teste.
Os itens 3 e 4 correspondem, correta e respectivamente, a:
- AFazer o Teste passar e Refatorar o código da nova funcionalidade. (alternativa correta)
- BReescrever o código do programa e Fazer o Teste passar.
- CRefatorar o código da nova funcionalidade e Reescrever os requisitos funcionais.
- DAdicionar novos requisitos não funcionais e Reescrever o código do programa.
- EReescrever os requisitos funcionais e Fazer o Teste passar.
Resposta comentada
Gabarito Alternativa A
O Test Driven Development (TDD) é uma técnica de desenvolvimento de software que segue um ciclo repetitivo de três fases: Red (vermelho), Green (verde) e Refactor (refatorar), garantindo que o código seja testado antes de ser escrito e mantido limpo.
- (A) Correta: Após escrever um teste que falha (Red) e adicionar o código mínimo para a nova funcionalidade (parte do Green), o próximo passo é Fazer o Teste passar (completando a fase Green). Uma vez que o teste passa, o código funciona, e então se procede a Refatorar o código da nova funcionalidade (fase Refactor), melhorando sua estrutura interna sem alterar seu comportamento externo, garantindo que os testes continuem passando.
- (B) Incorreta: "Reescrever o código do programa" não é um passo direto no ciclo TDD após adicionar uma funcionalidade; a ideia é fazer o teste passar com o mínimo de código e depois refatorar. A ordem também está incorreta, pois o teste deve passar antes de qualquer refatoração ou reescrita. Armadilha da banca: "Reescrever o código" pode ser confundido com "Refatorar", mas "reescrever" implica uma mudança mais drástica ou começar do zero, enquanto "refatorar" é melhorar a estrutura interna sem alterar o comportamento externo.
- (C) Incorreta: Embora "Refatorar" seja um passo do TDD, "Reescrever os requisitos funcionais" está fora do ciclo Red-Green-Refactor e não é uma etapa padrão após a implementação.
- (D) Incorreta: "Adicionar novos requisitos não funcionais" e "Reescrever o código do programa" não são passos sequenciais do ciclo TDD; requisitos são definidos antes ou em paralelo, e reescrever não é o mesmo que refatorar.
- (E) Incorreta: "Reescrever os requisitos funcionais" não faz parte do ciclo TDD. A sequência correta é fazer o teste passar antes de considerar refatoração ou o próximo teste.
Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.