O que é TDD?

Beatriz Feliciano - Jul 20 '21 - - Dev Community

Alt Text
TDD significa Desenvolvimento Orientado por Testes (Test Driven Development), e trata-se de uma prática de desenvolvimento de software onde a codificação das funcionalidades começa a partir da escrita de testes unitários. Essa técnica foi criada por Kent Beck e é um dos pilares do XP (Extreme Programming).

O TDD consistem em um ciclo apelidado de Red, Green, Refactor. Que funciona da seguinte maneira:

  1. Escrevemos um teste para uma funcionalidade a qual queremos implementar. Ao executar esse teste ele deve falhar, pois ainda não temos a implementação e assim passamos pelo step red.

  2. Após o nosso teste falhar implementamos a funcionalidade e executamos o nosso teste novamente, porém dessa vez o teste passa com sucesso, com isso passamos pelo step green do TDD.

  3. Com os testes funcionando chegamos ao step refactor. Como o próprio nome já diz, nesse momento devemos refatorar nosso código procurando pontos a melhorar e aplicando boas práticas de programação.

Esse ciclo pode se repetir quantas vezes o desenvolvedor julgar necessário e a cada nova implementação é interessante que todos os testes que já estão em funcionamento sejam executados, pois assim é possível validar que todos os testes continuam funcionando e que a nova implementação não impactou nas funcionalidades já desenvolvidas.

Os principais benefícios do TDD são:

  • Maior cobertura de testes unitários
  • Testes são executados com maior frequência
  • O código se torna mais limpo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .