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.

Qa ops mtc 2020 - mayara fernandes

Meus slides da palestra sobre QAOps no Minas Testing Conference 2020

  • Als Erste(r) kommentieren

Qa ops mtc 2020 - mayara fernandes

  1. 1. QAOps: O QA colaborando em um time DevOps Mayara “May” Fernandes
  2. 2. DevOps - CAMS 2. Crie processos que permita a você automatizar tudo que é possível automatizar! 4. Compartilhe todo o aprendizado e os resultados! 3. Meça os resultados e aproveite das métricas para prover ações de melhoria contínua! 1. Mude o seu mindset e foque nos princípios e boas práticas DevOps! #PraCegoVer A imagem mostra 4 círculos, um ligado ao outro formando um ciclo contínuo, o 1º círculo representa a cultura, o 2º círculo representa a automação, o 3º círculo representa as métricas e o 4º círculo representa o compartilhamento. Ref.: https://www.telehouse.com/2016/03/devops-how-a-culture-of-empathy-creates-massive-productivity/e/
  3. 3. CICLO DE VIDA DEVOPS #pracegover A imagem mostra um fluxo que não tem fim, são várias atividades uma após a outra e quando acaba a última, começa novamente a primeira, é um ciclo infinito. A 1ª atividade do ciclo é planejamento, a 2ª é codificar, a 3ª é construir, a 4ª é testar, essas 4 atividades são do grupo “Dev” de desenvolver e a 5ª atividade é lançar, a 6ª é implantar, a 7ª é operar e a última é monitorar, essas 4 atividades são do grupo “Ops” de operações. Esses dois grupos se unem e formam o ciclo infinito chamado “DevOps”.
  4. 4. VAMOS FOCAR NO CICLO DEV #pracegover A imagem mostra um ciclo com 4 atividades, a 1ª atividade do ciclo é planejamento, a 2ª é codificar, a 3ª é construir, a 4ª é testar, essas 4 atividades são do grupo “Dev” de desenvolver.
  5. 5. OS “CONTINUOUS” #pracegover A imagem mostra 3 linhas que representam as fases de desenvolvimento, a 1ª é a integração contínua, a 2ª é entrega contínua e a 3ª fase é a implantação contínua. Cada fase tem 4 estágios, o 1º estágio é controle de versão do código, o 2º estágio é a construção da aplicação, o 3º estágio são os testes em ambiente controlado e o último estágio é produção.
  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. Só que ... As vezes ele esquece, ou manda versão errada, ou demora pra liberar... #pracegover A imagem mostra um GIF animado de uma criança esperando alguma coisa impaciente.
  8. 8. NOSSO TIME ANTES (BASEADO EM FATOS REAIS)... #pracegover A imagem mostra um GIF animado com o personagem “Ace Ventura” dizendo “Tudo bem então!”. ➔ 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.
  9. 9. NOSSO TIME ANTES (BASEADO EM FATOS REAIS)... #pracegover A imagem mostra um GIF animado com um personagem de desenho animado trabalhando e dizendo “Nós trabalhamos muito. Nós jogamos muito.” ➔ 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 de fato executados!
  10. 10. NOSSO TIME ANTES (BASEADO EM FATOS REAIS)... #pracegover A imagem mostra emoji chateado. ➔ As vezes, quando implantamos a versão no cliente, ocorrem problemas na aplicação por causa do ambiente dele! “Na minha máquina funciona”... É, mas o cliente não vai comprar a sua máquina!
  11. 11. Estágio 02: Construção (build) automático #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no segundo estágio: a construção da aplicação e esse estágio tem um sinalizador de tempo de 40 segundos de duração.
  12. 12. NOSSO TIME HOJE! ➔ 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. Só que ... As vezes ele esquece, ou manda versão errada, ou demora pra liberar... #pracegover A imagem mostra um GIF animado de uma mulher dizendo “Item resolvido!” e fazendo o sinal de “check” com as mãos.
  13. 13. Estágio 03: Testes Unitários #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no terceiro estágio: os testes unitários e esse estágio tem um sinalizador de tempo de 1 minuto para 200 testes.
  14. 14. Estágio 03: Testes Unitários #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no terceiro estágio: os testes unitários e esse estágio tem um sinalizador de tempo de 1 minuto para 200 testes e também, o estágio está com um X vermelho indicando que houve falha na execução deste estágio.
  15. 15. Estágio 03: Testes Unitários #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no terceiro estágio: os testes unitários e esse estágio tem um sinalizador de tempo de 1 minuto para 200 testes e também, o estágio está agora com um OK verde indicando que houve sucesso na execução deste estágio.
  16. 16. NOSSO TIME HOJE! ➔ Não há testes unitários e, se existe algum, não são executados. #pracegover A imagem mostra um GIF animado de uma mulher dizendo “Item resolvido!” e fazendo o sinal de “check” com as mãos.
  17. 17. Estágio 04: Ambiente de Testes Controlado #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no quarto estágio: o ambiente de testes controlados e esse estágio tem um sinalizador de tempo de 1 minuto de duração, o estágio está agora com um OK verde indicando que houve sucesso na execução deste estágio.
  18. 18. Estágio 04: Ambiente de Testes Controlado ★ Para fazer o deploy nesse ambiente de testes controlado, 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!!!
  19. 19. NOSSO TIME HOJE! ➔ O QA tem um ambiente próprio na máquina dele. ➔ As vezes, quando implantamos a versão no cliente, ocorrem problemas na aplicação por causa do ambiente dele! #pracegover A imagem mostra um GIF animado de uma mulher dizendo “Item resolvido!” e fazendo o sinal de “check” com as mãos.
  20. 20. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no quinto estágio: os testes de API e esse estágio tem um sinalizador de tempo de 30 segundos de duração para 40 testes. Dos 60 testes que o QA executava na interface da aplicação, 40 eram possíveis de se fazer via API da aplicação. Estágio 05: Testes de API (back-end)
  21. 21. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no quinto estágio: os testes de API e esse estágio tem um sinalizador de tempo de 30 segundos de duração para 40 testes e também, o estágio está com um X vermelho indicando que houve falha na execução deste estágio. Estágio 05: Testes de API (back-end)
  22. 22. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no quinto estágio: os testes de API e esse estágio tem um sinalizador de tempo de 30 segundos de duração para 40 testes, o estágio está agora com um OK verde indicando que houve sucesso na execução deste estágio. Estágio 05: Testes de API (back-end)
  23. 23. NOSSO TIME HOJE! ➔ O QA executa os testes manualmente apenas pela interface do sistema. #pracegover A imagem mostra um GIF animado de uma mulher dizendo “Item resolvido!” e fazendo o sinal de “check” com as mãos.
  24. 24. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no sexto estágio: os testes de aceitação e esse estágio tem um sinalizador de tempo de 10 minutos de duração para 20 testes.Dos 60 testes que o QA executava na interface da aplicação, apenas 20 necessitavam ser testados via interface. Estágio 06: Testes de Aceitação (front-end)
  25. 25. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no sexto estágio: os testes de aceitação e esse estágio tem um sinalizador de tempo de 10 minutos de duração para 20 testes. Nesse estágio também há outros 2 círculos em cima dele, que representam sub-estágios paralelos a ele. Estágio 06: Testes de Aceitação (front-end)
  26. 26. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no sexto estágio: os testes de aceitação e esse estágio tem um sinalizador de tempo de 10 minutos de duração para 20 testes. Nesse estágio também há outros 2 círculos em cima dele, que representam sub-estágios paralelos a ele, porém um desses círculos está com um X vermelho indicando que houve falha na execução deste estágio. Estágio 06: Testes de Aceitação (front-end)
  27. 27. #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem o foco está no sexto estágio: os testes de aceitação e esse estágio tem um sinalizador de tempo de 10 minutos de duração para 20 testes. Nesse estágio também há outros 2 círculos em cima dele, que representam sub-estágios paralelos a ele, os 2 sub-estágios e o estágio estão agora com um OK verde indicando que houve sucesso na execução deste estágio. Estágio 06: Testes de Aceitação (front-end)
  28. 28. Pirâmide de Testes #pracegover A imagem mostra um triângulo dividido em 3 partes. A parte de baixo é a parte maior e corresponde aos testes unitários, a parte do meio de tamanho médio representa os testes de API e a parte de cima de tamanho menor representa os testes de interface. Há setas indicando que testes de interface são mais lentos e caros e os testes unitários são mais rápidos e baratos.
  29. 29. NOSSO TIME HOJE! ➔ 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 de fato executados! ➔ Testes de Regressão: Redução de 02 dias para menos de 07 minutos!!! #pracegover A imagem mostra um GIF animado de uma mulher dizendo “Item resolvido!” e fazendo o sinal de “check” com as mãos.
  30. 30. EU COMO QA GANHEI... ★ 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;
  31. 31. Próximos estágios... #pracegover A imagem tem 7 círculos em sequência que representam estágios da entrega contínua. Nessa imagem todos os estágios estão com um OK verde, indicando que todo o fluxo ocorreu com sucesso. O 7º estágio é um círculo maior que os demais, indicando que há vários outros estágios que podem ser executados após os testes e antes de fazer a implantação da aplicação em produção. O primeiro estágio, não citado nos slides anteriores, também aparece com OK em verde e representa a revisão de código feita pelos desenvolvedores após uma submissão de código.
  32. 32. 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: don’t 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/
  33. 33. OBRIGADA! https://www.linkedin.com/in/mayfernandes/ https://github.com/mayribeirofernandes https://gitlab.com/robot-framework-may-fernandes

×