tdc2008 integração contínua
Post on 24-Dec-2014
1.191 Views
Preview:
DESCRIPTION
TRANSCRIPT
Globalcode – Open4Education
Integração ContínuaIntegração Contínua
Victor Hugo GermanoVictor Hugo Germano
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
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
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
Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597118/
Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597126/
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
Globalcode – Open4Education
Integração de SoftwareIntegração de Software
http://flickr.com/photos/movimente/2431646967
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
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
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
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
Globalcode – Open4Education
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
Globalcode – Open4Education
O ProcessoO Processo
http://malditacomedia.blogspot.com/2007/10/integrao-contnua.html
Globalcode – Open4Education
Elementos do ProcessoElementos do Processo
• Construção Construção • TestesTestes• InspeçãoInspeção• FeedbackFeedback
Globalcode – Open4Education
ConstruçãoConstrução
“E então Ele disse: Faça-se a Luz”
Globalcode – Open4Education
ConstruçãoConstrução
Controle de Versão?!Controle de Versão?!
Globalcode – Open4Education
TestesTestes
Globalcode – Open4Education
Teste! Teste! Teste!Teste! Teste! Teste!
• JunitJunit
• HttpUnitHttpUnit
• SQLUnitSQLUnit
• Ejb3UnitEjb3Unit
• DBUnitDBUnit
• dbMonsterdbMonster
• JmeterJmeter• Fit/FitnesseFit/Fitnesse
Globalcode – Open4Education
InspeçãoInspeção
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
Globalcode – Open4Education
IntelligenceIntelligenceSoftwareSoftware
Globalcode – Open4Education
FeedbackFeedback
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
Globalcode – Open4Education
Obrigado!Obrigado!
http://malditacomedia.blogspot.com
victorhg@gmail.com
Globalcode – Open4Education
Dúvidas?Dúvidas?
http://flickr.com/photos/oberazzi/318947873/
top related