TDD - Test Driven Development
-
Upload
waldyr-felix -
Category
Technology
-
view
2.113 -
download
10
description
Transcript of TDD - Test Driven Development
Test Driven Development
Cenário atual
O que é TDD...
Por que usar TDD...
Custo benefício
TDD na prática
Códigos ruins• Bugs• Difícil manutenção• Produtividade baixa• Desmotivação
Ciclo da morte
Impacto das mudanças e correções
Códigos ruins? #1
Códigos ruins? #2
Códigos ruins? #3
Solução: TDD
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.”
WTF?!
Programar os testes primeiro +Refatorar
Assegura a Qualidade do Código
“Clean code that works”
(Test Driven Development By Example, Kent Beck)
“Desenvolvedor que não testa é como um cirurgião que não lava as mãos”
(Robert C. Martin “Uncle Bob”)
“Sistema sem teste dá medo!”
(Giovanni Bassi)
“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!”
“Testar é caro, não testar é mais caro ainda!”
(Giovanni Bassi)
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 ”
“Testes unitários são documentação executável”
(Giovanni Bassi)
“Direciona projeto a ser mais desacoplado, flexível, modular e extensível.”
O cliente
O desenvolvedor
Práticas e conceitos
Modularize os Testes
Baby Steps
Resistindo a tentação de sair fazendo
DRY
Princípio da responsabilidade única (SRP)
Participe de Coding Dojos
TDD é fácil
Literaturas
Links• http://www.codeplex.com/wikipage?ProjectName=xunit&title
=Comparisons• http://unplugged.giggio.net/• http://www.infoq.com/br/news/2009/03/TDD-Improves-Qual
ity• http://www.infoq.com/br/articles/levison-TDD-adoption-strat
egy• 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-appli
cability• http://www.superexpert.com/• http://blogs.southworks.net/dschenkelman/• http://www.heroisdati.com/
[...] E este sou eu!
• twitter: @waldyrfelix• msn: [email protected]• gtalk: [email protected]• skype: waldyrfelix• blog: waldyrfelix.net/blog
Perguntas?
Ao Dojo! Obrigado!