Questão de Engenharia de Software — Teste de Software — Quadrix 2025
- Código
- qg599994
- Banca
- Quadrix
- Órgão
- CRO-SP
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Desenvolvimento de Sistemas de Informação
- CCerto
- EErrado
GabaritoC — Certo
✅ CERTO. O TDD (Test-Driven Development) contribui, sim, para a melhoria do design do código, pois o ciclo de escrever o teste antes do código de produção estimula a criação de unidades menores, coesas e com responsabilidade única, o que facilita a manutenção. Essa é uma consequência direta da prática de refatoração contínua e da necessidade de testabilidade, amplamente reconhecida na literatura de engenharia de software.
O TDD é uma técnica de desenvolvimento de software que inverte a ordem tradicional: primeiro escreve-se o teste automatizado que define o comportamento desejado, depois produz-se o código mínimo para fazê-lo passar e, por fim, refatora-se o código para melhorar sua estrutura sem alterar seu comportamento. Esse ciclo, conhecido como Red-Green-Refactor, é o coração da técnica. Ao escrever o teste primeiro, o desenvolvedor é forçado a pensar na interface da unidade antes de implementá-la, o que naturalmente leva a um design mais limpo e a unidades menores e mais focadas.
A relação entre TDD e design de código é um dos pontos mais celebrados da técnica. Kent Beck, criador do TDD, declarou que a prática encoraja designs de código simples e inspira confiança. A simplicidade vem do fato de que, para testar uma unidade isoladamente, ela precisa ser coesa e ter uma responsabilidade única — caso contrário, o teste se torna difícil de escrever e de manter. Essa pressão por testabilidade é o que impulsiona a melhoria do design.
Na prática, imagine que você precisa implementar uma funcionalidade de cálculo de imposto. No TDD, você primeiro escreve um teste que verifica o cálculo para um determinado valor. Para que esse teste seja simples e direto, você provavelmente criará uma classe ou função específica para o cálculo, em vez de embutir a lógica em um método gigante. Isso resulta em um código mais modular, mais fácil de entender e de modificar — exatamente o que a afirmação descreve.
A distinção importante aqui é entre TDD e simplesmente escrever testes. Escrever testes depois do código pode até melhorar a confiabilidade, mas não tem o mesmo efeito sobre o design. É a ordem — teste antes do código — que cria o feedback que molda a estrutura do software. A banca explora exatamente essa característica: o TDD não é apenas uma técnica de verificação, mas também uma ferramenta de design.
A pegadinha que a banca poderia explorar é confundir TDD com uma simples prática de teste, sem reconhecer seu impacto no design. No entanto, a afirmação está alinhada com o entendimento consolidado da técnica, e é exatamente por isso que está correta.
Guarde este critério: o TDD melhora o design porque a testabilidade exige unidades pequenas, coesas e com responsabilidade única — é essa a lógica que sustenta a afirmação.
A afirmação está correta. O TDD, ao exigir que o teste seja escrito antes do código, força o desenvolvedor a pensar na interface e no comportamento da unidade de forma isolada. Isso estimula a criação de unidades menores, coesas e com responsabilidade única, pois uma unidade difícil de testar geralmente é uma unidade mal projetada. A refatoração contínua, parte integrante do ciclo, também contribui para a melhoria do design, pois permite ajustar a estrutura do código sem alterar seu comportamento. O resultado é um código mais fácil de manter, exatamente como afirma o enunciado.
Gabarito: ✅ CERTO
Link permanente: /questoes/qg599994