E você pensava que tdd era coisa de javaneiro

29
E você pensava que TDD era coisa de Javaneiro? Paulo Jr @paulojribp | [email protected]

Transcript of E você pensava que tdd era coisa de javaneiro

Page 1: E você pensava que tdd era coisa de javaneiro

E você pensava que TDD era coisa de Javaneiro?

Paulo Jr@paulojribp | [email protected]

Page 2: E você pensava que tdd era coisa de javaneiro

Sobre mim

● Formado em SI

● Pós em Desenvolvimento Ágil

● Instrutor e Dev na Caelum

● 10+ anos de experiência (html conta?)

Page 3: E você pensava que tdd era coisa de javaneiro

Você faz teste?

Page 4: E você pensava que tdd era coisa de javaneiro

Como sabemos que tudo funciona?

Page 5: E você pensava que tdd era coisa de javaneiro

Mas qual tipo de teste?

de Sistema

de Integração

de Unidade

Page 6: E você pensava que tdd era coisa de javaneiro

Um simples código...

Is this a zombie? o.O

Page 7: E você pensava que tdd era coisa de javaneiro

Perfeito. E se testarmos algo a

mais...

Page 8: E você pensava que tdd era coisa de javaneiro

● Depende de verificação detalhada do tester/dev

● Humanos não gostam de repetição

● Se mudar algo, como garantir que tudo continua

funcionando?

● Custa caro...

Desvantagens do teste manual

Page 9: E você pensava que tdd era coisa de javaneiro

Fazendo testes...

Page 10: E você pensava que tdd era coisa de javaneiro

Mas não queremos depender de humanos...

Page 11: E você pensava que tdd era coisa de javaneiro

Agora com o teste pronto, o que

podemos fazer?

Page 12: E você pensava que tdd era coisa de javaneiro

Implementa

Testa

Page 13: E você pensava que tdd era coisa de javaneiro

Testa

Implementa

WTF?

Page 14: E você pensava que tdd era coisa de javaneiro

Passos simples...

Page 15: E você pensava que tdd era coisa de javaneiro

O teste primeiro...

Page 16: E você pensava que tdd era coisa de javaneiro

Fazemos o teste passar...

Page 17: E você pensava que tdd era coisa de javaneiro

Baby Steps

Page 18: E você pensava que tdd era coisa de javaneiro

O teste passando, vamos melhorar...

Page 19: E você pensava que tdd era coisa de javaneiro

Refatoração

Page 20: E você pensava que tdd era coisa de javaneiro

Não existe mais medo...

Page 21: E você pensava que tdd era coisa de javaneiro

Test-Driven Development

Page 22: E você pensava que tdd era coisa de javaneiro

O que conseguimos...

- Simplicidade

- Seu código já sai testado

- Mudar é simples e barato

- Maior cobertura de testes

- Foco no negócio

Page 23: E você pensava que tdd era coisa de javaneiro

TDD na Prática

Contexto: Uma empresa de mudanças deseja calcular o valor total da mudança.

Problema: Calcular o valor total de uma mudança. Para esse cálculo, temos que considerar...

Page 24: E você pensava que tdd era coisa de javaneiro

TDD na PráticaICMS: Se a mudança for de um estado a outro

ISS: Se for dentro do mesmo estado

Valor do seguro dos itens: 0,8% do valor total dos itens da mudança

KM: O valor por KM rodado multiplicado pelo total de KM's

Valor Itens: A metragem cúbida dos itens * preco do metro cúbico

Page 25: E você pensava que tdd era coisa de javaneiro

TDD na Prática

O valor da mudança é formado por:

1. A soma do imposto

2. Seguro dos itens

3. Km total percorrido

4. E pelo preco dos itens

Page 26: E você pensava que tdd era coisa de javaneiro

Mãos à obra

Page 27: E você pensava que tdd era coisa de javaneiro

1. Código macarrão - Tudo em um só lugar

2. Não respeitar OO

3. Pouca modularização da aplicação

4. A documentação deixa dúvidas de certo/errado (más práticas)

5. Frameworks nem sempre seguem padrões

Problemas específicos de testes em PHP

Page 28: E você pensava que tdd era coisa de javaneiro

Leitura especializada

Como melhorar

Cursos - Online e presencial

Page 29: E você pensava que tdd era coisa de javaneiro

Paulo Jr.

[email protected]

http://github.com/paulojribp

http://github.com/paulojribp/palestra-tdd-phpconference

Obrigado!