E você pensava que tdd era coisa de javaneiro

Post on 15-Jul-2015

200 views 2 download

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

E você pensava que TDD era coisa de Javaneiro?

Paulo Jr@paulojribp | paulojribp@gmail.com

Sobre mim

● Formado em SI

● Pós em Desenvolvimento Ágil

● Instrutor e Dev na Caelum

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

Você faz teste?

Como sabemos que tudo funciona?

Mas qual tipo de teste?

de Sistema

de Integração

de Unidade

Um simples código...

Is this a zombie? o.O

Perfeito. E se testarmos algo a

mais...

● 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

Fazendo testes...

Mas não queremos depender de humanos...

Agora com o teste pronto, o que

podemos fazer?

Implementa

Testa

Testa

Implementa

WTF?

Passos simples...

O teste primeiro...

Fazemos o teste passar...

Baby Steps

O teste passando, vamos melhorar...

Refatoração

Não existe mais medo...

Test-Driven Development

O que conseguimos...

- Simplicidade

- Seu código já sai testado

- Mudar é simples e barato

- Maior cobertura de testes

- Foco no negócio

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...

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

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

Mãos à obra

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

Leitura especializada

Como melhorar

Cursos - Online e presencial

Paulo Jr.

paulojribp@gmail.com

http://github.com/paulojribp

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

Obrigado!