tdc2008 integração contínua
DESCRIPTION
Apresentação Realizada no TDC 2008 Floripa, por Victor Hugo GermanoTRANSCRIPT
![Page 1: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/1.jpg)
Globalcode – Open4Education
Integração ContínuaIntegração Contínua
Victor Hugo GermanoVictor Hugo Germano
![Page 2: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/2.jpg)
Globalcode – Open4Education
Eu? Quem?Eu? Quem?
> Ciência da Computação – UFSCCiência da Computação – UFSC
> Gestão Estratégica de TI – UNIVALIGestão Estratégica de TI – UNIVALI
> Audaces Automação IndustrialAudaces Automação Industrial
> Editor: Revista Visão ÁgilEditor: Revista Visão Ágil
> Editor: InfoQ BrasilEditor: InfoQ Brasil
> Autor: A Maldita ComédiaAutor: A Maldita Comédia
> Victor Hugo GermanoVictor Hugo Germano
![Page 3: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/3.jpg)
Globalcode – Open4Education
Agenda
• MitosMitos• PrincípiosPrincípios• O Processo de ICO Processo de IC– Construção e Construção e
ControleControle– TestesTestes– InspeçãoInspeção– FeedbackFeedback
![Page 4: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/4.jpg)
Globalcode – Open4Education
Def
iniç
ão d
e re
quis
itos
Anál
ise
e D
esig
n
Des
envo
lvim
ento
Test
e/C
orre
ção
Tempo
Integração
Nos tempos da brilhantinaNos tempos da brilhantina
![Page 5: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/5.jpg)
Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597118/
![Page 6: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/6.jpg)
Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597126/
![Page 7: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/7.jpg)
Globalcode – Open4Education
• Último estágio do desenvolvimentoÚltimo estágio do desenvolvimento
• Testar apenas com o software prontoTestar apenas com o software pronto
• Funcionou na minha máquina!Funcionou na minha máquina!
• Qualidade é um Qualidade é um assetasset dispensável dispensável
• Qualidade é responsabilidade do Qualidade é responsabilidade do QA TeamQA Team
• O Mercado pode esperarO Mercado pode esperar
http://flickr.com/photos/fairytalecinema/1813597126/
•Integração de SoftwareIntegração de Software
![Page 8: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/8.jpg)
Globalcode – Open4Education
Integração de SoftwareIntegração de Software
http://flickr.com/photos/movimente/2431646967
![Page 9: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/9.jpg)
Globalcode – Open4Education
• Riscos são subestimadosRiscos são subestimados
• Dependências de subsistemas ?Dependências de subsistemas ?
• Interpretação errada de requisitos Interpretação errada de requisitos
• Incompatibilidade entre interfacesIncompatibilidade entre interfaces
• Muitos bugs na fase de integraçãoMuitos bugs na fase de integração
• Testes demoram demaisTestes demoram demais
• Correções demoram mais aindaCorreções demoram mais ainda
• Atrasos tornam-se comunsAtrasos tornam-se comuns
Integração de Software – A RealidadeIntegração de Software – A Realidade
http://flickr.com/photos/movimente/2431646967
![Page 10: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/10.jpg)
Globalcode – Open4Education
Novos DesafiosNovos Desafios
Competir em um mercado que Competir em um mercado que nãonão quer esperar quer esperar
Mas como??!!Mas como??!!
Reduzir Riscos do desenvolvimento
Responder rápido às mudanças
Reduzir custos de produção
![Page 11: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/11.jpg)
Globalcode – Open4Education
E se nós pudéssemos...E se nós pudéssemos...
ReunirReunir
• VelocidadeVelocidade
• QualidadeQualidade
• Informações para tomada de decisãoInformações para tomada de decisão
![Page 12: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/12.jpg)
Globalcode – Open4Education
Valor de NegócioValor de Negócio
• Resultados rápidosResultados rápidos
• Aderência aos requisitosAderência aos requisitos
• O Software corretoO Software correto
• Satisfação do clienteSatisfação do cliente
![Page 13: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/13.jpg)
Globalcode – Open4Education
![Page 14: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/14.jpg)
Globalcode – Open4Education
Integração Contínua?Integração Contínua? Desenvolvedores sincronizam códigos produzidos ao menos Desenvolvedores sincronizam códigos produzidos ao menos
uma vez ao diauma vez ao dia
Testes garantem a consistência da base de código unificadaTestes garantem a consistência da base de código unificada
Relatórios de qualidade gerados automaticamenteRelatórios de qualidade gerados automaticamente
Uma versão compilada, testada e pronta para uso é criadaUma versão compilada, testada e pronta para uso é criada
Problemas na construção do software têm Problemas na construção do software têm prioridade prioridade
máximamáxima
Facilmente é possível saber a saúde do projetoFacilmente é possível saber a saúde do projeto
Paul Duval – Continuous Integration, 2007
![Page 15: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/15.jpg)
Globalcode – Open4Education
O ProcessoO Processo
http://malditacomedia.blogspot.com/2007/10/integrao-contnua.html
![Page 16: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/16.jpg)
Globalcode – Open4Education
Elementos do ProcessoElementos do Processo
• Construção Construção • TestesTestes• InspeçãoInspeção• FeedbackFeedback
![Page 17: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/17.jpg)
Globalcode – Open4Education
ConstruçãoConstrução
“E então Ele disse: Faça-se a Luz”
![Page 18: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/18.jpg)
Globalcode – Open4Education
ConstruçãoConstrução
Controle de Versão?!Controle de Versão?!
![Page 19: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/19.jpg)
Globalcode – Open4Education
TestesTestes
![Page 20: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/20.jpg)
Globalcode – Open4Education
Teste! Teste! Teste!Teste! Teste! Teste!
• JunitJunit
• HttpUnitHttpUnit
• SQLUnitSQLUnit
• Ejb3UnitEjb3Unit
• DBUnitDBUnit
• dbMonsterdbMonster
• JmeterJmeter• Fit/FitnesseFit/Fitnesse
![Page 21: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/21.jpg)
Globalcode – Open4Education
InspeçãoInspeção
![Page 22: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/22.jpg)
Globalcode – Open4Education
Duplicação de CódigoDuplicação de Código– CPDCPD– SimianSimian
Análise EstáticaAnálise Estática– PMDPMD– FindbugsFindbugs
Complexidade / DependênciasComplexidade / Dependências– SourcemonitorSourcemonitor– JdependJdepend– JavancssJavancss
InspeçãoInspeção
![Page 23: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/23.jpg)
Globalcode – Open4Education
IntelligenceIntelligenceSoftwareSoftware
![Page 24: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/24.jpg)
Globalcode – Open4Education
FeedbackFeedback
![Page 25: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/25.jpg)
Globalcode – Open4Education
ReferênciasReferênciasContinuous Integration – Improving Software Quality and Reducing RiskPaul M. Duval, Steve Matyas, Andrew Glover
http://malditacomedia.blogspot.com/search/label/IntegraçãoContínua
Martin Fowler – Continuous Integrationhttp://martinfowler.com/articles/continuousIntegration.html
Revista Visão Ágil – Edição 04http://visaoagil.com/downloads/edicoes/VA_04.pdf
Open Java Testing Projectshttp://java-source.net/open-source/testing-toolshttp://java-source.net/open-source/testing-tools
![Page 27: TDC2008 Integração Contínua](https://reader034.vdocuments.com.br/reader034/viewer/2022052321/549abc8fb479593d098b45cd/html5/thumbnails/27.jpg)
Globalcode – Open4Education
Dúvidas?Dúvidas?
http://flickr.com/photos/oberazzi/318947873/