TDD - Test Driven Development com JAVA

7,069 views
6,877 views

Published on

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

Published in: Technology
4 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total views
7,069
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
0
Comments
4
Likes
3
Embeds 0
No embeds

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

×