Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a Minas Testing Conference - Entrega Contínua(20)

Anúncio

Mais de Samanta Cicilia(18)

Último(20)

Anúncio

Minas Testing Conference - Entrega Contínua

  1. 1 Alcançando Qualidade de Software: Entrega Contínua Samanta Cicilia
  2. 2 Samanta Cicilia E-mail:samycici@gmail.com Twitter: @samantacicilia Facebook: samanta.cicilia Linkedin: Samanta Cicilia GitHub: samycici Slideshare: samantacicilia testedesoftware.com blog.samantacicilia.com.br medium.com/@samantacicilia rtstreinamentos.com.br
  3. 3 Sumário 1. Sobre a Infoglobo 2. Entrega Contínua 3. Entrega Contínua na Infoglobo
  4. 4 SORTEIO!!!! Preencher o formulário em http://twixar.me/Yv5
  5. 5 Sobre a Infoglobo ● Focada no Impresso em processo de migração para o digital; ● Empresa sem Cultura Ágil (apenas em TI) ● Alguns produtos: http://twixar.me/Yv5
  6. 6 Sobre a Infoglobo ● Tecnologias e Plataformas: http://twixar.me/Yv5
  7. 7 Cenário Anterior ● Execução de Testes Unitários dependia de “boa vontade” ● Validação (manuais e automatizadas) das funcionalidades levando mais de 2 dias ● Correria para corrigir testes automatizados falhando (ou nem corrigir) ● Deploys feitos em PRD de forma manual pela equipe de INFRA http://twixar.me/Yv5
  8. 8 Cenário Anterior ● Demora de até 1 mês para colocar uma mudança em PRD ● Necessidade de uma Auditoria antes de uma versão estar disponível para PRD ● Erros em log eram ignorados http://twixar.me/Yv5
  9. 9 Entrega Contínua Manifesto Ágil http://twixar.me/Yv5
  10. 10 Algumas definições http://twixar.me/Yv5
  11. 11 Benefícios ● Autonomia aos times ● Reduzir erros ● Reduzir estresse ● Flexibilidade de Implantação ● Prática leva a perfeição ● Todo check-in é uma versão em potencial http://twixar.me/Yv5
  12. 12 Princípios ● Criar um processo de confiabilidade e repetitividade de entrega de versão ● Automatize quase tudo ● Mantenha tudo sob controle de versão ● Se é difícil, faça com mais frequência e amenize o sofrimento ● A qualidade DEVE estar presente desde o início http://twixar.me/Yv5
  13. 13 Princípios ● Pronto quer dizer versão entregue ● Todos são responsáveis pelo processo de entrega ● Melhoria Contínua http://twixar.me/Yv5
  14. 14 Exemplos ● Google: 8 minutos entre DEV e PRD ● Facebook: 2 vezes por dia ● Linkedin: 30 minutos entre DEV e PRD ● Etsy: 30 deploys por dia feitos por 200+ pessoas;
  15. 15 Pipeline de Implantação ● Manifestação automatizada do processo de levar o software do controle de versão até os usuários. http://twixar.me/Yv5
  16. 16 Pipeline de Implantação
  17. 17 Práticas ● Compile seus binários somente uma vez ● Faça a implementação da mesma maneira em cada ambiente ● Use Smoke Tests ● Implante em uma cópia de Produção ● Cada mudança deve ser propagada pelo pipeline instantaneamente ● Se qualquer parte do pipeline falhar, pare o processo http://twixar.me/Yv5
  18. 18 Nosso Pipeline Estágio de Commit Deploy DSV Smoke Tests Deploy QLT Testes Funcionais Testes de Performance Análise de Log Deploy PRD http://twixar.me/Yv5
  19. 19 Estágio de Commit ● Entrada para o Pipeline de Implantação ● Feedback para os devs ● Entrada: Código - Saída: Binários e Relatórios ● CUIDADO: poucos testes e qualidade de código ruim
  20. 20 Testes Funcionais Automatizados http://twixar.me/Yv5
  21. 21 Deploys ● Feitos da mesma maneira em qualquer ambiente ● Dependem da aprovação do estágio anterior
  22. 22 Testes de Performance Automatizados ● Scritps do JMeter ● Cenários pré-definidos ● Limite máximo aceitável de tempo http://twixar.me/Yv5
  23. 23 Testes de Performance Automatizados http://twixar.me/Yv5
  24. 24 Análise de Log ● Logs da Aplicação ● Sumarização do TOP 15 erros que mais ocorreram ● Verificação de erros 404 e 50X ● Envio de e-mail para todos os responsáveis ● Tomada de decisão se o processo vai até o final (Deploy em PRD) ● Muito importante para os produtos mais antigos ● Preocupação de INFRA
  25. 25 Análise de Log http://twixar.me/Yv5
  26. 26 Análise de Log http://twixar.me/Yv5
  27. 27 Já implementados ● TIBCO ● Aplicações Tomcat (Java & Grails) ● Apache ● Varnish ● Solr ● 63 pipelines http://twixar.me/Yv5
  28. 28 SUCCESS http://twixar.me/Yv5
  29. 29 FAIL http://twixar.me/Yv5
  30. 30 Alguns Resultados ● Deploy em PRD NÃO é mais um evento temido ● Facilidade na identificação da causa de erros em PRD ● Replicabilidade do Processo ● Feedback ● Validação diluída no processo, não precisamos mais de vários dias para os testes ● Abertura de Solicitação de Deploy automatizada
  31. 31 Alguns Resultados ● Análise de Log parte do processo de todos os produtos ● Deploys automatizados em PRD feitos por Atendimento Especializado (utilizando Jenkins) ● Não é mais necessária auditoria antes dos Deploys em PRD ● Deploy em PRD pode ser feito a qualquer momento ● Sem erros gerados por intervenção manual
  32. 32 Alguns Resultados http://twixar.me/Yv5 O Pacote 16572 levou 2 horas entre Estágio de Commit e Deploy em PRD
  33. 33 Alguns Resultados http://twixar.me/Yv5
  34. 34 http://twixar.me/Yv5
  35. 35 Desafios ● Acabar com os mitos: ○ Testes “atrasam” o processo ○ Custo da Qualidade é alto demais ○ “Só está quebrando um teste, não precisa investigar” ● Testes Unitários ● DevOps ● Agilidade na Organização http://twixar.me/Yv5
  36. 36 Próxima Fase http://twixar.me/Yv5
  37. 37 Próxima Fase ● Desenvolvedores fazendo Deploys em PRD ● Projetos desenvolvidos por Fornecedores no Pipeline ● Levar o conhecimento de Entrega Contínua para todos os times ● Implementar Pipeline para Mobile ○ já começamos com Android http://twixar.me/Yv5
  38. 38 Referências ● http://manifestoagil.com.br/ ● The Facebook Release Process ● Continuous Delivery at Google ● The Evolution of Continuous Delivery at Scale @ Linkedin ● Deploying the Netflix API http://twixar.me/Yv5
  39. 39 Dica!!! http://twixar.me/Yv5
  40. 40 Selenium Webdriver Belo Horizonte: 8/8/2015 - 8:30 às 17:30 Av. Augusto de Lima, 527, Loja 2 – Centro – Belo Horizonte http://twixar.me/Yv5
  41. 41 Selenium Webdriver R$ 410,00 à vista ou 2x R$ 205,00 PROMOÇÃO. R$ 310,00 à vista ou 2x R$ 155,00 para inscrições até 20/07/2015 http://rtstreinamentos.com.br/contato/ http://twixar.me/Yv5
  42. 42 samycici@gmail.com

Notas do Editor

  1. 1 - qualquer pessoa pode colocar qualquer versão em qualquer ambiente; os testers não precisam ficar esperando que alguém disponibilize uma versão para teste 2 - não só erros de software, mas também de ambiente, arquivos de configuração, scripts de compilação, banco de dados, erro manual ao fazer deploy por infra 3 - entregar em PRD não devem ser um evento 4 - executar a aplicação em um ambiente novo deve ser simples, vinte servidores com configurações manuais diferentes 5- implantações feitas do mesmo jeito em qualquer ambiente e estratégia de testes 6 - não existe mais o evento “gerar pacote para PRD”
  2. 1 - entregar software deve ser tão simples quanto clicar em um botão (fornecer e gerenciar o ambiente, instalar a versão correta, configurar a aplicação) 2 - processo de compilação automatizado até onde precise de uma decisão manual 3 - 4 - ao invés de esperar meses para fazer um deploy, faça pequenos deploys (exemplo do problema no Extra) 5 - encontrando erros mais cedo, mais barata é a correção
  3. 6 - funcionalidade pronta quando está entregando valor aos usuários 7 - problemas com silos 8 -
Anúncio