Test-Driven Development (TDD)
Gabarito: letra C. O princípio fundamental do TDD é escrever e executar testes automatizados antes de escrever o código de produção, garantindo que o código atenda aos requisitos. Essa prática inverte a ordem tradicional (test-last) e é a base do ciclo red-green-refactor.
Alternativa A — ❌ Incorreta
Afirma que o código de produção deve ser escrito antes dos testes. Isso é o oposto do TDD, que exige que os testes sejam criados primeiro. A descrição corresponde ao desenvolvimento tradicional (test-last), não ao TDD.
Alternativa B — ❌ Incorreta
Desenvolver testes abrangentes apenas após a conclusão do código é exatamente o que o TDD busca evitar. No TDD, os testes são escritos antes e durante o desenvolvimento, não depois.
Alternativa C — ✅ Correta ⟵ GABARITO
Descreve precisamente o núcleo do TDD: criar e executar testes automatizados antes de escrever o código de produção. Isso assegura que o código seja escrito para atender aos testes (requisitos) e não o contrário. O contexto de apoio reforça: "TDD implica escrever o código de teste antes do código de produção".
Alternativa D — ❌ Incorreta
Escrever código de produção e testes simultaneamente sem um processo definido não é TDD. O TDD segue um ciclo disciplinado: escrever teste (que falha), escrever código mínimo para passar, refatorar.
Alternativa E — ❌ Incorreta
O TDD utiliza testes automatizados, não manuais. A automação é essencial para permitir execução rápida e frequente dos testes.
Gabarito: letra C.