Escolar Documentos
Profissional Documentos
Cultura Documentos
O que TDD?
Menos anlise UML, mais software funcional Menos documentos, mais especificaes e testes automatizados
Desenvolvimento Sustentvel
Como funciona?
Fluxo do TDD
Incio Refatore Todos os testes passando Novo Teste Resolva um Teste Fim. No consegue imaginar mais testes?
Refatore
Especificao
O que o software tem que fazer? Quais so os contextos conhecidos? Como reproduzir um erro? O software tem o comportamento esperado? Quais so as consequncias desta mudana?
Validao
Automatizao
Em resumo
Forma de explorar o problema Especificao automatizada Validao automatizada Aprendizado a cada teste executado Segurana para dar o prximo passo Favorece a simplicidade
Classes de negcio
De preferncia que manipulem somente tipos bsicos da linguagem De preferncia que agreguem valor para o sistema Resultados esperados para contextos conhecidos Excees, entradas nulas e vazias, limites, referncia entre objetos, ordenao de resultados etc
Perguntas Frequentes
possvel desenvolver tudo com TDD? TDD substitui documentao UML? Como eu testo <insira qualquer coisa aqui>?
Referncias
Livros
Test-Driven Development by Example, Kent Beck Pragmatic Unit Testing, Andrew Hunt & David Thomas jUnit in Action, Vincent Massol
XProgramming: http://www.xprogramming.com BDD: http://behaviour-driven.org Coding Dojo Floripa: http://dojofloripa.wordpress.com
Sites
Exerccio
Programa para informar quanto tempo se passou desde uma determinada data: