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

1.390 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.390
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
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?!

×