Questão nº 68
Questão de Tecnologia da Informação · FGV ALESC 2024 (nº 68)
A prática de Test Driven Development (TDD, ou Desenvolvimento Orientado por Testes) se relaciona com o conceito de verificação e validação e se baseia em um ciclo para garantir a qualidade do código.
Entre as características do TDD, é correto o que se afirma em
- Atrata-se de desenvolvimento orientado para os comportamentos, sendo o desenvolvedor responsável por escrever os testes e validá-los de forma que eles funcionem.
- Btrata-se de desenvolvimento orientado para os testes, sendo atribuição do programador escrever como o problema deve se comportar.
- Cna prática, se refere a escrever um teste automatizado durante o desenvolvimento do código de fato.
- Do ciclo do TDD se inicia com a criação de um teste, para auxiliar a codificação, segue com a realização da codificação para passar no teste, e finaliza com a eliminação das redundâncias, ao se refatorar o código. (alternativa correta)
- Eno desenvolvimento de programas são intercalados testes, elicitação de requisitos e desenvolvimento de código, tendo os testes embutidos em um programa separado que os executa e invoca o sistema que está sendo testado.
Resposta comentada
Gabarito Alternativa D
TDD (Desenvolvimento Orientado por Testes) é uma abordagem onde você escreve um teste automatizado que falha ANTES de escrever o código de produção que fará esse teste passar.
(A) Incorreta: "Desenvolvimento orientado para os comportamentos" é uma característica mais alinhada ao BDD (Behavior Driven Development), que é uma extensão do TDD, mas não o TDD em si. Além disso, no TDD, o teste deve falhar primeiro, não apenas "funcionar".
(B) Incorreta: Embora o TDD seja "orientado para os testes", a descrição "escrever como o problema deve se comportar" é vaga e não captura a essência de escrever testes concretos que falham antes da implementação.
(C) Incorreta: Esta é a armadilha. Embora TDD envolva escrever testes automatizados durante o desenvolvimento, a palavra "durante" é imprecisa. O TDD exige uma ordem específica: o teste é escrito antes do código de produção, ele deve falhar, e só então o código é escrito para fazê-lo passar. Não é apenas "em algum momento" durante o desenvolvimento.
(D) Correta: Esta alternativa descreve perfeitamente o ciclo "Red-Green-Refactor" do TDD: 1) Red (Vermelho): Criação de um teste que falha (para auxiliar a codificação). 2) Green (Verde): Escrita do código mínimo necessário para fazer o teste passar. 3) Refactor (Refatorar): Melhoria do código, eliminando redundâncias e otimizando, sem alterar o comportamento ou quebrar os testes.
(E) Incorreta: Descreve uma abordagem geral de desenvolvimento e a estrutura de testes automatizados, mas não o ciclo específico e a filosofia do TDD, que foca na escrita de testes antes do código de produção.
Fonte: FGV ALESC 2024 Analista Legislativo III - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.