Desenvolvimento Orientado a Testes    Benefícios, Técnicas e Limitações
quem sou eu?               Analista de Sistemas@icarocamelo                 http://icarocamelo.wordpress.com
roteiroPor que testar?O que é TDD?TécnicasRefactoringHands On!Limitações
por que testar?!
por que testar?!•Sucesso/Fracasso do projeto•Perder Clientes•Alto Acoplamento•Escalabilidade ruim•Prejuízo financeiro
o que é TDD?“Teste de unidade é toda aplicação        de teste nas assinaturas de            entradas e saídas de um siste...
bons testes?!•Isolado•Cobrir 100% da implementação•Executado por terceiro
desculpas comuns...                             “(...) Vai demorar muito                                           mais ” ...
o que é TDD?            “Extreme     Programming issuccessful because it   stresses customer        satisfaction”.
o que é TDD?Kent Beck
o que é TDD?1. Adicione um teste que falhe2. Faça o teste passar3. Refatore o código
o que é TDD?
refactoring?!Martin Fowler
refactoring?!•Design do software•Fácil compreensão•Escrever código rapidamente•Encontrar bugs
refactoring?!  “Não é preciso ler todo ocódigo para identificar um             código ruim”.
refactoring?!                       DRY – Don´t Repeat Yourself Principle KISS                                       Inter...
técnicas!           Baby StepsFake it!                   Mocks
técnicas: Babies steps!Codificar teste unitárioTestar um comportamento por vezRefatorar
técnicas: Fake it!Utilizar constantes     Confiança ao refatorarRefatorar                 Aspecto psicológico             ...
técnicas: Mock!Versão falsa do objetoBanco de dados
o que é TDD?       “Todo código éculpado até que prove        ser inocente”.
Hands On!
limitações!
limitações! Time não acredita   Tempo curto para o na ideia                  aprendizadoNão é possível            Psicológ...
Outros Testes?!Testes de IntegraçãoTestes SistêmicosTestes de Aceitação
dúvidas?!
Próximos SlideShares
Carregando em…5
×

TDD: Técnicas, Benefícios e Limitação

1.385 visualizações

Publicada em

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.385
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDD: Técnicas, Benefícios e Limitação

  1. 1. Desenvolvimento Orientado a Testes Benefícios, Técnicas e Limitações
  2. 2. quem sou eu? Analista de Sistemas@icarocamelo http://icarocamelo.wordpress.com
  3. 3. roteiroPor que testar?O que é TDD?TécnicasRefactoringHands On!Limitações
  4. 4. por que testar?!
  5. 5. por que testar?!•Sucesso/Fracasso do projeto•Perder Clientes•Alto Acoplamento•Escalabilidade ruim•Prejuízo financeiro
  6. 6. o que é TDD?“Teste de unidade é toda aplicação de teste nas assinaturas de entradas e saídas de um sistema, consiste em validar dados válidos e inválidos via I/O (entrada/saída)”.
  7. 7. bons testes?!•Isolado•Cobrir 100% da implementação•Executado por terceiro
  8. 8. desculpas comuns... “(...) Vai demorar muito mais ” (...)“(...)Não seicomo testar ” (...)“(...) A funcionalidade é muito fácil” (...) “(...) Melhor deixar os testes com testadores ” (...)
  9. 9. o que é TDD? “Extreme Programming issuccessful because it stresses customer satisfaction”.
  10. 10. o que é TDD?Kent Beck
  11. 11. o que é TDD?1. Adicione um teste que falhe2. Faça o teste passar3. Refatore o código
  12. 12. o que é TDD?
  13. 13. refactoring?!Martin Fowler
  14. 14. refactoring?!•Design do software•Fácil compreensão•Escrever código rapidamente•Encontrar bugs
  15. 15. refactoring?! “Não é preciso ler todo ocódigo para identificar um código ruim”.
  16. 16. refactoring?! DRY – Don´t Repeat Yourself Principle KISS Interface Segregation PrincipleDependency InversionPrinciple You ain´t gonna need it
  17. 17. técnicas! Baby StepsFake it! Mocks
  18. 18. técnicas: Babies steps!Codificar teste unitárioTestar um comportamento por vezRefatorar
  19. 19. técnicas: Fake it!Utilizar constantes Confiança ao refatorarRefatorar Aspecto psicológico ALERTA: Mais testes são necessários
  20. 20. técnicas: Mock!Versão falsa do objetoBanco de dados
  21. 21. o que é TDD? “Todo código éculpado até que prove ser inocente”.
  22. 22. Hands On!
  23. 23. limitações!
  24. 24. limitações! Time não acredita Tempo curto para o na ideia aprendizadoNão é possível Psicológico doautomatizar testes desenvolvedor
  25. 25. Outros Testes?!Testes de IntegraçãoTestes SistêmicosTestes de Aceitação
  26. 26. dúvidas?!

×