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?!
Upcoming SlideShare
Loading in …5
×

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

1,325 views
1,201 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,325
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for 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?!

×