1. I nteg ra ç ã o
C o ntínua
I g o C o elho
ig oc oelho@x pc e.o rg
w w w .ig o c oelho .c o m .br
w w w .x pc e.o rg
X P C E – eX trem e P ro g ra m m ing C ea rá
5. D efiniç ã o de requis itos
A ná lis e / D es ig n
C odific a ç ã o
T es tes
Fases do desenvolvimento
I nteg ra ç ã o
T em po
E ntreg a
6. Integração de software
- Ú ltim o es tá g io do des envo lvim ento
- T es ta r a pena s c o m o s o ftw a re ”pro nto ”
- Func io no u na m inha m á quina !
- Q ua lida de é um a s s et dis pens á vel
- Q ua lida de é res po ns a bilida de do Q A T ea m
- O M erc a do po de es pera r
7. A realidade
- R is c o s s ã o s ubs tim a do s
- I nterpreta ç ã o erra da de requis ito s
- I nc o m pa tibilida de entre interfa c es
- M utio s bug s na fa s e de integ ra ç ã o
- Q ua lida de é res po ns a bilida de do Q A T ea m
- T es tes dem o ra m dem a is
- A tra s o na entreg a
8. Desafio para competir no mercado
C om o? !
- R eduzir R is c o s
- R es po nder rá pido a m uda nç a s
- R eduzir c us to s
E s e nó s pudés s em o s reunir...
- V elo c ida de
- Q ua lida de
- I nfo rm a ç õ es pa ra to m a da de dec is õ es
9. D efiniç ã o de requis itos
A ná lis e / D es ig n
C o dific a ç ã o / T es te
I nteg ra ç ã o
C ic los de des envolvim ento
Desafio para competir no mercado
E ntreg a
10. Integração contínua
“I nteg ra ç ã o C o ntínua é um a prá tic a de
des envo lvim ento de s o ftw a re em que m em bro s de
um tim e integ ra m s eu tra ba lho frequentem ente,
no rm a lm ente c a da m em bro fa z integ ra ç õ es
dia ria m ente, c o nduzindo a m ultipla s integ ra ç õ es
diá ria s . C a da integ ra ç ã o é verific a da po r um build
a uto m á tic o (inc luindo tes tes ) pa ra detec ta r erro s o
m a is rá pido po s s ível.”
Martin Fowler
12. Integração contínua
- S inc ro niza ç ã o do c ó dig o pro duzido a o m eno s um a
vez a o dia
- T es tes g a ra ntem a c o ns is tênc ia da ba s e de
c ó dig o unific a da
- R ela tó rio s de qua lida de g era do s
a uto m a tic a m ente
- P ro blem a s na c o ns truç ã o do s o ftw a re tem
priorida de m á x im a
- Fa c ilm ente é po s s ível s a ber a s a úde do pro jeto
14. Construção
A uto m a ç ã o :
- A nt
- N A nt
- M a ven
- R ake
- M ake
C o ntro le de vers ã o :
- ... - CVS
- S ubvers io n
- G IT
- M erc uria l
- ...
15. Teste! Teste! Teste!
- J U nit
- P H P U nit
- D U nit
- T es t U nit pa ra R a ils
- S elenium
- W ebT es t
- Fit / Fitnes s e
16. Inspeção
A ná lis e E s tá tic a :
- PM D
- FindB ug s
- ... D uplic a ç ã o de C ó dig o :
- CPD
- S im ia n
- ...
C o m plex ida de / D ependênc ia s :
- S o urc eM o nito r
- J D epend
- J a va N C S S
- ...
18. Alguns servidores de integração
- H uds o n
- C ruis eC o ntro l
- A ntH ill
- C o ntinuum
- T ea m C ity
- B a m bo o
- L untbuild
19. Referências
Continuous Integration –
Improving Software Quality and Reducing Risk
Paul M. Duval, Steve Matyas, Andrew Glover
Open Java Testing Projects
http://java-source.net/open-source/testing-tools
ImproveIT
http://improveit.com.br/xp
Maldita comedia
http://malditacomedia.blogspot.com
Apresentação do Victor Hugo na TDC 2008
http://www.slideshare.net/victorhg/tdc2008-integrao-contnua-presentation
Martin Fowler – Continuous Integration
http://martinfowler.com/articles/continuousIntegration.html