82
@snit_ram TDD - TEST DRIVEN DEVELOPMENT sábado, 22 de outubro de 11

TDD - Test Driven Development

Embed Size (px)

DESCRIPTION

Slides da minha palestra sobre TDD, ministrado no IIES, em Itapetininga, SP

Citation preview

Page 1: TDD - Test Driven Development

@snit_ram

TDD - TEST DRIVEN

DEVELOPMENT

sábado, 22 de outubro de 11

Page 2: TDD - Test Driven Development

ALGORITMOSMOLDAM O MUNDO

baseado em“How algorithms change shape our world”

de Kevin Slavin

sábado, 22 de outubro de 11

Page 3: TDD - Test Driven Development

http://www.michaelnajjar.com/

sábado, 22 de outubro de 11

Page 4: TDD - Test Driven Development

http://www.produtopia.com.br/wp-content/uploads/2010/02/stealth.jpg

sábado, 22 de outubro de 11

Page 5: TDD - Test Driven Development

http://www.geog.ucsb.edu/img/news/2009/bird%20flock%20wiki.jpg

sábado, 22 de outubro de 11

Page 6: TDD - Test Driven Development

http://reddogreport.com/wp-content/uploads/2011/04/Wall-Street-Sign-Flag.jpg

sábado, 22 de outubro de 11

Page 7: TDD - Test Driven Development

DO MERCADO DE AÇÕES AMERICANO

%

sábado, 22 de outubro de 11

Page 8: TDD - Test Driven Development

DO MERCADO DE AÇÕES AMERICANO

70%

sábado, 22 de outubro de 11

Page 9: TDD - Test Driven Development

http://reddogreport.com/wp-content/uploads/2011/04/Wall-Street-Sign-Flag.jpg

sábado, 22 de outubro de 11

Page 10: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 11: TDD - Test Driven Development

$1,730,045.91

sábado, 22 de outubro de 11

Page 12: TDD - Test Driven Development

$23,698,655.93

sábado, 22 de outubro de 11

Page 13: TDD - Test Driven Development

DAS LOCAÇÕES

%

sábado, 22 de outubro de 11

Page 14: TDD - Test Driven Development

DAS LOCAÇÕES

60%

sábado, 22 de outubro de 11

Page 15: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 16: TDD - Test Driven Development

1.327 km13,3 milissegundos

sábado, 22 de outubro de 11

Page 17: TDD - Test Driven Development

http://www.michaelnajjar.com/

sábado, 22 de outubro de 11

Page 18: TDD - Test Driven Development

NÓS ESCREVEMOS ALGORITMOS

sábado, 22 de outubro de 11

Page 19: TDD - Test Driven Development

24 milhões visitantes142 milhões page views

ESTADAO.COM.BRago/2011

149 milhões visitantes3.9 bilhões page views

YAHOO.COMago/2011 - US only

sábado, 22 de outubro de 11

Page 20: TDD - Test Driven Development

REVENDO O WATERFALL

http://www.flickr.com/photos/chiaralily/4416226801/sizes/z/in/photostream/

sábado, 22 de outubro de 11

Page 21: TDD - Test Driven Development

Requisitos

Análise

Design

Código

Testes

Manutenção

REVENDO O WATERFALL

sábado, 22 de outubro de 11

Page 22: TDD - Test Driven Development

TEORIA DAS FILAS

http://www.flickr.com/photos/57665680@N06/5649865356/sizes/l/in/photostream/

sábado, 22 de outubro de 11

Page 23: TDD - Test Driven Development

TEORIA DAS FILAS

Dado um processo B, que sucede um processo A, as vezes, ao executar B,

precisamos refazer parte de A. Podemos evitar este retrabalho extraindo parte de B e executando-o antes do processo A

”sábado, 22 de outubro de 11

Page 24: TDD - Test Driven Development

TEORIA DAS FILAS

A B

sábado, 22 de outubro de 11

Page 25: TDD - Test Driven Development

TEORIA DAS FILAS

A B20%

sábado, 22 de outubro de 11

Page 26: TDD - Test Driven Development

TEORIA DAS FILAS

B A

Cicloscurtos

sábado, 22 de outubro de 11

Page 27: TDD - Test Driven Development

Código Teste

sábado, 22 de outubro de 11

Page 28: TDD - Test Driven Development

Código

Bugs

Teste

sábado, 22 de outubro de 11

Page 29: TDD - Test Driven Development

Teste Código

Cicloscurtos

sábado, 22 de outubro de 11

Page 30: TDD - Test Driven Development

Teste

CódigoDesign

sábado, 22 de outubro de 11

Page 31: TDD - Test Driven Development

Teste

CódigoDesign

“Não testável”

sábado, 22 de outubro de 11

Page 32: TDD - Test Driven Development

Teste Código

Design

CiclosCurtos

sábado, 22 de outubro de 11

Page 33: TDD - Test Driven Development

Teste Código

Design

CiclosCurtos

= TDD

sábado, 22 de outubro de 11

Page 34: TDD - Test Driven Development

COMO FUNCIONA

sábado, 22 de outubro de 11

Page 35: TDD - Test Driven Development

GREENREFACTOR

RED

sábado, 22 de outubro de 11

Page 36: TDD - Test Driven Development

GREENREFACTOR

RED

Escrever um pequeno teste

falhando

sábado, 22 de outubro de 11

Page 37: TDD - Test Driven Development

GREENREFACTOR

REDEscrever o

código para o teste passar

sábado, 22 de outubro de 11

Page 38: TDD - Test Driven Development

GREENREFACTOR

RED

Remover duplicações

sábado, 22 de outubro de 11

Page 39: TDD - Test Driven Development

GREENREFACTOR

RED

sábado, 22 de outubro de 11

Page 40: TDD - Test Driven Development

NA PRÁTICA

Usando Java + JUnit

sábado, 22 de outubro de 11

Page 41: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 42: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 43: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 44: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 45: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 46: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 47: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 48: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 49: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 50: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 51: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 52: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 53: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 54: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 55: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 56: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 57: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 58: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 59: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 60: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 61: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 62: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 63: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 64: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 65: TDD - Test Driven Development

...

sábado, 22 de outubro de 11

Page 66: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 67: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 68: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 69: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 70: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 71: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 72: TDD - Test Driven Development

VANTAGENS

sábado, 22 de outubro de 11

Page 73: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 74: TDD - Test Driven Development

Reduz bugs e retrabalho

sábado, 22 de outubro de 11

Page 75: TDD - Test Driven Development

Reduz bugs e retrabalho

Testes automatizados

sábado, 22 de outubro de 11

Page 76: TDD - Test Driven Development

Reduz bugs e retrabalho

Simplifica a solução

Testes automatizados

sábado, 22 de outubro de 11

Page 77: TDD - Test Driven Development

sábado, 22 de outubro de 11

Page 78: TDD - Test Driven Development

+ Manutenabilidade

sábado, 22 de outubro de 11

Page 79: TDD - Test Driven Development

+ Manutenabilidade

Segurança pra refatorar /alterar

sábado, 22 de outubro de 11

Page 80: TDD - Test Driven Development

+ Manutenabilidade

Segurança pra refatorar /alterar

...

sábado, 22 de outubro de 11

Page 81: TDD - Test Driven Development

PERGUNTAS?

http://3.bp.blogspot.com/_jsodkvOsdoI/S6-cn1eGTTI/AAAAAAAAANc/084nJmU4SYE/s1600/Classroom+Discussion+Questions.jpg

sábado, 22 de outubro de 11