TDD vantagens

  • Rafael Miceli
  • 27 Nov 2014

Vou explicar um pouco melhor o TDD e como ele mudou minha experiência de programação.

TDD não é simples de se aprender. Requer muito treino e disciplina, e mesmo após isso, usar na suas aplicações de produção não é simples.

Neste artigo eu quero tentar mostrar por que vale a pena o TDD.

###TDD

TDD é uma ferramenta de design do código, mas que vem junto cobertura do seu código com teste unitários, plus, criação de um design de código melhor.

###Vantagens

Com TDD nós ganhamos:

  • Cobertura do código com testes
  • Prevenção a introdução de bugs
  • Assegura que a lógica funcione como esperado
  • Facilita manutenção
  • Refatoração pode ser feito com confiança
  • Clean Code

###Explicando Melhor

Com TDD você está criando o design e desenvolvendo o seu código em conjunção com seus testes para conseguir um código mais modular. Assim dando suporte a melhor cobertura de testes automatizados e mais facilidade para refatoração.

TDD também serve para responder a pergunta: Meu código está fazendo o que foi pedido?

Como você responde isto? Bem, você vai ter de rodar sua aplicação e verificar o comportamento da mesma, ou ler seu código. Se o código for de certa forma “complexo” testes unitários bem feitos ajudam por serem mais simples de se ler!

Mas mesmo assim, e se eu fiz algo errado e após isso, crio um teste testando o errado? Acredite já vi isso acontecer bastante.

TDD funciona como um validador de que você está fazendo a coisa certa. Por criar um simples teste que falha primeiro, você está confirmando que aquele comportamento que você espera não está funcionando. E isso é ruim né? Não! Neste momento é bom. Pois assim você valida que está fazendo o comportamento certo! Após isso, você cria o mínimo para seu teste passar!

Quais a vantagens ai? Uma: Você confirmou que aquele comportamento esperado que estava falhando agora funciona! Segundo: Você criou um design de aplicação que suporta testes automtizados! Terceiro: Você já cobriu essa sua área da aplicação e preveniu ela contra bugs que possam ser inseridos!

Lembre-se que TDD não impede você de ter bugs ou problemas. Mas diminui efetivamente o número dos mesmos!

comentarios com Disqus Disqus