TDD para Java EE

52
Test-Driven Development para Java EE Dairton Bassi [email protected] www.neurobox.com.br

description

 

Transcript of TDD para Java EE

Page 1: TDD para Java EE

Test-Driven Development para Java EE

Dairton Bassi [email protected]

www.neurobox.com.br

Page 2: TDD para Java EE

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

Você já fez TDD?

Page 4: TDD para Java EE

Passou Falhou

Teste cedo, sempre e

automaticamente.

Page 5: TDD para Java EE
Page 6: TDD para Java EE

“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

Atenção! TDD não é só testes.

TDD é, especialmente, sobre design.

Page 8: TDD para Java EE

TDD requer de técnica.

Page 9: TDD para Java EE
Page 10: TDD para Java EE

O container acrescenta complexidade ao ciclo de testes.

Page 11: TDD para Java EE
Page 12: TDD para Java EE

Construa em pequenas partes

Teste em pequenas partes

Page 13: TDD para Java EE

Como começar?

Page 14: TDD para Java EE

Escreva um teste que falha.

Reduza o problema.

Page 15: TDD para Java EE

Qual a forma mais simples de fazer o

teste passar.

Page 16: TDD para Java EE

Pronto! Terminado.

Passou nos testes?

Page 17: TDD para Java EE

Que pequenaevolução eu

posso acrescentar?

Page 18: TDD para Java EE

Escreva um teste que falha.

Talvez agora seja preciso refatorar.

Page 19: TDD para Java EE

Olhando a interface

Conhecendo o código

Código refatorado

Page 20: TDD para Java EE

Tenha disciplina.

Page 21: TDD para Java EE

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
Page 23: TDD para Java EE
Page 24: TDD para Java EE
Page 25: TDD para Java EE
Page 26: TDD para Java EE
Page 27: TDD para Java EE
Page 28: TDD para Java EE
Page 29: TDD para Java EE
Page 30: TDD para Java EE
Page 31: TDD para Java EE
Page 32: TDD para Java EE
Page 33: TDD para Java EE
Page 34: TDD para Java EE

By Sherlock77 (James) http://www.flickr.com/photos/sherlock77/84666910/

Page 35: TDD para Java EE

HtmlUnitJSFUnit

StrutsTestCaseTestNG

HttpUnitSelenium

DBUnit

EasyMock

Cactus

MockEJB

JUnit Fit

SpringUnitsoapUI

Page 36: TDD para Java EE
Page 37: TDD para Java EE

Mate um problema por vez.

Page 38: TDD para Java EE
Page 39: TDD para Java EE
Page 40: TDD para Java EE
Page 41: TDD para Java EE

Teste o todo: Testes Funcionais

Page 42: TDD para Java EE

Teste cada elemento: Testes Unitários

Page 43: TDD para Java EE

Teste cada encaixe: Testes de Integração

Page 44: TDD para Java EE

By Martin LaBar - http://www.flickr.com/photos/martinlabar/351571176/

Os bugs se tornarão evidentes.

Page 45: TDD para Java EE

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

Produza soluções entregáveis.

Page 47: TDD para Java EE

Teoria das Janelas Quebradas

Page 48: TDD para Java EE
Page 49: TDD para Java EE

Leitura Recomendada

Page 50: TDD para Java EE

Ação Recomendada

Comece.

Page 51: TDD para Java EE

Obrigado!