tdd para java ee
DESCRIPTION
TRANSCRIPT
![Page 2: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/2.jpg)
By Vince Huang - http://www.flickr.com/photos/s_y_s/2305290082/
Servlets
JSP
EJBWeb Services
Struts
Velocity
Java Server FacesVRaptor
SpringWebWorkJBoss Seam
Hibernate
![Page 3: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/3.jpg)
Você já fez TDD?
![Page 4: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/4.jpg)
Passou Falhou
Teste cedo, sempre e
automaticamente.
![Page 5: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/5.jpg)
![Page 6: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/6.jpg)
“Encontrar e corrigir um defeito em um software depois de entregue é 100 vezes mais caro do que encontrá-lo e corrigi-lo durante as requisições ou na fase de design.”
Shull, Basili, Boehm e outros (2002)
![Page 7: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/7.jpg)
Atenção! TDD não é só testes.
TDD é, especialmente, sobre design.
![Page 8: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/8.jpg)
TDD requer de técnica.
![Page 9: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/9.jpg)
![Page 10: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/10.jpg)
O container acrescenta complexidade ao ciclo de testes.
![Page 11: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/11.jpg)
![Page 12: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/12.jpg)
Construa em pequenas partes
Teste em pequenas partes
![Page 13: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/13.jpg)
Como começar?
![Page 14: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/14.jpg)
Escreva um teste que falha.
Reduza o problema.
![Page 15: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/15.jpg)
Qual a forma mais simples de fazer o
teste passar.
![Page 16: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/16.jpg)
Pronto! Terminado.
Passou nos testes?
![Page 17: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/17.jpg)
Que pequenaevolução eu
posso acrescentar?
![Page 18: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/18.jpg)
Escreva um teste que falha.
Talvez agora seja preciso refatorar.
![Page 19: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/19.jpg)
Olhando a interface
Conhecendo o código
Código refatorado
![Page 20: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/20.jpg)
Tenha disciplina.
![Page 21: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/21.jpg)
Não escreva código se não for para fazer algum teste passar.
Não escreva mais testes do que o suficiente para falhar.
Escreva só o código necessário para fazer os testes passarem.
123
REGR
AS
![Page 22: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/22.jpg)
![Page 23: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/23.jpg)
![Page 24: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/24.jpg)
![Page 25: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/25.jpg)
![Page 26: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/26.jpg)
![Page 27: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/27.jpg)
![Page 28: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/28.jpg)
![Page 29: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/29.jpg)
![Page 30: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/30.jpg)
![Page 31: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/31.jpg)
![Page 32: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/32.jpg)
![Page 33: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/33.jpg)
![Page 34: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/34.jpg)
By Sherlock77 (James) http://www.flickr.com/photos/sherlock77/84666910/
![Page 35: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/35.jpg)
HtmlUnitJSFUnit
StrutsTestCaseTestNG
HttpUnitSelenium
DBUnit
EasyMock
Cactus
MockEJB
JUnit Fit
SpringUnitsoapUI
![Page 36: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/36.jpg)
![Page 37: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/37.jpg)
Mate um problema por vez.
![Page 38: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/38.jpg)
![Page 39: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/39.jpg)
![Page 40: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/40.jpg)
![Page 41: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/41.jpg)
Teste o todo: Testes Funcionais
![Page 42: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/42.jpg)
Teste cada elemento: Testes Unitários
![Page 43: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/43.jpg)
Teste cada encaixe: Testes de Integração
![Page 44: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/44.jpg)
By Martin LaBar - http://www.flickr.com/photos/martinlabar/351571176/
Os bugs se tornarão evidentes.
![Page 45: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/45.jpg)
Partes testadas independentemente.
Evidências de qualidade.
Design na medida certa.
Todas as funcionalidades requeridas.
Somente as funcionalidades requeridas.
![Page 46: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/46.jpg)
Produza soluções entregáveis.
![Page 47: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/47.jpg)
Teoria das Janelas Quebradas
![Page 48: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/48.jpg)
![Page 49: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/49.jpg)
Leitura Recomendada
![Page 50: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/50.jpg)
Ação Recomendada
Comece.
![Page 51: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/51.jpg)
Obrigado!
![Page 52: TDD para Java EE](https://reader034.vdocuments.us/reader034/viewer/2022051610/548c4894b47959f60c8b621f/html5/thumbnails/52.jpg)
dbassi@ .com
Dairton Bassi
: dbassi
www.neurobox.com.br