Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Test Driven Development: Abre alas

1,492 views

Published on

Slides usados para um treinamento rápido sobre TDD.

Published in: Technology
  • Be the first to comment

Test Driven Development: Abre alas

  1. 1. TEST DRIVEN DEVELOPMENT http://www.flickr.com/photos/lachlanhardy/2092147736/
  2. 2. por que testamos?
  3. 3. Como testamos?
  4. 4. MANUALMENTE
  5. 5. AUTOMATICAMENTE
  6. 6. Antes de TDD http://www.flickr.com/photos/flioukas/575773633/
  7. 7. 1999
  8. 8. Código escrito antes dos testes é difícil de testar
  9. 9. Código escrito antes dos testes é difícil de usar
  10. 10. DESIGN
  11. 11. Design é uma atividade e não um processo
  12. 12. TDD é um método para design de software, e não apenas testes
  13. 15. Testes verificam a usabilidade do código
  14. 16. TDD é difícil
  15. 17. BDD
  16. 18. "I decided it must be possible to present TDD in a way that gets straight to the good stuff and avoids all the pitfalls.“ Dan North http://dannorth.net/introducing-bdd
  17. 19. BDD é um guia de como fazer TDD da maneira certa
  18. 20. <ul><li>As a [X] </li></ul><ul><li>I want [Y] </li></ul><ul><li>So that [Z] </li></ul>
  19. 21. <ul><li>Given [contexto] </li></ul><ul><li>And [contexto adicional] </li></ul><ul><li>When [evento] </li></ul><ul><li>Then [verifique as saídas] </li></ul>
  20. 22. Anatomia de um teste
  21. 23. <ul><li>@Test </li></ul><ul><li>public void [descreva o contexto]{ </li></ul><ul><li>Given [setup do contexto] </li></ul><ul><li>And [setup adicional] </li></ul><ul><li>When [o comportamento] </li></ul><ul><li>Then [verifique a saída] </li></ul><ul><li>} </li></ul>
  22. 24. <ul><li>@Test </li></ul><ul><li>public void deveRecuperarPrimeiroItem { </li></ul><ul><li>// Given, And.. </li></ul><ul><li>Lista lista = new Lista(); </li></ul><ul><li>lista.add( 1 ).add( 2 ).add( 3 ); </li></ul><ul><li>// When </li></ul><ul><li>int primeiro = lista.primeiro(); </li></ul><ul><li>// Then </li></ul><ul><li>assertEquals( 1 , primeiro); </li></ul><ul><li>} </li></ul>
  23. 25. Mão na massa!
  24. 26. Feedback
  25. 27. epílogo
  26. 28. todos os projetos nascem com ambiente limpo http://blog.objectmentor.com/articles/2009/01/09/the-big-redesign-in-the-sky
  27. 29. Desenvolvedores profissionais escrevem testes. Simples assim. http://blog.fragmental.com.br/2007/10/31/programadores-profissionais-escrevem-testes-ponto-final/
  28. 30. seja curioso http://marcospereira.wordpress.com/2007/08/18/motor-curiosidade/
  29. 31. Você é o principal responsável pela qualidade do seu trabalho http://www.artima.com/weblogs/viewpost.jsp?thread=71730
  30. 32. O time, a empresa, o ambiente não melhoram se você não melhorar primeiro http://www.codeidol.com/other/extreme-programming/Applying-XP/Applying-XP/
  31. 33. Pense sobre como você trabalha http://gettingreal.37signals.com/toc.php
  32. 34. marcos silva pereira http://marcospereira.wordpress.com

×