"Seja como a água que abre caminho através das pedras: não se oponha ao obstáculo; contorne-o!" - Bruce Lee

Olá Pessoal! Para auxiliar quem está começando ou quer começar a utilizar o TDD, estou disponibilizando um vídeo com uma demostração da ténica. O objetivo do vídeo é apresentar a utilização do TDD e fornecer algumas dicas sobre como se sair bem na utilização da técnica. Espero que gostem do vídeo:

Dicas gerais sobre TDD

Sempre inicie com uma lista de testes : No TDD, não saímos codificando. Antes de iniciar a construção de qualquer coisa, elabore uma lista de testes inicial. Caso seja necessário, você poderá incluir mais itens na sua lista de testes mesmo depois de já ter iniciado a codificação;

Sempre inicie pelo teste mais simples : Após elaborar sua lista de testes, inicie a codificação pelo teste mais simples da sua lista. Desenvolvendo dessa forma, você não só ganha ritmo, mas também vai aprendendo de pouco a pouco sobre o problema que está resolvendo.

Comece a construção do seu código pela construção do seu teste : Desenvolvendo o teste primeiro (como preza o TDD) temos a oportunidade de tomar decisões de design das nossas classes antes mesmo de construí-las. Iniciar a construção do código pelo teste possibilita que você veja o seu código pela perspectiva de quem o utilizará, ou seja, você terá um feedback de utilização antes mesmo de codificar sua classe.

Comece o teste pela assertiva : Iniciar o teste pela assertiva é definir o objetivo do teste. Escrever a assertiva é definir onde você quer chegar no teste, qual objetivo quer alcançar, se isso não estiver bem definido não adianta escrever o teste.

Simule até construir realmente : Sempre que possível, construa implementações falsas. Deixe para construir as implementações reais só quando for realmente necessário.

Busque o verde o mais rápido possível : Quando o teste estiver vermelho, procure fazê-lo passar o mais rápido possível, mesmo que a implementação feita não seja a mais agradável de ver. Quando o teste estiver verde, substitua a implementação feita por uma implementação mais elegante, afinal, a fase de refatoração serve para isso. :)

Construa somente o necessário para o teste passar : Não construa nada além do que o seus testes pedirem. Se desejar realizar alguma codificação, escreve primeiro um teste e depois o código. TDD também exige muita disciplina.

Passos de bebê : Procure sempre dar passos pequenos durante a construção dos seus testes, evite assumir um teste muito difícil ou grande logo de cara, deixe sempre os testes mais complicados para o final.

Links

Faça download do projeto construído: ConversaoNumerosRomanos

Veja outros links sobre TDD no delicious: delicious.com/denisferrari/tdd

Abraços!

Posts relacionados:
Tagged with:
 

