SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Integração Contínua
           As possibilidades da automatização
        
                          Victor Hugo Germano
Eu? Quem?


    Victor Hugo Germano

    ●   Ciência da Computação – UFSC
    ●   Gestão Estratégica de TI – UNIVALI
    ●   Audaces Automação Industrial
    ●   Colunista da Revista Visão Ágil
    ●   Autor: A Maldita Comédia
    ●   Coding Dojo Floripa
                              
                                     http://malditacomedia.blogspot.com
Agenda
       ● Mitos
       ● Princípios

       ● O Processo de IC

       ● Controle de Versão

       ● Testes

       ● Inspeção

       ● Servidores

       ● Feedback

       ● Desafio




                         
                              http://malditacomedia.blogspot.com
 
            Definição de requisitos




            Análise e Design




 
    Tempo
            Desenvolvimento


            Teste/Correção
Integração de Software


    “No final é só juntar tudo e liberar 
    uma versão”


    Subestimado por:
     Gerentes
    ●



     Desenvolvedores 
    ●



     Clientes
    ●




                 E a realidade?


         
                    http://malditacomedia.blogspot.com
Integração de Software

      Riscos são subestimados
    ●




    ●    Dependências de subsistemas
    ●    Interpretação errada de requisitos 
    ●    Incompatibilidade entre interfaces
    ●    Testes demoram demais
    ●    Correções demoram mais ainda
    ●    Atrasos tornam­se comuns
    ●    O caos está instalado


          
                     http://malditacomedia.blogspot.com
Comunicação




           
                  http://malditacomedia.blogspot.com
Velocidade + Qualidade + Feedback = Valor de Negócio


    Para o Cliente:


     Resultados rápidos
    ●



     Aderência a regras de negócio
    ●



     Funcionamento correto da aplicação
    ●



     Satisfação 
    ●




                               
                                          http://malditacomedia.blogspot.com
Princípios Ágeis
●    Satisfação do Cliente como prioridade máxima, através da 
entrega contínua de valor agregado
●    A principal medida de progresso é software funcionando
●    Grupos interdisciplinares trabalham em conjunto com o cliente 
para o sucesso do projeto
●    Equipes autogerenciáveis, indivíduos motivados, comunicação 
e simplicidade são valores importantes
●    Melhoria Contínua para maximizar a produtividade e 
excelência da equipe


      Agile Manifesto Principles    
                                                http://malditacomedia.blogspot.com
Integração Contínua?

    ●    Desenvolvedores sincronizam códigos produzidos ao menos 
        uma vez ao dia
    ●    Testes garantem a consistência da base de código unificada
    ●    Métricas são aferidas
    ●    Relatórios gerados
    ●    Uma versão compilada, testada e pronta para uso é criada
    ●    Qualquer problema na construção da versão possuí 
        prioridade máxima
    ●    O código é constantemente revisado em busca de melhorias

                                      
                                         Paul Duval – Continuous Integration, 2007
O Processo




          
                 http://malditacomedia.blogspot.com
Objetivos

    ●    Redução de Riscos
    ●    Automatização de processos repetitivos
    ●    Gerar Software funcionando
    ●    Ampliar a confiança no produto
    ●    Ampliar a visibilidade do projeto




                                        
                                                  http://malditacomedia.blogspot.com
Elementos do Processo




              
Controle de Versão

    Ainda existem empresas sem controle de versão!!!

     ● CVS
     ● Subversion

     ● SVK

     ● Mercurial

     ● Bazaar

     ● Monotone




                              
                                       http://malditacomedia.blogspot.com
Testes Automatizados




“Desenvolver software sem testes automatizados é irresponsabilidade profissional”
    Bob Martin, 2008                   
                                                     http://malditacomedia.blogspot.com
