Test-Driven Development<br />@denisferrari<br />
UMA HISTÓRIA<br />
Querfazer um projeto?<br />CLARO!<br />
ALGUM TEMPO DEPOIS:<br />.NET aoextremo<br />De 2 para 80 Users<br />~50 UCs<br />Clientesimportantes<br />Regras de negóc...
Experiênciatraumática<br />
HÉRCULES NÃO FARIA<br />
Durante um jantar<br />
Apareceumaemergência<br />
Durante um momentodescontraído<br />
O SGBD nãoresponde<br />
Durante umanoite de sono<br />
O clientereporta um erro<br />
Durante suasériefavorita<br />
Valeu a pena?<br />
Pessoas se enganam<br />
Algofaltava…<br />
Vamosaprender com quemfaz<br />
Vamospara o mercado!<br />
Possuemosmesmos*problemas<br />
Prazoscurtos<br />
Falhas de comunicação<br />
Contratosrígidos<br />
Problemas com processos<br />
Previsibilidade<br />
Projetocastelo de cartas<br />
Super-homens<br />
Projetocastelo de areia<br />
Queima de dinheiro<br />
Stress<br />
ChaosReport<br />http://www1.standishgroup.com/newsroom/chaos_2009.php<br />
Começaruim<br />
Depoispiora<br />
FALTA QUALIDADE!<br />
Devidoaos traumas do passado<br />
Algumasconclusões<br />Programaçãoem par<br />DDD<br />Scrum & XP<br />TDD & IC<br />Equipe, comunicação<br />Excelênciaté...
VISÃO GERAL SOBRE TESTES<br />
Espiraldamorte<br />
TDD<br />
Objetivos<br />
Mantra<br />Verde<br />Vermelho<br />Refatorar<br />
Lista de testes<br />
Escreva o teste<br />
Faça o testepassar<br />
Refatore o seucódigo<br />
Exemplo<br />Exemplo: Testar o envio da string “Mindworks” através de um socket.<br />publicvoidTestarComunicacaoSocket()<...
Passos de bebe<br />
10 a 15 minutos<br />
Noção de progresso<br />
Facilitar a comunicação<br />
Construçãosustentável<br />
Integraçãocontínua<br />
Coding Dojo<br />
Programaçãoem par<br />
BENEFÍCIOS DO TDD<br />
Maiorqualidade<br />
Menorcusto<br />
Corte no TCO (Custo Total de Posse )<br />
Garante testes unitários<br />
Menos bugs<br />
Software maisdesacoplado<br />
Especificaçãoexecutável<br />
FERRAMENTAS P/ TDD<br />
Visual Studio 2010<br />
ALM<br />
NUnit<br />
Beck, K. Test-Driven Development by Example, Addison Wesley, 2003<br />
Obrigado!<br />@denisferrari<br />www.heroisdati.com<br />tinyurl.com/grupomsdeves<br />www.minhacarreira.com<br />www.min...
Upcoming SlideShare
Loading in …5
×

Desenvolvimento orientado a Testes

