tdd - desenvolvimento dirigido a testes
DESCRIPTION
Este Slide explica o que é e como usar TDD em um processo de desenvolvimento de software.TRANSCRIPT
Test DrivenDevelopment
Códigos ruins
• Bugs
• Difícil manutenção
• Produtividade baixa
O que NÃO é TDD?
• TDD != Teste Unitário
• Não é um método para TESTAR software
• Não é limitado
• Não é teste de caixa preta, caixa branca, caixa cinza ou regressão.
TDD = Test Driven Development
(Desenvolvimento Orientado a testes)
“Técnica de desenvolvimento cujo processo é formado por pequenas iterações. Onde os testes são codificados primeiro.”
Programar os testes primeiro+
Refatorar
Assegura a Qualidade do Código
“Sistema sem teste dá medo!”
“Código sem teste, é código legado”
(Working Effectively with Legacy Code, Michael Feathers)
Por que não usar?
“Estou sem tempo para testar!”
“Escrever testes demora muito!”
“Esse não é meu trabalho”
“Se compilou é porque está funcionando, eXtreme Go Horse!”
Benefícios do TDD
“Garante a existência de testes unitários completos e atualizados”
“Diminui a quantidade de erros por linha de código ”
“Direciona projeto a ser mais desacoplado, flexível, modular e
extensível.”
O cliente
O desenvolvedor
Práticas e conceitos
Modularize os Testes
Links
• http://www.codeplex.com/wikipage?ProjectName=xunit&title=Comparisons
• http://unplugged.giggio.net/
• http://www.infoq.com/br/news/2009/03/TDD-Improves-Quality
• http://www.infoq.com/br/articles/levison-TDD-adoption-strategy
• http://danieltamiosso.com/2009/05/06/o-impacto-de-tdd-no-design/
• http://www.diogomafra.com.br/2009/09/introducao-ao-tdd_24.html
• http://www.infoq.com/br/news/2009/11/uncle-bob-tdd-applicability
• http://www.superexpert.com/
• http://blogs.southworks.net/dschenkelman/
• http://www.heroisdati.com/