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á
Você lembra?
E agora?
Quem conhece essa figura?
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
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
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
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
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
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
Integração contínua
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
Elementos do Processo

  - C o ns truç ã o

  - T es te

  - I ns peç ã o

  - Feedba c k
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
                      - ...
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
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
   - ...
Feedback
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
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
Perguntas?
Obrigado!!!

Integração Contínua

  • 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á
  • 2.
  • 3.
  • 4.
  • 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 competirno 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
  • 11.
  • 12.
    Integração contínua - Sinc 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
  • 13.
    Elementos do Processo - C o ns truç ã o - T es te - I ns peç ã o - Feedba c k
  • 14.
    Construção Auto 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 Aná 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 - ...
  • 17.
  • 18.
    Alguns servidores deintegraçã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
  • 20.
  • 21.