TDD - Test Driven Development
-
Upload
waldyr-felix -
Category
Technology
-
view
2.117 -
download
10
description
Transcript of TDD - Test Driven Development
![Page 1: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/1.jpg)
Test Driven Development
![Page 2: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/2.jpg)
Cenário atual
O que é TDD...
Por que usar TDD...
Custo benefício
TDD na prática
![Page 3: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/3.jpg)
Códigos ruins• Bugs• Difícil manutenção• Produtividade baixa• Desmotivação
![Page 4: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/4.jpg)
Ciclo da morte
![Page 5: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/5.jpg)
Impacto das mudanças e correções
![Page 6: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/6.jpg)
Códigos ruins? #1
![Page 7: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/7.jpg)
Códigos ruins? #2
![Page 8: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/8.jpg)
Códigos ruins? #3
![Page 9: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/9.jpg)
Solução: TDD
![Page 10: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/10.jpg)
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.
![Page 11: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/11.jpg)
TDD = Test Driven Development
(Desenvolvimento Orientado a testes)
![Page 12: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/12.jpg)
“Técnica de desenvolvimento cujo processo é formado por pequenas iterações. Onde os testes são codificados primeiro.”
![Page 13: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/13.jpg)
WTF?!
![Page 14: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/14.jpg)
Programar os testes primeiro +Refatorar
![Page 15: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/15.jpg)
![Page 16: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/16.jpg)
![Page 17: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/17.jpg)
Assegura a Qualidade do Código
![Page 18: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/18.jpg)
“Clean code that works”
(Test Driven Development By Example, Kent Beck)
![Page 19: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/19.jpg)
“Desenvolvedor que não testa é como um cirurgião que não lava as mãos”
(Robert C. Martin “Uncle Bob”)
![Page 20: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/20.jpg)
“Sistema sem teste dá medo!”
(Giovanni Bassi)
![Page 21: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/21.jpg)
“Código sem teste, é código legado”
(Working Effectively with Legacy Code, Michael Feathers)
![Page 22: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/22.jpg)
Por que não usar?
![Page 23: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/23.jpg)
“Estou sem tempo para testar!”
![Page 24: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/24.jpg)
“Escrever testes demora muito!”
![Page 25: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/25.jpg)
“Esse não é meu trabalho”
![Page 26: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/26.jpg)
“Se compilou é porque está funcionando!”
![Page 27: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/27.jpg)
“Testar é caro, não testar é mais caro ainda!”
(Giovanni Bassi)
![Page 28: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/28.jpg)
Benefícios do TDD
![Page 29: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/29.jpg)
“Garante a existência de testes unitários completos e atualizados”
![Page 30: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/30.jpg)
“Diminui a quantidade de erros por linha de código ”
![Page 31: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/31.jpg)
“Testes unitários são documentação executável”
(Giovanni Bassi)
![Page 32: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/32.jpg)
“Direciona projeto a ser mais desacoplado, flexível, modular e extensível.”
![Page 33: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/33.jpg)
O cliente
![Page 34: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/34.jpg)
O desenvolvedor
![Page 35: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/35.jpg)
Práticas e conceitos
![Page 36: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/36.jpg)
![Page 37: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/37.jpg)
Modularize os Testes
![Page 38: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/38.jpg)
![Page 39: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/39.jpg)
Baby Steps
![Page 40: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/40.jpg)
Resistindo a tentação de sair fazendo
![Page 41: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/41.jpg)
![Page 42: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/42.jpg)
DRY
![Page 43: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/43.jpg)
Princípio da responsabilidade única (SRP)
![Page 44: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/44.jpg)
Participe de Coding Dojos
![Page 45: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/45.jpg)
TDD é fácil
![Page 46: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/46.jpg)
Literaturas
![Page 47: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/47.jpg)
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/
![Page 48: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/48.jpg)
[...] E este sou eu!
• twitter: @waldyrfelix• msn: [email protected]• gtalk: [email protected]• skype: waldyrfelix• blog: waldyrfelix.net/blog
![Page 49: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/49.jpg)
Perguntas?
![Page 50: TDD - Test Driven Development](https://reader036.fdocumentos.tips/reader036/viewer/2022062300/5549fbeeb4c9055b7a8b4af7/html5/thumbnails/50.jpg)
Ao Dojo! Obrigado!