Integração Contínua com Hudson, Selenium e Sonar
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Integração Contínua com Hudson, Selenium e Sonar

on

  • 4,308 views

Integração Contínua com Hudson, Selenium e Sonar

Integração Contínua com Hudson, Selenium e Sonar

Statistics

Views

Total Views
4,308
Views on SlideShare
4,303
Embed Views
5

Actions

Likes
4
Downloads
58
Comments
0

1 Embed 5

http://www.linkedin.com 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Integração Contínua com Hudson, Selenium e Sonar Presentation Transcript

  • 1. IntegraçãoContínua com Hudson, Selenium e Sonar
    Arthur Cesar Oreana
    aoreana@gmail.com
    @arthur_oreana
  • 2. A Equipe…
  • 3. Trabalhaunida…
  • 4. Na construção de um software…
  • 5. VaiparaProdução? Pendrivenele!
  • 6. Super computador de Produção
  • 7. Experiência dos usuários
  • 8. Erro no sistema
  • 9. Algoestáerrado…
  • 10.
  • 11.
    • Integraçãoficapara o últimoestágio do desenvolvimento
    • 12. Testes feitosapenas com o software pronto
    • 13. Síndrome “masfuncionou na minhamáquina!”
    • 14. “Ah, qualidade do software é responsabilidade do time de QA!”
    • 15. Riscossão sub-estimados
    • Interpretaçãoerrada de requisitos
    • 16. Incompatibilidade entre interfaces
    • 17. Muitos bugs na fase de integração
    • 18. Testes demoramdemais
    • 19. Atraso na entrega
  • HA!
  • 20.
  • 21.
  • 22. “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
  • 23.
    • Controle de versão
    • 24. Construção
    • 25. Teste
    • 26. Inspeção
    • 27. Feedback
  • Controle de versão
    • Local centralizadoparaarmazenamento dos arquivos de um projeto, e tambémcontrolam as versõesdessesarquivos.
    • 28. Guardarversões é comoter um botão “desfazer” à nossadisposição!
    • 29. Quandodiversaspessoastrabalham juntas em um projeto, o repositóriotorna-se o destino final de tudo o que é produzido.
  • Construção (Build)
    • Processoautomatizado de construçãodaaplicação.
    • 30. Ferramentasdisponíveisparaessaetapa:
    • 31. ANT
    • 32. MAVEN
    • 33. MAKE
  • Teste
    • Unitários: jUnit
    • 34. Funcionais: Selenium
    • 35. Fitnesse
  • Inspeção
    • Análise estática
    • 36. PMD
    • 37. FindBugs
    • 38. Duplicação de código
    • 39. CPD
    • 40. Simian
    • 41. Complexidade/Dependências
    • 42. Jdepend
    • 43. JavaNCSS
    • 44. SourceMonitor
  • Feedback
    • ExtremmeFeedback é uma maneira de disponibilizarmos as informações sobre o teste em dispositivos que chamem a atenção da equipe de desenvolvimento:
    • 45. Letreiros digitais
    • 46. Luzes no estilo de um semáforo
    • 47. Etc
  • Servidores de Integração
    • CruiseControl
    • 48. Continuum
    • 49. Hudson
  • Sincronização do código produzido ao menos uma vez ao dia
    Testes garantem a consistência da base de código unificada
    Relatórios de qualidade gerados automaticamente
    Problemas na construção do software tem prioridade máxima
    Facilmente é possível saber a saúde do projeto
  • 50.
  • 51.
    • PMD
    • 52. jUnit
    • 53. Apache jMeter
    • Hudson
    • 54. Selenium
    • 55. Tomcat
    • 56. Sonar
  • 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
    Component
    Repository
    (Maven)
    Customer.java v1
    . Customer.java v2
    . Customer.java v3
    Product.java v1
    . Product.java v2
    Invoice.java v1
    Source-Code
    Repository
    Application
    Repository
    Archiva
    Complete QA TeamWorkEnvironmentwithConfiguration Management
    Subversion
    (SVN)
    Advanced
    Hudson
    Maven
    ...
    Maven
    Maven
    Maven
    Maven
    Developer 1
    Developer 2
    Developer N
    Tester
  • 57. QA
    Database
    salesapp.ear v5.0 salesapp.ear v5.1a
    salesapp.ear v6.0
    QA
    App Server
    Application
    Repository
    Portal
    Content
    Management
    Project web-site
    “One-Click Publishing”
    Deploy
    Advanced
    Hudson
    Delivery
    Automation
    Maven
    AdvancedContinuousIntegration. daily build withscheduleoptions
    . ear, war version controlrepository
    . batch tests(unit, coverage, functional, static, load, xref, ncss, etc.)
    . project web-site generation
    . email alerts (build ortestproblems)
    One-Click Deploy
    Production
    Database
    Production
    App Server
    One-Click App “Production”
    Versioning
    (Example: v 5.1)
  • 58. Referências
    • www.powerlogic.com.br
    • 59. www.google.com
  • Obrigado!
    Arthur Cesar Oreana
    aoreana@gmail.com
    arthur_oreana