Além do .NET

quinta-feira, junho 25, 2009

Sobre TDD

Sempre que eu escuto falar de uma técnica, metodologia ou tecnologia, eu procuro ler muitas coisas sobre ela tentando me convencer de que eu preciso adotá-la, antes de aprendê-la de fato.

TDD é algo que ainda não faz parte totalmente da minha rotina diária quando estou no papel de desenvolvedor, mas já vi artigos e vídeos suficientes das pessoas mais renomadas no mundo do Software (algumas nem tão renomadas assim) e todas são unânimes... TDD é vital para qualquer projeto sério de software.

Algumas frases marcantes nessa minha jornada foram:

Só os Imaturos não testam.”
Desenvolvedores profissionais Escrevem testes, ponto final.”
“Um Desenvolvedor codificar sem criar Testes Unitários é o mesmo que um médico fazer uma cirurgia sem lavar as mãos.”

Quando eu falo em TDD não estou me referindo tão drasticamente à Técnica de escrever o teste antes de codificar, refiro-me mais da necessidade de ter uma cobertura de testes unitários efetiva no seu projeto. Apesar de que já estou me convencendo que com TDD codificar fica tudo mais fácil, depois que aprendemos bem a técnica...

É importante elucidar que, como quase tudo em Desenvolvimento de Software, devemos usar com inteligência os nossos testes, e não criar testes apenas por criar. Os testes são importantes, mas nem sempre precisamos de 100% de cobertura de testes no nosso projeto, enfim, como tudo, usar com Parcimônia.

Teve um post que eu achei bem bacana, e decidi que com a leitura dele finalizaria a minha “jornada motivacional” sobre Testes e TDD. Agora é arregaçar as mangas e escrever os testes necessários para criar código cada vez mais elegante, sustentável e de qualidade.

Então, aprenda você também a Como tornar-se inútil com TDD.

2 Comments:

  • Fala Luiz,

    Em um primeiro momento achei que a idéia do post seria criticar a exaltação do TDD, mas percebi que não.

    Eu já estudei bastante a idéia, mas não me sinto confortável na hora de colocar em prática (testar antes).

    O que o pessoal costuma enaltecer é a questão do design, mas eu já considero o meu skill de modelagem muito bom, e na hora de pensar no teste antes o design não sai com tanta fluência. Então prefiro fazer os testes depois.

    Mas encaro os testes como um aspecto fundamental, sem eles fica muito difícil um software evoluir de maneira saudável. Além disso, embora possa ser visto como uma posição radical, vejo na inexistência de testes um certo grau de amadorismo.

    Abraços

    By Anonymous Rafael Noronha, at 7:17 PM  

  • Fala Rafael,
    Pois é, escrever testes antes não é tão simples de ser feito, mas acredito que com o tempo torna-se um hábito saudável. Penso que uma boa sessão de pair programming pode render mais quando os pares pensam nos testes juntos...
    Enfim, sendo antes ou depois o importante é escrever testes, certo?!
    Abraços!

    By Blogger Luiz Henrique C. Corrêa, at 5:16 AM  

Postar um comentário

<< Home