TESTAR É BOM.
INTEGRAR É
MELHOR AINDA!
Augusto Pascutti
Wednesday, November 10, 2010
@AUGUSTOHP
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
‣ Processo contínuo
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
‣ Processo contínuo
‣ Controle de qualidade
Wednesday, November 10, 2010
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
‣ Processo contínuo
‣ Controle de qualidade
‣ Automático ou não
Wednesday...
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
‣ Processo contínuo
‣ Controle de qualidade
‣ Automático ou não
‣ Reduz
W...
O QUE É INTEGRAÇÃO CONTÍNUA (IC)?
‣ Prática ágil
‣ Processo contínuo
‣ Controle de qualidade
‣ Automático ou não
‣ Reduz
‣...
OK, O QUE É INTEGRAR?
Wednesday, November 10, 2010
OK, O QUE É INTEGRAR?
É testar!
Ver como tudo funciona JUNTO!
Wednesday, November 10, 2010
PORQUE INTEGRAR?
Wednesday, November 10, 2010
PORQUE INTEGRAR?
Existem 10 tipos de pessoas
Wednesday, November 10, 2010
AS QUE ENTENDEM BINÁRIO
Wednesday, November 10, 2010
E AS QUE NÃO ENTENDEM
10
Wednesday, November 10, 2010
E AS QUE NÃO ENTENDEM
Espero que tenham
entendido ...
10
Wednesday, November 10, 2010
A atualização não funciona ...
Wednesday, November 10, 2010
Funciona.Algo deve estar errado.
Wednesday, November 10, 2010
Hmn ...
Wednesday, November 10, 2010
Rosquinha!
Wednesday, November 10, 2010
NÃO IMPORTA O TIPO DE PROBLEMA
Wednesday, November 10, 2010
PARA O CLIENTE É A MESMA COISA
Wednesday, November 10, 2010
Não funciona!
Wednesday, November 10, 2010
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Cliente mais satisfeito
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Cliente mais satisfeito
‣ Métricas!
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Cliente mais satisfeito
‣ Métricas!
‣ Aumento da qualidade
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Cliente mais satisfeito
‣ Métricas!
‣ Aumento da qualidade
‣ Bugs detectados mais cedo
PORQUE INTEGRAR?
Wednesday, Novem...
‣ Cliente mais satisfeito
‣ Métricas!
‣ Aumento da qualidade
‣ Bugs detectados mais cedo
‣ Sem “release-caos”
PORQUE INTEG...
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Seu software tem quantos bugs?
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Seu software tem quantos bugs?
‣ Quantos % dele é testado?
PORQUE INTEGRAR?
Wednesday, November 10, 2010
‣ Seu software tem quantos bugs?
‣ Quantos % dele é testado?
‣ Ele é complicado de manter?
PORQUE INTEGRAR?
Wednesday, Nov...
Parece bom! Isso me custa quanto?
Wednesday, November 10, 2010
Parece bom! Isso me custa quanto?
Nada!
Wednesday, November 10, 2010
Vai me dar mais trabalho né?
Wednesday, November 10, 2010
Vai me dar mais trabalho né?
Você já faz isso
Wednesday, November 10, 2010
VOCÊ JÁ FAZ ISSO!
Wednesday, November 10, 2010
Como assim?
Wednesday, November 10, 2010
Você vai testar o que faz, certo?
VOCÊ JÁ FAZ ISSO
Wednesday, November 10, 2010
Você vai testar o que faz, certo?
VOCÊ JÁ FAZ ISSO
Wednesday, November 10, 2010
E o que você faz
depois que vê que
funcionou?
Wednesday, November 10, 2010
Ué, removo os “lixos” ...
Wednesday, November 10, 2010
E se um dia você
tiver problemas
justo com esse
pedaço de código?
Wednesday, November 10, 2010
Hmn....Testo de novo?
Wednesday, November 10, 2010
PORQUÊ FAZER 2X A MESMA COISA?
Wednesday, November 10, 2010
E SEVOCÊ GUARDASSE SEUS TESTES?
Wednesday, November 10, 2010
Wednesday, November 10, 2010
Wednesday, November 10, 2010
LEMBRE DISSO:
Wednesday, November 10, 2010
TODA ENTREGA GERA MAIS TRABALHO
Wednesday, November 10, 2010
TODA ENTREGA GERA MAIS TRABALHO
Wednesday, November 10, 2010
TODA ENTREGA GERA MAIS TRABALHO
‣ Seu app já tinha bugs antes
Wednesday, November 10, 2010
TODA ENTREGA GERA MAIS TRABALHO
‣ Seu app já tinha bugs antes
‣ O código dele aumenta
Wednesday, November 10, 2010
TODA ENTREGA GERA MAIS TRABALHO
‣ Seu app já tinha bugs antes
‣ O código dele aumenta
‣ Mais Bugs!
Wednesday, November 10,...
TODA ENTREGA GERA MAIS TRABALHO
‣ Seu app já tinha bugs antes
‣ O código dele aumenta
‣ Mais Bugs!
‣ Mais complexo!
Wednes...
TODA ENTREGA GERA MAIS TRABALHO
‣ Seu app já tinha bugs antes
‣ O código dele aumenta
‣ Mais Bugs!
‣ Mais complexo!
‣ Dica...
QUEREMOS SAIR DISSO
Wednesday, November 10, 2010
QUEREMOS SAIR DISSO
0
11
23
34
45
56
68
79
90
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
Bugs
Wedne...
PRA ISSO
Wednesday, November 10, 2010
PRA ISSO
0
2
4
6
8
9
11
13
15
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
Bugs
Wednesday, November 1...
EM RESUMO:
Wednesday, November 10, 2010
QUEREMOS QUE AS NOVAS
ENTREGAS GEREM SOMENTE
BUGS NOVOS
Wednesday, November 10, 2010
QUEREMOS CÓDIGOS
SIMPLES DE SE LER E POR
CONSEQUÊNCIA, MANTER.
Wednesday, November 10, 2010
QUEREMOS COISAS QUE
FUNCIONEM (TESTADAS)
Wednesday, November 10, 2010
Acho que você ta no lugar errado ....
Wednesday, November 10, 2010
Wednesday, November 10, 2010
QUAL A MÁGICA?
Wednesday, November 10, 2010
QUAL A MÁGICA?
IntegreTeste mais.
Sofra isso sem o cliente saber.
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
Com testes !
Wednesday, November 10, 2010
TESTES
Testar e jogar fora seu trabalho
não é uma boa idéia, como
vimos.
Wednesday, November 10, 2010
TESTES UNITÁRIOS
Wednesday, November 10, 2010
TESTES UNITÁRIOS
Dão mais trabalho do que vc pensa
Wednesday, November 10, 2010
TESTES UNITÁRIOS
Dão mais resultado do que você imagina!
Wednesday, November 10, 2010
TESTES UNITÁRIOS
https://github.com/augustohp/ManoWars
Wednesday, November 10, 2010
TESTES UNITÁRIOS
Wednesday, November 10, 2010
TESTES UNITÁRIOS
‣ Melhoram a qualidade
Wednesday, November 10, 2010
TESTES UNITÁRIOS
‣ Melhoram a qualidade
‣ Diminuem tempo com testes
Wednesday, November 10, 2010
TESTES UNITÁRIOS
‣ Melhoram a qualidade
‣ Diminuem tempo com testes
‣ Melhoram seu código
Wednesday, November 10, 2010
TESTES UNITÁRIOS
‣ Melhoram a qualidade
‣ Diminuem tempo com testes
‣ Melhoram seu código
‣ Você pensa antes de fazer
Wedn...
TESTES UNITÁRIOS
‣ Melhoram a qualidade
‣ Diminuem tempo com testes
‣ Melhoram seu código
‣ Você pensa antes de fazer
‣ Id...
TESTES UNITÁRIOS
‣ Melhoram a qualidade
‣ Diminuem tempo com testes
‣ Melhoram seu código
‣ Você pensa antes de fazer
‣ Id...
Dói pra instalar?
Wednesday, November 10, 2010
TESTES UNITÁRIOS
Wednesday, November 10, 2010
Funciona em qualquer projeto?
Wednesday, November 10, 2010
Orientado a
Objetos, sim.
Wednesday, November 10, 2010
E porquê ele me da mais trabalho?
Wednesday, November 10, 2010
Com o tempo você
descobre que seu
código é uma
porcaria.
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
Métricas (Relatórios)
Wednesday, November 10, 2010
MÉTRICAS
Wednesday, November 10, 2010
MÉTRICAS
‣ PHP Depend (Geral)
Wednesday, November 10, 2010
MÉTRICAS
‣ PHP Depend (Geral)
‣ PEAR Code Sniffer
Wednesday, November 10, 2010
MÉTRICAS
‣ PHP Depend (Geral)
‣ PEAR Code Sniffer
‣ PHP CPD
Wednesday, November 10, 2010
PHP DEPEND
Wednesday, November 10, 2010
PHP DEPEND
‣ Gera relatório de métricas
Wednesday, November 10, 2010
PHP DEPEND
‣ Gera relatório de métricas
‣ Quão complexo é seu código?
Wednesday, November 10, 2010
PHP DEPEND
‣ Gera relatório de métricas
‣ Quão complexo é seu código?
‣ Linhas comentadas/código
Wednesday, November 10, 2...
PHP DEPEND
‣ Gera relatório de métricas
‣ Quão complexo é seu código?
‣ Linhas comentadas/código
‣ Permite comparações fut...
PHP CODE SNIFFER
Wednesday, November 10, 2010
PHP CODE SNIFFER
‣ Checa padrão no código
Wednesday, November 10, 2010
PHP CODE SNIFFER
‣ Checa padrão no código
‣ Relatório de infrações
Wednesday, November 10, 2010
PHP CODE SNIFFER
Wednesday, November 10, 2010
PHP CODE SNIFFER
Wednesday, November 10, 2010
PHP CPD
Wednesday, November 10, 2010
PHP CPD
‣ Copy & Paste Detector
Wednesday, November 10, 2010
PHP CPD
‣ Copy & Paste Detector
‣ Busca “semelhanças”
Wednesday, November 10, 2010
PHP CPD
‣ Copy & Paste Detector
‣ Busca “semelhanças”
‣ Porquê elas são ruins:
Wednesday, November 10, 2010
PHP CPD
‣ Copy & Paste Detector
‣ Busca “semelhanças”
‣ Porquê elas são ruins:
‣ _ Repetiu? Encapsule.
Wednesday, November...
PHP CPD
‣ Copy & Paste Detector
‣ Busca “semelhanças”
‣ Porquê elas são ruins:
‣ _ Repetiu? Encapsule.
‣ _Vários pontos de...
PHP UNIT
Wednesday, November 10, 2010
PHP UNIT
‣ Cobertura de código
Wednesday, November 10, 2010
PHP UNIT
‣ Cobertura de código
‣ Quantos % dele é testado?
Wednesday, November 10, 2010
PHP UNIT
‣ Cobertura de código
‣ Quantos % dele é testado?
‣ Erros nos testes
Wednesday, November 10, 2010
PHP UNIT
‣ Cobertura de código
‣ Quantos % dele é testado?
‣ Erros nos testes
‣ Falha nos testes
Wednesday, November 10, 2...
PERCA MENOS TEMPO!
Tarefas repetidas
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
‣ Geração de pacotes
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
‣ Geração de pacotes
‣ Cópia de códigos
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
‣ Geração de pacotes
‣ Cópia de códigos
‣ Limpeza de arquivos
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
‣ Geração de pacotes
‣ Cópia de códigos
‣ Limpeza de arquivos
‣ Transferêcia de arquivos
Wednesday, Nov...
PERCA MENOS TEMPO!
‣ Geração de pacotes
‣ Cópia de códigos
‣ Limpeza de arquivos
‣ Transferêcia de arquivos
‣ Distribuição...
PERCA MENOS TEMPO!
‣ Geração de pacotes
‣ Cópia de códigos
‣ Limpeza de arquivos
‣ Transferêcia de arquivos
‣ Distribuição...
PERCA MENOS TEMPO!
Dev
Dev
APP
Clientes
Dev
Wednesday, November 10, 2010
PERCA MENOS TEMPO!
GP
Coordenar equipe
Garantir qualidade
Relatórios
Distruibuição
Wednesday, November 10, 2010
ALGUMAS OPÇÕES
Wednesday, November 10, 2010
PHING
Wednesday, November 10, 2010
PHING
Wednesday, November 10, 2010
PHING
Wednesday, November 10, 2010
PHING
Wednesday, November 10, 2010
RESUMINDO
Wednesday, November 10, 2010
RESUMINDO
Wednesday, November 10, 2010
RESUMINDO
Código do Projeto
Wednesday, November 10, 2010
RESUMINDO
Código do Projeto
Controle deVersões
Wednesday, November 10, 2010
RESUMINDO
Código do Projeto
Controle deVersões
Testes Unitários
Wednesday, November 10, 2010
RESUMINDO
Código do Projeto
Controle deVersões
Testes Unitários
Geração de Pacotes
Wednesday, November 10, 2010
RESUMINDO
Código do Projeto
Controle deVersões
Testes Unitários
Geração de Pacotes
Relatórios
Wednesday, November 10, 2010
RESUMINDO
Wednesday, November 10, 2010
RESUMINDO
‣ Guarda seus testes
Wednesday, November 10, 2010
RESUMINDO
‣ Guarda seus testes
‣ Automatiza eles
Wednesday, November 10, 2010
RESUMINDO
‣ Guarda seus testes
‣ Automatiza eles
‣ Gera alguns relatórios
Wednesday, November 10, 2010
RESUMINDO
Wednesday, November 10, 2010
RESUMINDO
‣ Gera pacote
Wednesday, November 10, 2010
RESUMINDO
‣ Gera pacote
‣ Distribui código para o cliente
Wednesday, November 10, 2010
RESUMINDO
‣ Gera pacote
‣ Distribui código para o cliente
‣ Automatiza geração de relatórios
Wednesday, November 10, 2010
VOLTANDO PRO COMEÇO ...
Wednesday, November 10, 2010
E o bambu?
Wednesday, November 10, 2010
E a integração contínua?
Wednesday, November 10, 2010
INTEGRAR SEMPRE?
Wednesday, November 10, 2010
EXECUTAR TUDO ISSO JUNTO?
Wednesday, November 10, 2010
E A CADA MUDANÇA?
Wednesday, November 10, 2010
EXEMPLO
Wednesday, November 10, 2010
EXEMPLO
SVN Hudson
PHP Depend
PHP Unit
PHPCode Sniffer
Phing
Wednesday, November 10, 2010
HUDSON
Wednesday, November 10, 2010
HUDSON
./java -jar hudson.war
Wednesday, November 10, 2010
HUDSON
Plugins:
- Hudson Clover Plugin
- Hudson JDepend Plugin
- Hudson Phing Plugin
- Hudson Subversion Plugin
- Hudson x...
HUDSON
Wednesday, November 10, 2010
HUDSON
Wednesday, November 10, 2010
HUDSON
Wednesday, November 10, 2010
HUDSON
Wednesday, November 10, 2010
DÚVIDAS?
Wednesday, November 10, 2010
LINKS
http://www.slideshare.net/augustopascutti (esses slides)
https://github.com/augustohp/ManoWars
http://hudson-ci.org/...
Próximos SlideShares
Carregando em…5
×

