Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)

Nessa palestra apresento alguns conceitos legais que um QA deve ter para ajudar o time no processo DevOps, principalmente ajudando na implantação dos testes automatizados em um ciclo de Entrega Contínua!!

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)

  1. 1. QAOPS O Q A C O M P É Z I N H O N O M U N D O D E VO P S
  2. 2. DEVOPS - CAMS Ref.: https://www.telehouse.com/2016/03/devops-how-a-culture-of-empathy-creates-massive-productivity/e/ 1. Mude o seu mindset e foque nos princípios e boas práticas DevOps! 2. Crie processos que permita a você automatizar tudo que é possível automatizar! 3. Meça os resultados e aproveite das métricas para prover ações de melhoria contínua! 4. Compartilhe todo o aprendizado e resultados!
  3. 3. CICLO DE VIDA DEVOPS
  4. 4. VAMOS FOCAR NO CICLO DEV
  5. 5. OS “CONTINUOUS” v 1.1 Continuous Delivery Continuous Integration Continuous Deployment Manual Deploy Automatic Deploy Source Control Build Staging Production Commit Changes Run Build and Unit Tests Deploy toTest Environtment Run Integration,Acceptance, Load and othersTests Deploy to Production Environtment
  6. 6. VAMOS EXEMPLIFICAR... Suponha que somos um time com DEV e QA e desenvolvemos um sistema web com front-end e back-end para geração de relatórios. Esse sistema tem uma interface com vários campos para o usuário preencher (front-end) e assim gerar um relatório específico computado (back-end) conforme as escolhas dele.
  7. 7. NOSSO TIME ANTES (BASEADO EM FATOS REAIS)... - Versões do sistema compiladas pelo desenvolvedor, na máquina dele e o QA precisa pedir para o DEV criar e liberar a versão para ele.  As vezes ele esquece, ou manda versão errada, ou demora pra liberar...
  8. 8. - Não há testes unitários e, se existe algum, não são executados. - O QA tem um ambiente próprio na máquina dele. - O QA executa os testes manualmente apenas pela interface do sistema. NOSSO TIME ANTES (BASEADO EM FATOS REAIS)...
  9. 9. - A cada liberação de versão ao cliente, o QA precisa testar uma suíte de 60 testes regressivos, isso hoje, pois esse número só vai aumentar!! Leva em torno de 2 dias, isso quando são executados! NOSSO TIME ANTES (BASEADO EM FATOS REAIS)...
  10. 10. - As vezes quando implanta a versão no cliente, ocorre problemas por causa do ambiente dele! “Na minha máquina funciona”... É, mas o cliente não vai comprar a sua máquina! NOSSO TIME ANTES (BASEADO EM FATOS REAIS)...
  11. 11. ESTÁGIO 01: VAMOS MELHORAR O BUILD Submit Code Build AGORA: Versão correta automaticamente disponível no repositório para download 40 s
  12. 12. NOSSO TIME HOJE (BASEADO EM FATOS REAIS)... - Versões do sistema compiladas pelo desenvolvedor, na máquina dele e o QA precisa pedir para o DEV criar e liberar a versão para ele.  As vezes ele esquece, ou manda versão errada, ou demora pra liberar...
  13. 13. ESTÁGIO 02: UNIT TESTS Submit Code Build Unit Tests AGORA: TemosTestes Unitários!! 40 s 01 m 200 testes
  14. 14. ESTÁGIO 02: UNIT TESTS Submit Code Build Unit Tests FEEDBACK: E falhou!!! Em menos de 2 minutos o desenvolvedor já fica sabendo que há problemas e nem libera para testes... E também já sabe onde é o problema pontualmente! 40 s 01 m 200 testes
  15. 15. ESTÁGIO 02: UNIT TESTS Submit Code Build Unit Tests FEEDBACK: Problema resolvido rapidamente e com custo baixo! Bugs em produção evitados! 40 s 01 m 200 testes
  16. 16. NOSSO TIME HOJE (BASEADO EM FATOS REAIS)... - Não há testes unitários e, se existe algum, não são executados. - O QA tem um ambiente próprio na máquina dele. - O QA executa os testes manualmente apenas pela interface do sistema.
  17. 17. ESTÁGIO 03: DEPLOY STAGING Submit Code Build Unit Tests AGORA: Temos um ambiente com os requisitos mínimos para rodar nossa aplicação. Vamos executar nossos próximos testes nele! 40 s Staging Environment 01 m 200 testes 1 m
  18. 18. ESTÁGIO 03: DEPLOY STAGING Submit Code Build Unit Tests AGORA: Para fazer o deploy nele, tivemos que criar um script de instalação e configuração da nossa aplicação!!! Ou seja, um passo confiável para termos um futuro deploy automatizado em produção!!! 40 s Staging Environment 01 m 200 testes 1 m
  19. 19. NOSSO TIME HOJE (BASEADO EM FATOS REAIS)... - Não há testes unitários e, se existe algum, não são executados. - O QA tem um ambiente próprio na máquina dele. - O QA executa os testes manualmente apenas pela interface do sistema.
  20. 20. - As vezes quando implanta a versão no cliente, ocorre problemas por causa do ambiente dele! “Na minha máquina funciona”... É, mas o cliente não vai comprar a sua máquina! NOSSO TIME HOJE (BASEADO EM FATOS REAIS)...
  21. 21. ESTÁGIO 04: API TESTS Submit Code Build Unit Tests AGORA: TemosTestes de API (ou integração, ou serviços) !! Dos 60 que tínhamos, 40 eram possíveis de fazer via API. 40 s API Tests 01 m 200 testes 30 s 40 testes Staging Environment 1 m
  22. 22. ESTÁGIO 04: API TESTS Submit Code Build Unit Tests 40 s API Tests 01 m 200 testes 30 s 40 testes Staging Environment 1 m FEEDBACK em menos de 04 minutos!
  23. 23. ESTÁGIO 04: API TESTS Submit Code Build Unit Tests 40 s FEEDBACK: Mais um problema resolvido rapidamente e com custo baixo! Mais bugs em produção evitados! 01 m 200 testes API Tests 30 s 40 testes Staging Environment 1 m
  24. 24. NOSSO TIME HOJE (BASEADO EM FATOS REAIS)... - Não há testes unitários e, se existe algum, não são executados. - O QA tem um ambiente próprio na máquina dele. - O QA executa os testes manualmente apenas pela interface do sistema.
  25. 25. ESTÁGIO 05: ACCEPTANCE TESTS Submit Code Build Unit Tests AGORA: TemosTestes de Aceitação (ou/e end2end, ou/e funcionais) !! Dos 60 que tínhamos, apenas 20 necessitam ser testados via interface. 40 s Acceptance Tests 01 m 200 testes 10 m 20 testes Staging Environment 1 m API Tests 30 s 40 testes
  26. 26. ESTÁGIO 05: ACCEPTANCE TESTS Submit Code Build Unit Tests AGORA: Achamos melhor paralelizar esses testes para ganhar alguns minutos!! Reduzimos 6 minutos!!! 40 s Acceptance Tests 01 m 200 testes 3 m 20 testes Staging Environment 1 m API Tests 30 s 40 testes
  27. 27. ESTÁGIO 05: ACCEPTANCE TESTS Submit Code Build Unit Tests 40 s Acceptance Tests 01 m 200 testes 3 m 20 testes Staging Environment 1 m API Tests 30 s 40 testes FEEDBACK em menos de 07 minutos!
  28. 28. ESTÁGIO 05: ACCEPTANCE TESTS Submit Code Build Unit Tests 40 s Acceptance Tests 01 m 200 testes 3 m 20 testes Staging Environment 1 m API Tests 30 s 40 testes FEEDBACK: Mais um problema resolvido rapidamente e com custo baixo! Mais bugs em produção evitados!
  29. 29. PIRÂMIDE DE TESTES
  30. 30. - A cada liberação de versão ao cliente, o QA precisa testar uma suíte de 60 testes regressivos, isso hoje, pois esse número só vai aumentar!! Leva em torno de 2 dias, isso quando são executados! NOSSO TIME HOJE (BASEADO EM FATOS REAIS)...
  31. 31. Redução de 02 dias para menos de 07 minutos!!!!!!!!!!!!
  32. 32. - 02 dias para automatizar as novas funcionalidades; - 02 dias para testes exploratórios, aumentando mais ainda a cobertura; - 02 dias para revisar a documentação; - Tranquilidade sabendo que testei em um ambiente parecido com o de produção; - Ajuda dos desenvolvedores que agora têm feedback rápido dos bugs encontrados no CI e eles mesmos se prontificam a analisar e corrigir; EU COMO QA GANHEI...
  33. 33. PRÓXIMOS ESTÁGIOS... Merge Request Build Unit Tests 40 s Acceptance Tests 01 m 200 testes 3 m 20 testes Staging Environment 1 m API Tests 30 s 40 testes OthersTests Automatic Deploy to Production Publish Documentation Code Review
  34. 34. PRIMEIROS PASSOS PARA O QA FAZER DEVOPS - Gostar do que faz; - Dialogar com Business, Devs e Ops; - Saber programar (sim, tire da cabeça a frase “não gosto de programar”!); - Entender "por debaixo dos panos" como funciona a aplicação que você está testando; - DRY: dont repeat yourself: tudo que você faz e é recorrente, você deve automatizar; - Entender como funciona o ambiente em que se encontra a aplicação; Ref.: http://www.keeptesting.com.br/2014/12/01/7-passos-para-se-tornar-um-devops/
  35. 35. OBRIGADA! https://www.linkedin.com/in/mayfernandes/ https://github.com/mayribeirofernandes https://gitlab.com/robot-framework-may-fernandes

×