Junit




 <junit fork=quot;yesquot; printsummary=quot;noquot; haltonfailure=quot;noquot;>
   <batchtest fork=quot;yesquot; todir=quot;${reports.test}quot;>
        <fileset dir=quot;${classesDir}quot;>  
           <include name=quot;**/*Test.classquot; />
        </fileset>
   </batchtest>
   <formatter type=quot;xmlquot; />
      <classpath refid=quot;classpath.testquot; />
 </junit>
 <junitreport todir=quot;${reports.test}quot;>
      <fileset dir=quot;${reports.test}quot;> 
          <include name=quot;TEST­*.xmlquot; />
      </fileset>
     
      <report todir=quot;${reports.test}quot; />           
 </junitreport>
Selenium

        ●   Grava Navegação
        ●   Simples de Usar
        ●   Integração com Firefox



     
Fitnesse       Wiki para Testes de Aceitação

                
Teste!! Teste!! Teste!!

     ●    JMeter                     ● Ejb3Unit
     ●    HttpUnit                   ● DBUnit
     ●    SQLUnit                    ● dbMonster


               http://java­source.net/open­source/testing­tools




                                          
Auditoria de código




                           
Findbugs




                
Checkstyle


    Padronização:


    ●    Convenções de nomenclatura
    ●    Tamanho de métodos
    ●    Notação Javadoc 
    ●    Duplicação de Código
    ●    Complexidade de branches



                                       
Quantas linhas de código são exercitadas por testes automatizados?




                                 
PMD


●    Possíveis Bugs – blocos try/catch/finally/switch vazios
●    Dead code – variáveis, parametros e métodos não utilizados
● Expressões muito complexas – blocos if desnecessários para 
laços for que poderiam ser laços while
●    Customização de regras:
Um grande número de métodos públicos e atributos declarados em uma 
classe pode significar que a classe precisa ser quebrada já que um esforço 
mais será necessário para testá­la.




                                        
E como juntar tudo isso??




                       
Servidores de Build




                       
Topa um desafio?


    Reduza o tempo de criação de uma versão!




     ●    Testes unitários realizados 
     ●    Documentações geradas
     ●    Métricas de qualidade aferidas
     ●    Script de banco de dados adequado 
     ●    Testes de integração realizados
               
Obrigado!




    http://malditacomedia.blogspot.com
            victorhg@gmail.com

                      
Dúvidas?




         

Contenu connexe

En vedette

Integração Contínua
Integração ContínuaIntegração Contínua
Integração ContínuaIgo Coelho
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega ContínuaMarlon Bernardes
 
Integracao Continua em projetos .NET
Integracao Continua em projetos .NETIntegracao Continua em projetos .NET
Integracao Continua em projetos .NETLuthiano Vasconcelos
 
Inteligência Comercial - RCS Business Intelligence
Inteligência Comercial - RCS Business IntelligenceInteligência Comercial - RCS Business Intelligence
Inteligência Comercial - RCS Business IntelligenceRicardoCouri
 
Inteligência de negócios
Inteligência de negóciosInteligência de negócios
Inteligência de negóciosFelipeyeger
 
Inteligência Competitiva_pequeno projeto
Inteligência Competitiva_pequeno projetoInteligência Competitiva_pequeno projeto
Inteligência Competitiva_pequeno projetoRoger William Campos
 
Planejame..
Planejame..Planejame..
Planejame..raigry
 
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011E-Consulting Corp.
 
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...Paulo Milreu
 
Apresentacao inteligencia negocios
Apresentacao inteligencia negociosApresentacao inteligencia negocios
Apresentacao inteligencia negociosjospiess
 
Inteligência de negócios cozer - fei
Inteligência de negócios   cozer - feiInteligência de negócios   cozer - fei
Inteligência de negócios cozer - feisergiofrodrigues
 
Inteligência de Negócios em Mídias Sociais - Como, Quando e Porque
Inteligência de Negócios em Mídias Sociais - Como, Quando e PorqueInteligência de Negócios em Mídias Sociais - Como, Quando e Porque
Inteligência de Negócios em Mídias Sociais - Como, Quando e PorqueEstêvão Soares Custodio
 
Inteligência de Negócios suportada pela TI
Inteligência de Negócios suportada pela TIInteligência de Negócios suportada pela TI
Inteligência de Negócios suportada pela TIPaulo Felix Jr.
 
Inteligência de Negócios no Poder Judiciário
Inteligência de Negócios no Poder JudiciárioInteligência de Negócios no Poder Judiciário
Inteligência de Negócios no Poder JudiciárioLeonardo Torres
 
Npa810 Inteligencia De Negocios
Npa810 Inteligencia De NegociosNpa810 Inteligencia De Negocios
Npa810 Inteligencia De Negociosrafadsn
 

En vedette (20)

Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
TDC2008 Integração Contínua
TDC2008 Integração ContínuaTDC2008 Integração Contínua
TDC2008 Integração Contínua
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, Gump
 
Da Integração à Entrega Contínua
Da Integração à Entrega ContínuaDa Integração à Entrega Contínua
Da Integração à Entrega Contínua
 
Integracao Continua em projetos .NET
Integracao Continua em projetos .NETIntegracao Continua em projetos .NET
Integracao Continua em projetos .NET
 
Integração Continua - Jenkins
Integração Continua - JenkinsIntegração Continua - Jenkins
Integração Continua - Jenkins
 
Inteligência Comercial - RCS Business Intelligence
Inteligência Comercial - RCS Business IntelligenceInteligência Comercial - RCS Business Intelligence
Inteligência Comercial - RCS Business Intelligence
 
Inteligência de negócios
Inteligência de negóciosInteligência de negócios
Inteligência de negócios
 
Inteligência Competitiva_pequeno projeto
Inteligência Competitiva_pequeno projetoInteligência Competitiva_pequeno projeto
Inteligência Competitiva_pequeno projeto
 
Planejame..
Planejame..Planejame..
Planejame..
 
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011
E-Book TI e a Estratégia Corporativa das Empresas E-Consulting Corp. 2011
 
Inteligência de Negócios
Inteligência de NegóciosInteligência de Negócios
Inteligência de Negócios
 
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...
Palestra Inteligência Competitiva: Porquê monitorar marcas nas mídias sociais...
 
Apresentacao inteligencia negocios
Apresentacao inteligencia negociosApresentacao inteligencia negocios
Apresentacao inteligencia negocios
 
Inteligência de negócios cozer - fei
Inteligência de negócios   cozer - feiInteligência de negócios   cozer - fei
Inteligência de negócios cozer - fei
 
Inteligência de Negócios em Mídias Sociais - Como, Quando e Porque
Inteligência de Negócios em Mídias Sociais - Como, Quando e PorqueInteligência de Negócios em Mídias Sociais - Como, Quando e Porque
Inteligência de Negócios em Mídias Sociais - Como, Quando e Porque
 
Inteligência de Negócios suportada pela TI
Inteligência de Negócios suportada pela TIInteligência de Negócios suportada pela TI
Inteligência de Negócios suportada pela TI
 
Inteligência de Negócios no Poder Judiciário
Inteligência de Negócios no Poder JudiciárioInteligência de Negócios no Poder Judiciário
Inteligência de Negócios no Poder Judiciário
 
Npa810 Inteligencia De Negocios
Npa810 Inteligencia De NegociosNpa810 Inteligencia De Negocios
Npa810 Inteligencia De Negocios
 
Inteligência competitiva - palestra na FIERGS em julho de 2015
Inteligência competitiva - palestra na FIERGS em julho de 2015Inteligência competitiva - palestra na FIERGS em julho de 2015
Inteligência competitiva - palestra na FIERGS em julho de 2015
 

Similaire à Integração Contínua

Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)elliando dias
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesJefferson Moreira
 
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Daniel Wildt
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net MvcGiovanni Bassi
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaBreno Vitorino
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoValquíria Duarte D'Amato
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Elias Nogueira
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoIgor Sobreira
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Igor Abade
 
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso práticoDesenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso práticoelliando dias
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheElton Minetto
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdadesCristiano Caetano
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008Vando Batista
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vandogueste1a639
 

Similaire à Integração Contínua (20)

Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)Gestão de Projeto de Desenvolvimento Agil(XP)
Gestão de Projeto de Desenvolvimento Agil(XP)
 
IC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas DoentesIC Cuidando de Sistemas Doentes
IC Cuidando de Sistemas Doentes
 
Precisa testar? - Parte 1
Precisa testar? - Parte 1Precisa testar? - Parte 1
Precisa testar? - Parte 1
 
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
Just Java 2006 - Qualidade em Desenvolvimento Java para todos os gostos - Dan...
 
Introdução ao Asp.Net Mvc
Introdução ao Asp.Net MvcIntrodução ao Asp.Net Mvc
Introdução ao Asp.Net Mvc
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em Java
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 
Entrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao SucessoEntrega Contínua - do Zero ao Sucesso
Entrega Contínua - do Zero ao Sucesso
 
Desenvolvimento web ágil com Django
Desenvolvimento web ágil com DjangoDesenvolvimento web ágil com Django
Desenvolvimento web ágil com Django
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso práticoDesenvolvendo aplicações orientadas a testes de aceitação: um caso prático
Desenvolvendo aplicações orientadas a testes de aceitação: um caso prático
 
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCache
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Automacao de testes mitos e verdades
Automacao de testes mitos e verdadesAutomacao de testes mitos e verdades
Automacao de testes mitos e verdades
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vando
 

Integração Contínua

  • 1. Integração Contínua As possibilidades da automatização     Victor Hugo Germano
  • 2. Eu? Quem? Victor Hugo Germano ● Ciência da Computação – UFSC ● Gestão Estratégica de TI – UNIVALI ● Audaces Automação Industrial ● Colunista da Revista Visão Ágil ● Autor: A Maldita Comédia ● Coding Dojo Floripa     http://malditacomedia.blogspot.com
  • 3. Agenda ● Mitos ● Princípios ● O Processo de IC ● Controle de Versão ● Testes ● Inspeção ● Servidores ● Feedback ● Desafio     http://malditacomedia.blogspot.com
  • 4.   Definição de requisitos Análise e Design   Tempo Desenvolvimento Teste/Correção
  • 5. Integração de Software “No final é só juntar tudo e liberar  uma versão” Subestimado por:  Gerentes ●  Desenvolvedores  ●  Clientes ● E a realidade?     http://malditacomedia.blogspot.com
  • 6. Integração de Software   Riscos são subestimados ● ●  Dependências de subsistemas ●  Interpretação errada de requisitos  ●  Incompatibilidade entre interfaces ●  Testes demoram demais ●  Correções demoram mais ainda ●  Atrasos tornam­se comuns ●  O caos está instalado     http://malditacomedia.blogspot.com
  • 7. Comunicação     http://malditacomedia.blogspot.com
  • 8. Velocidade + Qualidade + Feedback = Valor de Negócio Para o Cliente:  Resultados rápidos ●  Aderência a regras de negócio ●  Funcionamento correto da aplicação ●  Satisfação  ●     http://malditacomedia.blogspot.com
  • 9. Princípios Ágeis ●  Satisfação do Cliente como prioridade máxima, através da  entrega contínua de valor agregado ●  A principal medida de progresso é software funcionando ●  Grupos interdisciplinares trabalham em conjunto com o cliente  para o sucesso do projeto ●  Equipes autogerenciáveis, indivíduos motivados, comunicação  e simplicidade são valores importantes ●  Melhoria Contínua para maximizar a produtividade e  excelência da equipe   Agile Manifesto Principles   http://malditacomedia.blogspot.com
  • 10. Integração Contínua? ●  Desenvolvedores sincronizam códigos produzidos ao menos  uma vez ao dia ●  Testes garantem a consistência da base de código unificada ●  Métricas são aferidas ●  Relatórios gerados ●  Uma versão compilada, testada e pronta para uso é criada ●  Qualquer problema na construção da versão possuí  prioridade máxima ●  O código é constantemente revisado em busca de melhorias     Paul Duval – Continuous Integration, 2007
  • 11. O Processo     http://malditacomedia.blogspot.com
  • 12. Objetivos ●  Redução de Riscos ●  Automatização de processos repetitivos ●  Gerar Software funcionando ●  Ampliar a confiança no produto ●  Ampliar a visibilidade do projeto     http://malditacomedia.blogspot.com
  • 14. Controle de Versão Ainda existem empresas sem controle de versão!!! ● CVS ● Subversion ● SVK ● Mercurial ● Bazaar ● Monotone     http://malditacomedia.blogspot.com
  • 16. Junit  <junit fork=quot;yesquot; printsummary=quot;noquot; haltonfailure=quot;noquot;>    <batchtest fork=quot;yesquot; todir=quot;${reports.test}quot;>         <fileset dir=quot;${classesDir}quot;>         <include name=quot;**/*Test.classquot; />         </fileset>    </batchtest>    <formatter type=quot;xmlquot; />       <classpath refid=quot;classpath.testquot; />  </junit>  <junitreport todir=quot;${reports.test}quot;>       <fileset dir=quot;${reports.test}quot;>  <include name=quot;TEST­*.xmlquot; />       </fileset>         <report todir=quot;${reports.test}quot; />    </junitreport>
  • 17. Selenium ● Grava Navegação ● Simples de Usar ● Integração com Firefox    
  • 18. Fitnesse Wiki para Testes de Aceitação    
  • 19. Teste!! Teste!! Teste!! ●  JMeter ● Ejb3Unit ●  HttpUnit ● DBUnit ●  SQLUnit ● dbMonster http://java­source.net/open­source/testing­tools    
  • 22. Checkstyle Padronização: ●  Convenções de nomenclatura ●  Tamanho de métodos ●  Notação Javadoc  ●  Duplicação de Código ●  Complexidade de branches    
  • 24. PMD ●  Possíveis Bugs – blocos try/catch/finally/switch vazios ●  Dead code – variáveis, parametros e métodos não utilizados ● Expressões muito complexas – blocos if desnecessários para  laços for que poderiam ser laços while ●  Customização de regras: Um grande número de métodos públicos e atributos declarados em uma  classe pode significar que a classe precisa ser quebrada já que um esforço  mais será necessário para testá­la.    
  • 27. Topa um desafio? Reduza o tempo de criação de uma versão! ●  Testes unitários realizados  ●  Documentações geradas ●  Métricas de qualidade aferidas ●  Script de banco de dados adequado  ●  Testes de integração realizados    
  • 28. Obrigado! http://malditacomedia.blogspot.com victorhg@gmail.com