TEST DRIVEN DEVELOPMENT -...

28
TEST DRIVEN DEVELOPMENT Fabricio de Sousa Nascimento 1 terça-feira, 17 de fevereiro de

Transcript of TEST DRIVEN DEVELOPMENT -...

Page 1: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TEST

DRIVEN

DEVELOPMENT

Fabricio de Sousa Nascimento

1terça-feira, 17 de fevereiro de

Page 2: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

2terça-feira, 17 de fevereiro de

Page 3: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

• Técnica, disciplina, modo de codificar

2terça-feira, 17 de fevereiro de

Page 4: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

• Técnica, disciplina, modo de codificar

• Testar antes de escrever código

2terça-feira, 17 de fevereiro de

Page 5: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

• Técnica, disciplina, modo de codificar

• Testar antes de escrever código

• Design mais do que apenas teste

2terça-feira, 17 de fevereiro de

Page 6: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

• Técnica, disciplina, modo de codificar

• Testar antes de escrever código

• Design mais do que apenas teste

• Dirige o Design

2terça-feira, 17 de fevereiro de

Page 7: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O QUE É TDD

• Técnica, disciplina, modo de codificar

• Testar antes de escrever código

• Design mais do que apenas teste

• Dirige o Design

• Feedback

2terça-feira, 17 de fevereiro de

Page 8: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

3terça-feira, 17 de fevereiro de

Page 9: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

• Isso Funciona?

• É isso que o cliente realmente quer?

• Isso está bem estruturado?

3terça-feira, 17 de fevereiro de

Page 10: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

• Isso Funciona?

• É isso que o cliente realmente quer?

• Isso está bem estruturado?

Rode os Testes

3terça-feira, 17 de fevereiro de

Page 11: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

• Isso Funciona?

• É isso que o cliente realmente quer?

• Isso está bem estruturado?

Rode os Testes

Rode os Testes

3terça-feira, 17 de fevereiro de

Page 12: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

• Isso Funciona?

• É isso que o cliente realmente quer?

• Isso está bem estruturado?

Rode os Testes

Use os tetes para dirigir a estrutura

Rode os Testes

3terça-feira, 17 de fevereiro de

Page 13: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FEEDBACK

• Isso Funciona?

• É isso que o cliente realmente quer?

• Isso está bem estruturado?

Rode os Testes

Use os tetes para dirigir a estrutura

Rode os Testes

Rode os Testes

3terça-feira, 17 de fevereiro de

Page 14: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD AJUDA!

• Resolver tarefas complexas, indo do mais simples ao mais complicado.

• Avançar o design de maneira “orgânica”, refatorando e fazendo escolhas uma por vez.(Introdução do Test-Driven-Development, Kent Back)

4terça-feira, 17 de fevereiro de

Page 15: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

5terça-feira, 17 de fevereiro de

Page 16: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

• Tempo gasto..

5terça-feira, 17 de fevereiro de

Page 17: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

• Tempo gasto..

• .... para corrigir regressão

5terça-feira, 17 de fevereiro de

Page 18: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

• Tempo gasto..

• .... para corrigir regressão

• .... para encontrar erros

5terça-feira, 17 de fevereiro de

Page 19: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

• Tempo gasto..

• .... para corrigir regressão

• .... para encontrar erros

• .... com funcionalidades desnecessárias

5terça-feira, 17 de fevereiro de

Page 20: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!

• Tempo gasto..

• .... para corrigir regressão

• .... para encontrar erros

• .... com funcionalidades desnecessárias

• .... para escrever documentação (descrição executável do que o código faz)

5terça-feira, 17 de fevereiro de

Page 21: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!(2)

6terça-feira, 17 de fevereiro de

Page 22: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!(2)

• Encoraja a escrever bons componentes. É mais fácil testar componentes isolados e com baixo acoplamento.

6terça-feira, 17 de fevereiro de

Page 23: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

TDD SALVA!(2)

• Encoraja a escrever bons componentes. É mais fácil testar componentes isolados e com baixo acoplamento.

• Definir critério de aceitação, definir pronto.

6terça-feira, 17 de fevereiro de

Page 24: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

O CICLO

Escreva UM

teste de

unidade que

falhe

Faça o teste

passar com

o menor

esforço

Refatore

Escreva

uma

história

7terça-feira, 17 de fevereiro de

Page 25: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

FIM!

8terça-feira, 17 de fevereiro de

Page 26: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

SÓ ACREDITO VENDO!

9terça-feira, 17 de fevereiro de

Page 27: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

+ TDD

• DOJO (http://www.dojosp.org/)

• Google Groups DOJO (http://groups.google.com/group/dojo_sp)

10terça-feira, 17 de fevereiro de

Page 28: TEST DRIVEN DEVELOPMENT - ccsl.ime.usp.brccsl.ime.usp.br/.../TestesAutomatizados-5-1-TDD-AgilCoop-Verao200… · (Introdução do Test-Driven-Development, Kent Back) terça-feira,

11terça-feira, 17 de fevereiro de