Testar é bom, integrar é ainda melhor

2.285 visualizações

Publicada em

Apresentação feita no Latinoware dando uma breve introdução sobre os conceitos de Integração contínuo e seus resultados de implementação no dia a dia num projeto fictício que está disponível para qualquer pessoa ver, executar e modificar.

Todas as ferramentas utilizadas são livres e as metodologias ou conceitos independente de linguagens e já estabelecidos no mercado.

Publicada em: Tecnologia
1 comentário
16 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
2.285
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
79
Comentários
1
Gostaram
16
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testar é bom, integrar é ainda melhor

  1. 1. TESTAR É BOM. INTEGRAR É MELHOR AINDA! Augusto Pascutti Wednesday, November 10, 2010
  2. 2. @AUGUSTOHP Wednesday, November 10, 2010
  3. 3. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? Wednesday, November 10, 2010
  4. 4. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? Wednesday, November 10, 2010
  5. 5. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil Wednesday, November 10, 2010
  6. 6. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo Wednesday, November 10, 2010
  7. 7. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade Wednesday, November 10, 2010
  8. 8. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade ‣ Automático ou não Wednesday, November 10, 2010
  9. 9. O QUE É INTEGRAÇÃO CONTÍNUA (IC)? ‣ Prática ágil ‣ Processo contínuo ‣ Controle de qualidade ‣ Automático ou não ‣ Reduz Wednesday, November 10, 2010
  10. 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 Wednesday, November 10, 2010
  11. 11. OK, O QUE É INTEGRAR? Wednesday, November 10, 2010
  12. 12. OK, O QUE É INTEGRAR? É testar! Ver como tudo funciona JUNTO! Wednesday, November 10, 2010
  13. 13. PORQUE INTEGRAR? Wednesday, November 10, 2010
  14. 14. PORQUE INTEGRAR? Existem 10 tipos de pessoas Wednesday, November 10, 2010
  15. 15. AS QUE ENTENDEM BINÁRIO Wednesday, November 10, 2010
  16. 16. E AS QUE NÃO ENTENDEM 10 Wednesday, November 10, 2010
  17. 17. E AS QUE NÃO ENTENDEM Espero que tenham entendido ... 10 Wednesday, November 10, 2010
  18. 18. A atualização não funciona ... Wednesday, November 10, 2010
  19. 19. Funciona.Algo deve estar errado. Wednesday, November 10, 2010
  20. 20. Hmn ... Wednesday, November 10, 2010
  21. 21. Rosquinha! Wednesday, November 10, 2010
  22. 22. NÃO IMPORTA O TIPO DE PROBLEMA Wednesday, November 10, 2010
  23. 23. PARA O CLIENTE É A MESMA COISA Wednesday, November 10, 2010
  24. 24. Não funciona! Wednesday, November 10, 2010
  25. 25. PORQUE INTEGRAR? Wednesday, November 10, 2010
  26. 26. ‣ Cliente mais satisfeito PORQUE INTEGRAR? Wednesday, November 10, 2010
  27. 27. ‣ Cliente mais satisfeito ‣ Métricas! PORQUE INTEGRAR? Wednesday, November 10, 2010
  28. 28. ‣ Cliente mais satisfeito ‣ Métricas! ‣ Aumento da qualidade PORQUE INTEGRAR? Wednesday, November 10, 2010
  29. 29. ‣ Cliente mais satisfeito ‣ Métricas! ‣ Aumento da qualidade ‣ Bugs detectados mais cedo PORQUE INTEGRAR? Wednesday, November 10, 2010
  30. 30. ‣ Cliente mais satisfeito ‣ Métricas! ‣ Aumento da qualidade ‣ Bugs detectados mais cedo ‣ Sem “release-caos” PORQUE INTEGRAR? Wednesday, November 10, 2010
  31. 31. PORQUE INTEGRAR? Wednesday, November 10, 2010
  32. 32. ‣ Seu software tem quantos bugs? PORQUE INTEGRAR? Wednesday, November 10, 2010
  33. 33. ‣ Seu software tem quantos bugs? ‣ Quantos % dele é testado? PORQUE INTEGRAR? Wednesday, November 10, 2010
  34. 34. ‣ Seu software tem quantos bugs? ‣ Quantos % dele é testado? ‣ Ele é complicado de manter? PORQUE INTEGRAR? Wednesday, November 10, 2010
  35. 35. Parece bom! Isso me custa quanto? Wednesday, November 10, 2010
  36. 36. Parece bom! Isso me custa quanto? Nada! Wednesday, November 10, 2010
  37. 37. Vai me dar mais trabalho né? Wednesday, November 10, 2010
  38. 38. Vai me dar mais trabalho né? Você já faz isso Wednesday, November 10, 2010
  39. 39. VOCÊ JÁ FAZ ISSO! Wednesday, November 10, 2010
  40. 40. Como assim? Wednesday, November 10, 2010
  41. 41. Você vai testar o que faz, certo? VOCÊ JÁ FAZ ISSO Wednesday, November 10, 2010
  42. 42. Você vai testar o que faz, certo? VOCÊ JÁ FAZ ISSO Wednesday, November 10, 2010
  43. 43. E o que você faz depois que vê que funcionou? Wednesday, November 10, 2010
  44. 44. Ué, removo os “lixos” ... Wednesday, November 10, 2010
  45. 45. E se um dia você tiver problemas justo com esse pedaço de código? Wednesday, November 10, 2010
  46. 46. Hmn....Testo de novo? Wednesday, November 10, 2010
  47. 47. PORQUÊ FAZER 2X A MESMA COISA? Wednesday, November 10, 2010
  48. 48. E SEVOCÊ GUARDASSE SEUS TESTES? Wednesday, November 10, 2010
  49. 49. Wednesday, November 10, 2010
  50. 50. Wednesday, November 10, 2010
  51. 51. LEMBRE DISSO: Wednesday, November 10, 2010
  52. 52. TODA ENTREGA GERA MAIS TRABALHO Wednesday, November 10, 2010
  53. 53. TODA ENTREGA GERA MAIS TRABALHO Wednesday, November 10, 2010
  54. 54. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes Wednesday, November 10, 2010
  55. 55. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta Wednesday, November 10, 2010
  56. 56. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta ‣ Mais Bugs! Wednesday, November 10, 2010
  57. 57. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta ‣ Mais Bugs! ‣ Mais complexo! Wednesday, November 10, 2010
  58. 58. TODA ENTREGA GERA MAIS TRABALHO ‣ Seu app já tinha bugs antes ‣ O código dele aumenta ‣ Mais Bugs! ‣ Mais complexo! ‣ Dica: contratar mais gente não é solução, é suicídio. (nesse caso) Wednesday, November 10, 2010
  59. 59. QUEREMOS SAIR DISSO Wednesday, November 10, 2010
  60. 60. QUEREMOS SAIR DISSO 0 11 23 34 45 56 68 79 90 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 Bugs Wednesday, November 10, 2010
  61. 61. PRA ISSO Wednesday, November 10, 2010
  62. 62. PRA ISSO 0 2 4 6 8 9 11 13 15 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 Bugs Wednesday, November 10, 2010
  63. 63. EM RESUMO: Wednesday, November 10, 2010
  64. 64. QUEREMOS QUE AS NOVAS ENTREGAS GEREM SOMENTE BUGS NOVOS Wednesday, November 10, 2010
  65. 65. QUEREMOS CÓDIGOS SIMPLES DE SE LER E POR CONSEQUÊNCIA, MANTER. Wednesday, November 10, 2010
  66. 66. QUEREMOS COISAS QUE FUNCIONEM (TESTADAS) Wednesday, November 10, 2010
  67. 67. Acho que você ta no lugar errado .... Wednesday, November 10, 2010
  68. 68. Wednesday, November 10, 2010
  69. 69. QUAL A MÁGICA? Wednesday, November 10, 2010
  70. 70. QUAL A MÁGICA? IntegreTeste mais. Sofra isso sem o cliente saber. Wednesday, November 10, 2010
  71. 71. PERCA MENOS TEMPO! Wednesday, November 10, 2010
  72. 72. PERCA MENOS TEMPO! Com testes ! Wednesday, November 10, 2010
  73. 73. TESTES Testar e jogar fora seu trabalho não é uma boa idéia, como vimos. Wednesday, November 10, 2010
  74. 74. TESTES UNITÁRIOS Wednesday, November 10, 2010
  75. 75. TESTES UNITÁRIOS Dão mais trabalho do que vc pensa Wednesday, November 10, 2010
  76. 76. TESTES UNITÁRIOS Dão mais resultado do que você imagina! Wednesday, November 10, 2010
  77. 77. TESTES UNITÁRIOS https://github.com/augustohp/ManoWars Wednesday, November 10, 2010
  78. 78. TESTES UNITÁRIOS Wednesday, November 10, 2010
  79. 79. TESTES UNITÁRIOS ‣ Melhoram a qualidade Wednesday, November 10, 2010
  80. 80. TESTES UNITÁRIOS ‣ Melhoram a qualidade ‣ Diminuem tempo com testes Wednesday, November 10, 2010
  81. 81. TESTES UNITÁRIOS ‣ Melhoram a qualidade ‣ Diminuem tempo com testes ‣ Melhoram seu código Wednesday, November 10, 2010
  82. 82. TESTES UNITÁRIOS ‣ Melhoram a qualidade ‣ Diminuem tempo com testes ‣ Melhoram seu código ‣ Você pensa antes de fazer Wednesday, November 10, 2010
  83. 83. TESTES UNITÁRIOS ‣ Melhoram a qualidade ‣ Diminuem tempo com testes ‣ Melhoram seu código ‣ Você pensa antes de fazer ‣ Identificam erros mais cedo Wednesday, November 10, 2010
  84. 84. TESTES UNITÁRIOS ‣ Melhoram a qualidade ‣ Diminuem tempo com testes ‣ Melhoram seu código ‣ Você pensa antes de fazer ‣ Identificam erros mais cedo ‣ Erros pontuais Wednesday, November 10, 2010
  85. 85. Dói pra instalar? Wednesday, November 10, 2010
  86. 86. TESTES UNITÁRIOS Wednesday, November 10, 2010
  87. 87. Funciona em qualquer projeto? Wednesday, November 10, 2010
  88. 88. Orientado a Objetos, sim. Wednesday, November 10, 2010
  89. 89. E porquê ele me da mais trabalho? Wednesday, November 10, 2010
  90. 90. Com o tempo você descobre que seu código é uma porcaria. Wednesday, November 10, 2010
  91. 91. PERCA MENOS TEMPO! Métricas (Relatórios) Wednesday, November 10, 2010
  92. 92. MÉTRICAS Wednesday, November 10, 2010
  93. 93. MÉTRICAS ‣ PHP Depend (Geral) Wednesday, November 10, 2010
  94. 94. MÉTRICAS ‣ PHP Depend (Geral) ‣ PEAR Code Sniffer Wednesday, November 10, 2010
  95. 95. MÉTRICAS ‣ PHP Depend (Geral) ‣ PEAR Code Sniffer ‣ PHP CPD Wednesday, November 10, 2010
  96. 96. PHP DEPEND Wednesday, November 10, 2010
  97. 97. PHP DEPEND ‣ Gera relatório de métricas Wednesday, November 10, 2010
  98. 98. PHP DEPEND ‣ Gera relatório de métricas ‣ Quão complexo é seu código? Wednesday, November 10, 2010
  99. 99. PHP DEPEND ‣ Gera relatório de métricas ‣ Quão complexo é seu código? ‣ Linhas comentadas/código Wednesday, November 10, 2010
  100. 100. PHP DEPEND ‣ Gera relatório de métricas ‣ Quão complexo é seu código? ‣ Linhas comentadas/código ‣ Permite comparações futuras Wednesday, November 10, 2010
  101. 101. PHP CODE SNIFFER Wednesday, November 10, 2010
  102. 102. PHP CODE SNIFFER ‣ Checa padrão no código Wednesday, November 10, 2010
  103. 103. PHP CODE SNIFFER ‣ Checa padrão no código ‣ Relatório de infrações Wednesday, November 10, 2010
  104. 104. PHP CODE SNIFFER Wednesday, November 10, 2010
  105. 105. PHP CODE SNIFFER Wednesday, November 10, 2010
  106. 106. PHP CPD Wednesday, November 10, 2010
  107. 107. PHP CPD ‣ Copy & Paste Detector Wednesday, November 10, 2010
  108. 108. PHP CPD ‣ Copy & Paste Detector ‣ Busca “semelhanças” Wednesday, November 10, 2010
  109. 109. PHP CPD ‣ Copy & Paste Detector ‣ Busca “semelhanças” ‣ Porquê elas são ruins: Wednesday, November 10, 2010
  110. 110. PHP CPD ‣ Copy & Paste Detector ‣ Busca “semelhanças” ‣ Porquê elas são ruins: ‣ _ Repetiu? Encapsule. Wednesday, November 10, 2010
  111. 111. PHP CPD ‣ Copy & Paste Detector ‣ Busca “semelhanças” ‣ Porquê elas são ruins: ‣ _ Repetiu? Encapsule. ‣ _Vários pontos de falha iguais Wednesday, November 10, 2010
  112. 112. PHP UNIT Wednesday, November 10, 2010
  113. 113. PHP UNIT ‣ Cobertura de código Wednesday, November 10, 2010
  114. 114. PHP UNIT ‣ Cobertura de código ‣ Quantos % dele é testado? Wednesday, November 10, 2010
  115. 115. PHP UNIT ‣ Cobertura de código ‣ Quantos % dele é testado? ‣ Erros nos testes Wednesday, November 10, 2010
  116. 116. PHP UNIT ‣ Cobertura de código ‣ Quantos % dele é testado? ‣ Erros nos testes ‣ Falha nos testes Wednesday, November 10, 2010
  117. 117. PERCA MENOS TEMPO! Tarefas repetidas Wednesday, November 10, 2010
  118. 118. PERCA MENOS TEMPO! Wednesday, November 10, 2010
  119. 119. PERCA MENOS TEMPO! ‣ Geração de pacotes Wednesday, November 10, 2010
  120. 120. PERCA MENOS TEMPO! ‣ Geração de pacotes ‣ Cópia de códigos Wednesday, November 10, 2010
  121. 121. PERCA MENOS TEMPO! ‣ Geração de pacotes ‣ Cópia de códigos ‣ Limpeza de arquivos Wednesday, November 10, 2010
  122. 122. PERCA MENOS TEMPO! ‣ Geração de pacotes ‣ Cópia de códigos ‣ Limpeza de arquivos ‣ Transferêcia de arquivos Wednesday, November 10, 2010
  123. 123. PERCA MENOS TEMPO! ‣ Geração de pacotes ‣ Cópia de códigos ‣ Limpeza de arquivos ‣ Transferêcia de arquivos ‣ Distribuição de código Wednesday, November 10, 2010
  124. 124. PERCA MENOS TEMPO! ‣ Geração de pacotes ‣ Cópia de códigos ‣ Limpeza de arquivos ‣ Transferêcia de arquivos ‣ Distribuição de código ‣ Geração de relatórios Wednesday, November 10, 2010
  125. 125. PERCA MENOS TEMPO! Dev Dev APP Clientes Dev Wednesday, November 10, 2010
  126. 126. PERCA MENOS TEMPO! GP Coordenar equipe Garantir qualidade Relatórios Distruibuição Wednesday, November 10, 2010
  127. 127. ALGUMAS OPÇÕES Wednesday, November 10, 2010
  128. 128. PHING Wednesday, November 10, 2010
  129. 129. PHING Wednesday, November 10, 2010
  130. 130. PHING Wednesday, November 10, 2010
  131. 131. PHING Wednesday, November 10, 2010
  132. 132. RESUMINDO Wednesday, November 10, 2010
  133. 133. RESUMINDO Wednesday, November 10, 2010
  134. 134. RESUMINDO Código do Projeto Wednesday, November 10, 2010
  135. 135. RESUMINDO Código do Projeto Controle deVersões Wednesday, November 10, 2010
  136. 136. RESUMINDO Código do Projeto Controle deVersões Testes Unitários Wednesday, November 10, 2010
  137. 137. RESUMINDO Código do Projeto Controle deVersões Testes Unitários Geração de Pacotes Wednesday, November 10, 2010
  138. 138. RESUMINDO Código do Projeto Controle deVersões Testes Unitários Geração de Pacotes Relatórios Wednesday, November 10, 2010
  139. 139. RESUMINDO Wednesday, November 10, 2010
  140. 140. RESUMINDO ‣ Guarda seus testes Wednesday, November 10, 2010
  141. 141. RESUMINDO ‣ Guarda seus testes ‣ Automatiza eles Wednesday, November 10, 2010
  142. 142. RESUMINDO ‣ Guarda seus testes ‣ Automatiza eles ‣ Gera alguns relatórios Wednesday, November 10, 2010
  143. 143. RESUMINDO Wednesday, November 10, 2010
  144. 144. RESUMINDO ‣ Gera pacote Wednesday, November 10, 2010
  145. 145. RESUMINDO ‣ Gera pacote ‣ Distribui código para o cliente Wednesday, November 10, 2010
  146. 146. RESUMINDO ‣ Gera pacote ‣ Distribui código para o cliente ‣ Automatiza geração de relatórios Wednesday, November 10, 2010
  147. 147. VOLTANDO PRO COMEÇO ... Wednesday, November 10, 2010
  148. 148. E o bambu? Wednesday, November 10, 2010
  149. 149. E a integração contínua? Wednesday, November 10, 2010
  150. 150. INTEGRAR SEMPRE? Wednesday, November 10, 2010
  151. 151. EXECUTAR TUDO ISSO JUNTO? Wednesday, November 10, 2010
  152. 152. E A CADA MUDANÇA? Wednesday, November 10, 2010
  153. 153. EXEMPLO Wednesday, November 10, 2010
  154. 154. EXEMPLO SVN Hudson PHP Depend PHP Unit PHPCode Sniffer Phing Wednesday, November 10, 2010
  155. 155. HUDSON Wednesday, November 10, 2010
  156. 156. HUDSON ./java -jar hudson.war Wednesday, November 10, 2010
  157. 157. HUDSON Plugins: - Hudson Clover Plugin - Hudson JDepend Plugin - Hudson Phing Plugin - Hudson Subversion Plugin - Hudson xUnit Plugin Wednesday, November 10, 2010
  158. 158. HUDSON Wednesday, November 10, 2010
  159. 159. HUDSON Wednesday, November 10, 2010
  160. 160. HUDSON Wednesday, November 10, 2010
  161. 161. HUDSON Wednesday, November 10, 2010
  162. 162. DÚVIDAS? Wednesday, November 10, 2010
  163. 163. LINKS http://www.slideshare.net/augustopascutti (esses slides) https://github.com/augustohp/ManoWars 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 Wednesday, November 10, 2010

×