tdc2008 integração contínua

27
Globalcode – Open4Education Integração Contínua Integração Contínua Victor Hugo Germano Victor Hugo Germano

Upload: victor-hugo-germano

Post on 24-Dec-2014

1.190 views

Category:

Technology


0 download

DESCRIPTION

Apresentação Realizada no TDC 2008 Floripa, por Victor Hugo Germano

TRANSCRIPT

Page 1: TDC2008 Integração Contínua

Globalcode – Open4Education

Integração ContínuaIntegração Contínua

Victor Hugo GermanoVictor Hugo Germano

Page 2: TDC2008 Integração Contínua

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

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

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

Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597118/

Page 6: TDC2008 Integração Contínua

Globalcode – Open4Educationhttp://flickr.com/photos/fairytalecinema/1813597126/

Page 7: TDC2008 Integração Contínua

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

Globalcode – Open4Education

Integração de SoftwareIntegração de Software

http://flickr.com/photos/movimente/2431646967

Page 9: TDC2008 Integração Contínua

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

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

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

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

Globalcode – Open4Education

Page 14: TDC2008 Integração Contínua

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

Globalcode – Open4Education

O ProcessoO Processo

http://malditacomedia.blogspot.com/2007/10/integrao-contnua.html

Page 16: TDC2008 Integração Contínua

Globalcode – Open4Education

Elementos do ProcessoElementos do Processo

• Construção Construção • TestesTestes• InspeçãoInspeção• FeedbackFeedback

Page 17: TDC2008 Integração Contínua

Globalcode – Open4Education

ConstruçãoConstrução

“E então Ele disse: Faça-se a Luz”

Page 18: TDC2008 Integração Contínua

Globalcode – Open4Education

ConstruçãoConstrução

Controle de Versão?!Controle de Versão?!

Page 19: TDC2008 Integração Contínua

Globalcode – Open4Education

TestesTestes

Page 20: TDC2008 Integração Contínua

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

Globalcode – Open4Education

InspeçãoInspeção

Page 22: TDC2008 Integração Contínua

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

Globalcode – Open4Education

IntelligenceIntelligenceSoftwareSoftware

Page 24: TDC2008 Integração Contínua

Globalcode – Open4Education

FeedbackFeedback

Page 25: TDC2008 Integração Contínua

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 26: TDC2008 Integração Contínua

Globalcode – Open4Education

Obrigado!Obrigado!

http://malditacomedia.blogspot.com

[email protected]

Page 27: TDC2008 Integração Contínua

Globalcode – Open4Education

Dúvidas?Dúvidas?

http://flickr.com/photos/oberazzi/318947873/