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:
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
Dennis muito boa a dica….parabéns…achei pbem interessante … fico no aguado de outras !
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!!
Muito Bom! Fiz um tweet desse post pelo twitter da minha empresa. @startit
Abração!
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.
Bem legal, parabéns pela iniciativa…
Denis,
Muito bacana a iniciativa, screencasts, para mim, são a melhor maneira de aprender coisas novas.
Valeu.
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
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.
Mais uma vez de parabéns man!
Ajudou e ajudará muito este v’ídeo.
Abração!
Cara parabéns!! assisti o screencast e foi bem legal bem explicativo!! continue assim abração!!!!!!!!!
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!
Muitooooo Bom!
[...] 1 – Vídeo TDD para iniciantes: http://www.heroisdati.com/tdd-para-iniciantes-para-quem-quer-comecar-e-nao-sabe-como/ [...]
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.
Ótima iniciativa, parabéns!
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?!
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!
Ótima iniciativa. Parabéns.
[...] 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 [...]
Parabéns pelo excelente artigo!
Muito bem explicado!
Continue escrevendo cada vez mais sobre esse temas muito úteis!
Abraço!
Somou e muito !
Show de bola.
Muito Bom,
o video traz uma visão melhor de uma TDD.
Parabéns
[...] 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 [...]
Ótimo trabalho, parabéns.
bem gravado e bem escrito.
parabéns novamente!
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!
[...] 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 [...]