![Page 2: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/2.jpg)
A Equipe…
![Page 3: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/3.jpg)
Trabalha unida…
![Page 4: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/4.jpg)
Na construção de um software…
![Page 5: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/5.jpg)
Vai para Produção? Pendrive nele!
![Page 6: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/6.jpg)
Super computador de Produção
![Page 7: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/7.jpg)
Experiência dos usuários
![Page 8: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/8.jpg)
Erro no sistema
![Page 9: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/9.jpg)
Algo está errado…
![Page 10: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/10.jpg)
![Page 11: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/11.jpg)
• Integração fica para o último estágio do desenvolvimento
• Testes feitos apenas com o software pronto
• Síndrome “mas funcionou na minha máquina!”
• “Ah, qualidade do software é responsabilidade do time de QA!”
• Riscos são sub-estimados
![Page 12: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/12.jpg)
• Interpretação errada de requisitos
• Incompatibilidade entre interfaces
• Muitos bugs na fase de integração
• Testes demoram demais
• Atraso na entrega
![Page 13: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/13.jpg)
HA!
![Page 14: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/14.jpg)
![Page 15: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/15.jpg)
![Page 16: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/16.jpg)
“Integração Contínua é uma prática de desenvolvimento de software onde os membros de um time integram seu trabalho freqüentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia.
Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível.
Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.
– Martin Fowler
![Page 17: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/17.jpg)
• Controle de versão
• Construção
• Teste
• Inspeção
• Feedback
![Page 18: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/18.jpg)
Controle de versão
• Local centralizado para armazenamento dos arquivos de um projeto, e também controlam as versões desses arquivos.
• Guardar versões é como ter um botão “desfazer” à nossa disposição!
• Quando diversas pessoas trabalham juntas em um projeto, o repositório torna-se o destino final de tudo o que é produzido.
![Page 19: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/19.jpg)
Construção (Build)
• Processo automatizado de construção da aplicação.
• Ferramentas disponíveis para essa etapa:
• ANT• MAVEN• MAKE
![Page 20: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/20.jpg)
Teste
• Unitários: jUnit
• Funcionais: Selenium
• Fitnesse
![Page 21: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/21.jpg)
Inspeção
• Análise estática• PMD• FindBugs
• Duplicação de código• CPD• Simian
• Complexidade/Dependências• Jdepend• JavaNCSS• SourceMonitor
![Page 22: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/22.jpg)
Feedback
• Extremme Feedback é uma maneira de disponibilizarmos as informações sobre o teste em dispositivos que chamem a atenção da equipe de desenvolvimento:
• Letreiros digitais
• Luzes no estilo de um semáforo
• Etc
![Page 23: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/23.jpg)
Servidores de Integração
• CruiseControl
• Continuum
• Hudson
![Page 24: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/24.jpg)
1. Sincronização do código produzido ao menos uma vez ao dia
2. Testes garantem a consistência da base de código unificada
3. Relatórios de qualidade gerados automaticamente
4. Problemas na construção do software tem prioridade máxima
5. Facilmente é possível saber a saúde do projeto
![Page 25: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/25.jpg)
![Page 26: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/26.jpg)
• PMD
• jUnit
• Apache jMeter
![Page 27: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/27.jpg)
• Hudson
• Selenium
• Tomcat
• Sonar
![Page 28: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/28.jpg)
Source-CodeRepository
Subversion(SVN)
Subversion(SVN)
ComponentRepository
(Maven)
ApplicationRepository
AdvancedHudson
AdvancedHudson
...
MavenMaven MavenMavenMavenMaven MavenMaven
MavenMaven
Complete QA TeamWork Environment with
Configuration Management
Developer 1Developer 2 Developer N Tester
ArchivaArchiva
Customer.java v1. Customer.java v2. Customer.java v3
Product.java v1. Product.java v2
Invoice.java v1
sales.jar v3.0 (Customer.java v2, Product.java v1, ...)
. sales.jar v3.01
. sales.jar v3.02
. sales.jar v.4
salesutils.war v1.0. salesutils.war v1.1
hibernate.jar v3.2
![Page 29: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/29.jpg)
QADatabase
ApplicationRepository
AdvancedHudson
AdvancedHudson
salesapp.ear v5.0 salesapp.ear v5.1asalesapp.ear v6.0
MavenMaven
QAApp Server
QAApp Server
Advanced Continuous Integration . daily build with schedule options. ear, war version control repository. batch tests (unit, coverage, functional, static, load, xref, ncss, etc.). project web-site generation. email alerts (build or test problems)
ProductionDatabase
ProductionApp Server
ProductionApp Server
PortalContent
Management
Deploy
One-Click Deploy
Project web-site“One-Click Publishing”
One-Click App “Production”Versioning (Example: v 5.1)
DeliveryAutomation
![Page 30: Integração Contínua com Hudson, Selenium e Sonar](https://reader038.vdocuments.mx/reader038/viewer/2022102721/54922961b479598e6a8b5609/html5/thumbnails/30.jpg)
Referências
• www.powerlogic.com.br
• www.google.com