Test-driven development (TDD) ajuda a projetar software de forma correta desde o início, escrevendo testes antes do código. Isso faz com que os desenvolvedores pensem no comportamento desejado e reduz código especulativo. Embora escrever testes após o código também ajude a qualidade, TDD é diferente e mais efetivo.