2,617 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,617
On SlideShare
0
From Embeds
0
Number of Embeds
90
Actions
Shares
0
Downloads
83
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Desenvolvimento orientado a Testes

  1. 1. Test-Driven Development<br />@denisferrari<br />
  2. 2. UMA HISTÓRIA<br />
  3. 3. Querfazer um projeto?<br />CLARO!<br />
  4. 4. ALGUM TEMPO DEPOIS:<br />.NET aoextremo<br />De 2 para 80 Users<br />~50 UCs<br />Clientesimportantes<br />Regras de negóciocomplexas<br />170 Tabelas<br />
  5. 5. Experiênciatraumática<br />
  6. 6. HÉRCULES NÃO FARIA<br />
  7. 7. Durante um jantar<br />
  8. 8. Apareceumaemergência<br />
  9. 9. Durante um momentodescontraído<br />
  10. 10. O SGBD nãoresponde<br />
  11. 11. Durante umanoite de sono<br />
  12. 12. O clientereporta um erro<br />
  13. 13. Durante suasériefavorita<br />
  14. 14.
  15. 15. Valeu a pena?<br />
  16. 16. Pessoas se enganam<br />
  17. 17. Algofaltava…<br />
  18. 18. Vamosaprender com quemfaz<br />
  19. 19. Vamospara o mercado!<br />
  20. 20. Possuemosmesmos*problemas<br />
  21. 21. Prazoscurtos<br />
  22. 22. Falhas de comunicação<br />
  23. 23. Contratosrígidos<br />
  24. 24. Problemas com processos<br />
  25. 25. Previsibilidade<br />
  26. 26. Projetocastelo de cartas<br />
  27. 27. Super-homens<br />
  28. 28. Projetocastelo de areia<br />
  29. 29. Queima de dinheiro<br />
  30. 30. Stress<br />
  31. 31. ChaosReport<br />http://www1.standishgroup.com/newsroom/chaos_2009.php<br />
  32. 32. Começaruim<br />
  33. 33. Depoispiora<br />
  34. 34. FALTA QUALIDADE!<br />
  35. 35. Devidoaos traumas do passado<br />
  36. 36.
  37. 37. Algumasconclusões<br />Programaçãoem par<br />DDD<br />Scrum & XP<br />TDD & IC<br />Equipe, comunicação<br />Excelênciatécnica e teórica<br />
  38. 38. VISÃO GERAL SOBRE TESTES<br />
  39. 39. Espiraldamorte<br />
  40. 40. TDD<br />
  41. 41. Objetivos<br />
  42. 42. Mantra<br />Verde<br />Vermelho<br />Refatorar<br />
  43. 43. Lista de testes<br />
  44. 44. Escreva o teste<br />
  45. 45. Faça o testepassar<br />
  46. 46. Refatore o seucódigo<br />
  47. 47. Exemplo<br />Exemplo: Testar o envio da string “Mindworks” através de um socket.<br />publicvoidTestarComunicacaoSocket()<br /> {<br />Assert.IsTrue(readerSocket.Close());<br />Assert.AreEqual(“Mindworks”, buf);<br /> }<br />publicvoidTestarComunicacaoSocket()<br /> {<br /> string buf = reader.Contents();<br />Assert.IsTrue(readerSocket.Close());<br />Assert.AreEqual(“Mindworks”, buf);<br /> }<br />publicvoidTestarComunicacaoSocket()<br /> {<br />SocketreaderSocket = newSocket(“localhost”, 8080);<br /> string buf = reader.Contents();<br />Assert.IsTrue(readerSocket.Close());<br />Assert.AreEqual(“Mindworks”, buf);<br /> }<br />publicvoidTestarComunicacaoSocket()<br /> {<br /> Server server = new Server(8080, “”Mindworks”);<br />SocketreaderSocket = newSocket(“localhost”, 8080);<br /> string buf = reader.Contents();<br />Assert.IsTrue(readerSocket.Close());<br />Assert.AreEqual(“Mindworks”, buf);<br /> }<br />
  48. 48. Passos de bebe<br />
  49. 49. 10 a 15 minutos<br />
  50. 50. Noção de progresso<br />
  51. 51. Facilitar a comunicação<br />
  52. 52. Construçãosustentável<br />
  53. 53. Integraçãocontínua<br />
  54. 54. Coding Dojo<br />
  55. 55. Programaçãoem par<br />
  56. 56. BENEFÍCIOS DO TDD<br />
  57. 57. Maiorqualidade<br />
  58. 58. Menorcusto<br />
  59. 59. Corte no TCO (Custo Total de Posse )<br />
  60. 60. Garante testes unitários<br />
  61. 61. Menos bugs<br />
  62. 62. Software maisdesacoplado<br />
  63. 63. Especificaçãoexecutável<br />
  64. 64. FERRAMENTAS P/ TDD<br />
  65. 65. Visual Studio 2010<br />
  66. 66. ALM<br />
  67. 67. NUnit<br />
  68. 68. Beck, K. Test-Driven Development by Example, Addison Wesley, 2003<br />
  69. 69.
  70. 70. Obrigado!<br />@denisferrari<br />www.heroisdati.com<br />tinyurl.com/grupomsdeves<br />www.minhacarreira.com<br />www.mindworks.com.br<br />

×