PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!

  • 1,602 views
Uploaded on

Palestra de integração contínua dada no PHPSCConf de 2010 em Joenville. …

Palestra de integração contínua dada no PHPSCConf de 2010 em Joenville.

"Testar é bom, integrar é ainda melhor"

O código utilizado nesta apresentação, pode se encontrado no github: http://github.com/augustohp/ManoWars

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,602
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
29
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TESTAR É BOM. INTEGRAR É MELHOR AINDA! Augusto Pascutti Saturday, August 28, 2010
  • 2. @AUGUSTOHP Saturday, August 28, 2010
  • 3. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? Saturday, August 28, 2010
  • 4. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? Saturday, August 28, 2010
  • 5. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil Saturday, August 28, 2010
  • 6. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo Saturday, August 28, 2010
  • 7. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade Saturday, August 28, 2010
  • 8. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade ‣ Automático ou não Saturday, August 28, 2010
  • 9. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade ‣ Automático ou não ‣ Reduz Saturday, August 28, 2010
  • 10. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade ‣ Automático ou não ‣ Reduz ‣ Custo, Tempo, Trabalho Saturday, August 28, 2010
  • 11. OK, O QUE É INTEGRAR? Saturday, August 28, 2010
  • 12. OK, O QUE É INTEGRAR? É testar! Ver como tudo funciona junto! Saturday, August 28, 2010
  • 13. PORQUE INTEGRAR? Saturday, August 28, 2010
  • 14. PORQUE INTEGRAR? Existem 10 tipos de pessoas Saturday, August 28, 2010
  • 15. AS QUE ENTENDEM BINÁRIO Saturday, August 28, 2010
  • 16. E AS QUE NÃO ENTENDEM 10 Saturday, August 28, 2010
  • 17. E AS QUE NÃO ENTENDEM Espero que tenham entendido ... 10 Saturday, August 28, 2010
  • 18. A atualização não funciona ... Saturday, August 28, 2010
  • 19. Funciona. Algo deve estar errado. Saturday, August 28, 2010
  • 20. Hmn ... Saturday, August 28, 2010
  • 21. Rosquinha! Saturday, August 28, 2010
  • 22. NÃO IMPORTA O TIPO DE PROBLEMA Saturday, August 28, 2010
  • 23. PARA O CLIENTE É A MESMA COISA Saturday, August 28, 2010
  • 24. Não funciona! Saturday, August 28, 2010
  • 25. PORQUE INTEGRAR? Saturday, August 28, 2010
  • 26. PORQUE INTEGRAR? ‣ Métricas! Saturday, August 28, 2010
  • 27. PORQUE INTEGRAR? ‣ Métricas! ‣ Aumento da qualidade Saturday, August 28, 2010
  • 28. PORQUE INTEGRAR? ‣ Métricas! ‣ Aumento da qualidade ‣ Bugs detectados mais cedo Saturday, August 28, 2010
  • 29. PORQUE INTEGRAR? ‣ Métricas! ‣ Aumento da qualidade ‣ Bugs detectados mais cedo ‣ Sem “release-caos” Saturday, August 28, 2010
  • 30. Parece bom! Isso me custa quanto? Saturday, August 28, 2010
  • 31. Parece bom! Isso me custa quanto? Nada! Saturday, August 28, 2010
  • 32. Vai me dar mais trabalho né? Saturday, August 28, 2010
  • 33. Vai me dar mais trabalho né? Vale a pena Saturday, August 28, 2010
  • 34. VOCÊ JÁ FAZ ISSO! Saturday, August 28, 2010
  • 35. TODA ENTREGA GERA MAIS TRABALHO Saturday, August 28, 2010
  • 36. TODA ENTREGA GERA MAIS TRABALHO Saturday, August 28, 2010
  • 37. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes Saturday, August 28, 2010
  • 38. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta Saturday, August 28, 2010
  • 39. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta ‣ Mais Bugs! Saturday, August 28, 2010
  • 40. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta ‣ Mais Bugs! ‣ Dica: contratar mais gente não é solução, é suicídio. (nesse caso) Saturday, August 28, 2010
  • 41. QUEREMOS SAIR DISSO Saturday, August 28, 2010
  • 42. QUEREMOS SAIR DISSO 90 79 68 56 Bugs 45 34 23 11 0 v 1.0 v 1.1 v 1.2 v 1.3 v 1.5 v 2.0 v 2.1 v 2.2 v 2.3 v 2.5 v 3.0 Saturday, August 28, 2010
  • 43. PRA ISSO Saturday, August 28, 2010
  • 44. PRA ISSO 15 13 11 9 Bugs 8 6 4 2 0 v 1.0 v 1.1 v 1.2 v 1.3 v 1.5 v 2.0 v 2.1 v 2.2 v 2.3 v 2.5 v 3.0 Saturday, August 28, 2010
  • 45. QUAL A MÁGICA? Saturday, August 28, 2010
  • 46. QUAL A MÁGICA? Integre mais. Sofra isso sem o cliente saber. Saturday, August 28, 2010
  • 47. PERCA MENOS TEMPO! Saturday, August 28, 2010
  • 48. PERCA MENOS TEMPO! Com testes ! Saturday, August 28, 2010
  • 49. TESTES Vocês já fazem isso. Mas só testam o que mudaram. Testar tudo sempre, soa melhor? Saturday, August 28, 2010
  • 50. TESTES UNITÁRIOS Saturday, August 28, 2010
  • 51. TESTES UNITÁRIOS Dão mais trabalho do que vc pensa Saturday, August 28, 2010
  • 52. TESTES UNITÁRIOS Dão mais resultado do que você imagina! Saturday, August 28, 2010
  • 53. PERCA MENOS TEMPO! Geração de pacotes Saturday, August 28, 2010
  • 54. ANT - PHING Saturday, August 28, 2010
  • 55. ANT - PHING Saturday, August 28, 2010
  • 56. ANT - PHING Automatizam coisas como: Saturday, August 28, 2010
  • 57. ANT - PHING Automatizam coisas como: - Operações de IO Saturday, August 28, 2010
  • 58. ANT - PHING Automatizam coisas como: - Operações de IO - Ferramentas externas Saturday, August 28, 2010
  • 59. ANT - PHING Automatizam coisas como: - Operações de IO - Ferramentas externas - Exportação do código Saturday, August 28, 2010
  • 60. ANT - PHING Automatizam coisas como: - Operações de IO - Ferramentas externas - Exportação do código - Rodar testes unitários Saturday, August 28, 2010
  • 61. ANT - PHING Saturday, August 28, 2010
  • 62. ANT - PHING Saturday, August 28, 2010
  • 63. ANT - PHING Saturday, August 28, 2010
  • 64. PERCA MENOS TEMPO! Métricas Saturday, August 28, 2010
  • 65. MÉTRICAS Saturday, August 28, 2010
  • 66. MÉTRICAS PHP Depend (Geral) Saturday, August 28, 2010
  • 67. MÉTRICAS PHP Depend (Geral) PEAR Code Sniffer Saturday, August 28, 2010
  • 68. MÉTRICAS PHP Depend (Geral) PEAR Code Sniffer PHP CPD Saturday, August 28, 2010
  • 69. RESUMINDO Saturday, August 28, 2010
  • 70. RESUMINDO Saturday, August 28, 2010
  • 71. RESUMINDO Código do Projeto Saturday, August 28, 2010
  • 72. RESUMINDO Controle de Versões Código do Projeto Saturday, August 28, 2010
  • 73. RESUMINDO Testes Unitários Controle de Versões Código do Projeto Saturday, August 28, 2010
  • 74. RESUMINDO Geração de Pacotes Testes Unitários Controle de Versões Código do Projeto Saturday, August 28, 2010
  • 75. RESUMINDO Relatórios Geração de Pacotes Testes Unitários Controle de Versões Código do Projeto Saturday, August 28, 2010
  • 76. EXEMPLO Saturday, August 28, 2010
  • 77. EXEMPLO PHP Unit PHP Depend SVN Hudson PHPCode Sniffer Saturday, August 28, 2010
  • 78. HUDSON Saturday, August 28, 2010
  • 79. HUDSON ./java -jar hudson.war Saturday, August 28, 2010
  • 80. HUDSON Plugins: - Hudson Clover Plugin - Hudson JDepend Plugin - Hudson Phing Plugin - Hudson Subversion Plugin - Hudson xUnit Plugin Saturday, August 28, 2010
  • 81. HUDSON Saturday, August 28, 2010
  • 82. HUDSON Saturday, August 28, 2010
  • 83. HUDSON Saturday, August 28, 2010
  • 84. HUDSON Saturday, August 28, 2010
  • 85. DÚVIDAS? Saturday, August 28, 2010
  • 86. LINKS http://www.slideshare.net/augustopascutti http://hudson-ci.org/ http://phing.info/ http://www.phpunit.de/ http://pdepend.org/ http://github.com/sebastianbergmann/php-hudson-template http://pear.php.net/package/PHP_CodeSniffer http://github.com/sebastianbergmann/phpcpd Artigo: http://martinfowler.com/articles/continuousIntegration.html Saturday, August 28, 2010