27 Responses to “TDD para iniciantes – Para quem quer começar e não sabe como”

  1. Edmilson disse:

    Denis, mas um post Excelente! keep going!!

    Esta questão do TDD uma das questões que mais pega para que esta iniciando são justamente estes conceitos

    Parabéns!

    []´s

    Edmilson

  2. Robson disse:

    Dennis muito boa a dica….parabéns…achei pbem interessante … fico no aguado de outras !

  3. Denis, parabéns, desde antes do email que te passei tenho procurado bastante sobre TDD, e foi um dos mais explicativos que obtive até agora.

    Realmente para quem está iniciando o TDD é bem complicado de se implementar, mas com boas dicas como esta fica cada vez mais fácil.

    Abraços e fico no aguardo de mais!!

  4. Ramon Silva disse:

    Muito Bom! Fiz um tweet desse post pelo twitter da minha empresa. @startit

    Abração!

  5. Julierme disse:

    Um belo ponta pé.

    Sempre procuro por material sobre TDD, e este post passa de maneira clara o mais importante no TDD que são os seus conceito.

    Parabéns pelo post. Muito bom o material.

  6. Chan disse:

    Bem legal, parabéns pela iniciativa…

  7. Antonio Jr disse:

    Denis,

    Muito bacana a iniciativa, screencasts, para mim, são a melhor maneira de aprender coisas novas.

    Valeu.

  8. Tiago Costa disse:

    Denis,

    Parabéns pelo post, muito bom ajuda a esclarecer sobre TDD. E confirma uma idéia que eu já desconfiava, o fato de implementar testes não significa que está fazendo TDD.

    []s

  9. Atila Raphael disse:

    Parabéns pelo post, muito esclarecedor.

    Quando eu ouvi falar a primeira vez sobre TDD, achava que era uma furada, mas agora percebo a importância deste tipo de implementação. Com certeza vou usar.

    Abraços.

  10. Mais uma vez de parabéns man!
    Ajudou e ajudará muito este v’ídeo.

    Abração!

  11. Cadu disse:

    Cara parabéns!! assisti o screencast e foi bem legal bem explicativo!! continue assim abração!!!!!!!!!

  12. Diogo Miranda disse:

    Cara,

    Ficou muito legal mesmo. Ainda estou engatinhando com TDD e tudo quanto apresentação é sempre bem vindo, mesmo que não esteja com boas práticas, que no caso não foi o objetivo do vídeo. No entanto, me ajudou muito a entender com maior clareza sobre TDD.

    Espero mais vídeos sobre o assunto. Dica: Os próximos gostaria de ver exemplos sobre testes em módulos de cadastros.

    Parabéns!

  13. Muito bom o video realmente me ajudou muito não tinha ideia do que era TDD e agora eu sei como começar parabens mesmo pelo video abraço e sucesso.

  14. Bruno Pedroso disse:

    Ótima iniciativa, parabéns! :-)

  15. Bruno Luz disse:

    Cara, parabéns. Valeu muito a pena.

    Estou começando e esse screencast foi de grande valor pra visualizar alguns conceitos que tanto se ouve falar: baby steps, comece pelo teste, etc…

    Só uma pergunta: Porque não usar if’s ternários no mundo real?!

    • Denis Ferrari disse:

      Oi Bruno,

      Em algumas situações operadores ternários não são tão legíveis, e acabam dificultando a leitura por parte dos programadores menos experientes.

      Valeu pelo feedback!

  16. Ótima iniciativa. Parabéns.

  17. [...] Post do Denis Ferrari sobre TDD para iniciantes foi muito bom para mim, que sempre escutei, mas vi pouca implementação de código. Nesse post ele [...]

  18. Anderson disse:

    Parabéns pelo excelente artigo!
    Muito bem explicado!

    Continue escrevendo cada vez mais sobre esse temas muito úteis!

    Abraço!

  19. Gustavo Melo disse:

    Somou e muito ! :)
    Show de bola.

  20. Renan Volkers disse:

    Muito Bom,
    o video traz uma visão melhor de uma TDD.

    Parabéns

  21. [...] projeto. Somente com um código garantido e testado, é que deveriamos pensar em otimizar. “Vermelho, Verde, Amarelo“, certo? Pensando nisso, pensei em tentar comparar os efeitos de design patterns, comuns em [...]

  22. Erick Fonseca disse:

    Ótimo trabalho, parabéns.
    bem gravado e bem escrito.
    parabéns novamente!

  23. Amanda disse:

    Muito boa a sua iniciativa Denis!
    Realmente hoje nós ouvimos falar muito sobre o conceito TDD, mas não encontramos tão facilmente exemplos práticos.
    Atualmente estou desenvolvendo um projeto meu mesmo e senti uma certa dificuldade em executar os passos pregados pelo TDD, devido à velha mania de querer escrever logo um código que “esteja preparado para tudo” e na verdade nós precisamos do essencial que funcione.
    Obrigada, vc me incentivou porque eu já usei testes unitários e conheço apenas o conceito de metodologias ágeis, mas mesmo assim confesso que tive dificuldade ao executar os “passos de bebê”.
    Parabéns, seu vídeo está muito bem explicado e claro.
    Vou fazer uns exemplos do link que vc passou.
    Valeu msm!

  24. [...] This post was mentioned on Twitter by Marcelo Tozzi, Denis Ferrari. Denis Ferrari said: O vídeo sobre #tdd continua recebendo bons feedbacks. Valeu galera! http://bit.ly/9ZMdzA #agile #xp [...]

Leave a Reply