TDD - Test Driven Development com JAVA

7.230 visualizações

Publicada em

Palestra sobre a metodologia TDD de desenvolvimento de software utilizando ferramentas JAVA

Publicada em: Tecnologia
4 comentários
3 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
7.230
No SlideShare
0
A partir de incorporações
0
Número de incorporações
46
Ações
Compartilhamentos
0
Downloads
0
Comentários
4
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDD - Test Driven Development com JAVA

  1. 1. TDD – Test Driven Development Paulo Igor @pigodinho [email_address] 1.1 Beta
  2. 2. http://blog.pigor.net
  3. 3. Metodologias Ágeis Dojo JAVA (JEE e JSE) RIA (Flex + ActionScript) Ruby on Rails (JRuby) TDD BDD DDD
  4. 4. Essa palestra não é um tutorial!!!
  5. 5. Você testa seu software?
  6. 6. Você constrói testes automatizados?
  7. 7. Você constrói seus testes automatizados antes de codificar?
  8. 8. Se você respondeu SIM apenas uma vez…
  9. 9. Você precisa rever seus conceitos
  10. 10. Agora…
  11. 11. Se você não disse SIM …
  12. 13. Testar é importante!!!
  13. 14. Testar é… <ul><li>Submeter a teste ou experimentação. </li></ul><ul><li>Pôr a prova. </li></ul><ul><li>Submeter a avaliação = avaliar. </li></ul>
  14. 18. 80% de DESPERDÍCIO
  15. 19. O que isso tem a ver com Teste?
  16. 20. O Teste certifica se as NECESSIDADES foram atendidas!
  17. 21. … se as NECESSIDADES serão atendidas!
  18. 22. Conhecer melhor as expectativas
  19. 23. TDD é uma forma de conhecer melhor as necessidades…
  20. 24. Como funciona o TDD???
  21. 26. Princípios e a Essência do TDD
  22. 27. TDD ajuda…
  23. 28. … a atender melhor os requisitos
  24. 29. … combater a síndrome de Nostradamus
  25. 30. K eep I t S imple, S tupid!
  26. 31. … a manter a casa arrumada
  27. 32. … promove o Design Evolutivo
  28. 33. Blindagem do código
  29. 34. Outros benefícios <ul><li>Maior cobertura de Testes </li></ul><ul><li>Design testável </li></ul><ul><li>Requisitos executáveis </li></ul>
  30. 36. Como faço isso em JAVA???
  31. 37. Principais Testes <ul><li>Teste Unitário </li></ul><ul><ul><li>Fundamental para a prática do TDD </li></ul></ul><ul><li>Teste de Integração </li></ul><ul><ul><li>Normalmente não utilizado em TDD </li></ul></ul><ul><li>Teste de Aceitação </li></ul><ul><ul><li>Pode ser utilizado em TDD </li></ul></ul>
  32. 38. Ferramentas JAVA <ul><li>JUnit – Framework para testes unitários </li></ul><ul><li>Emma – Ferramenta de cobertura de testes </li></ul><ul><li>JMock – Biblioteca para criação de Mocks </li></ul><ul><li>Selenium – sistema de teste de aplicações web </li></ul><ul><li>DBUnit – extensão do JUnit para BD </li></ul><ul><li>Fit – Ferramenta para automatizar testes de aceitação </li></ul><ul><ul><li>Fitnesse – Framework de Testes de aceitação </li></ul></ul>
  33. 39. Teste Unitário <ul><li>Testa apenas um componente do sistema </li></ul><ul><li>Dependências são simulados (mock objects) </li></ul><ul><li>Ferramentas: </li></ul><ul><ul><li>JUnit, JMock/EasyMock </li></ul></ul>
  34. 40. Teste de Aceitação <ul><li>Testam uma história, funcionalidade ou caso de uso </li></ul><ul><li>Envolvem vários componentes do sistema </li></ul><ul><li>Ferramentas: JUnit, Selenium, Fit </li></ul>
  35. 41. Teste de Integração <ul><li>Testam a integração entre componentes </li></ul><ul><li>Envolvem dois ou mais componentes </li></ul><ul><li>(classes + SGBD) </li></ul><ul><li>Ferramentas: JUnit, DBUnit </li></ul>
  36. 42. Fazendo um Taxímetro…
  37. 43. Carro em movimento… <ul><li>Especificações: </li></ul><ul><ul><li>Taxa inicial = R$3,50 </li></ul></ul><ul><ul><li>Valor por Km = R$1,00 </li></ul></ul><ul><li>Expectativa: </li></ul><ul><ul><li>Se o taxi rodar 5 km, valor cobrado será R$8,50 </li></ul></ul><ul><ul><li>Taxa inicial (R$3,50) + ( 5 km * R$1,00) = R$8,50 </li></ul></ul>
  38. 50. O ciclo se repete o projeto todo…
  39. 53. TDD – Test Driven Development Paulo Igor @pigodinho [email_address] 1.1 Beta

×