SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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
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!
CICLO DE VIDA DEVOPS
VAMOS FOCAR NO CICLO DEV
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
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.
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...
- 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)...
- 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)...
- 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)...
ESTÁGIO 01: VAMOS MELHORAR O BUILD
Submit
Code
Build
AGORA:
Versão correta automaticamente
disponível no repositório para
download
40 s
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...
ESTÁGIO 02: UNIT TESTS
Submit
Code
Build Unit
Tests
AGORA:
TemosTestes Unitários!!
40 s 01 m
200 testes
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
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
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.
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
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
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.
- 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)...
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
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!
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
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.
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
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
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!
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!
PIRÂMIDE DE TESTES
- 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)...
Redução de 02
dias para menos
de 07
minutos!!!!!!!!!!!!
- 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...
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
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/
OBRIGADA!
https://www.linkedin.com/in/mayfernandes/
https://github.com/mayribeirofernandes
https://gitlab.com/robot-framework-may-fernandes

Mais conteúdo relacionado

Mais procurados

Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...Edureka!
 
Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ SpotifyAndrii Dzynia
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaFrederico Augusto Do Carmo Moreira
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | EdurekaEdureka!
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaEdureka!
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
User Interface Testing. What is UI Testing and Why it is so important?
User Interface Testing. What is UI Testing and Why it is so important?User Interface Testing. What is UI Testing and Why it is so important?
User Interface Testing. What is UI Testing and Why it is so important?Maveryx
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
 
Software test automation
Software test automationSoftware test automation
Software test automationOksana Demediuk
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum ProjectsEliane Collins
 

Mais procurados (20)

Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Software testing
Software testingSoftware testing
Software testing
 
The Test Pyramid
The Test PyramidThe Test Pyramid
The Test Pyramid
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
 
Quality Built In @ Spotify
Quality Built In @ SpotifyQuality Built In @ Spotify
Quality Built In @ Spotify
 
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetivaPirâmide de testes mobile, dividindo seus testes de maneira efetiva
Pirâmide de testes mobile, dividindo seus testes de maneira efetiva
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Introduction to DevOps | Edureka
Introduction to DevOps | EdurekaIntroduction to DevOps | Edureka
Introduction to DevOps | Edureka
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | Edureka
 
Test Automation
Test AutomationTest Automation
Test Automation
 
User Interface Testing. What is UI Testing and Why it is so important?
User Interface Testing. What is UI Testing and Why it is so important?User Interface Testing. What is UI Testing and Why it is so important?
User Interface Testing. What is UI Testing and Why it is so important?
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
Software test automation
Software test automationSoftware test automation
Software test automation
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
 

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

Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosScrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
SonarQube
SonarQubeSonarQube
SonarQubeCDS
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasAmazon Web Services LATAM
 
DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftIgor Abade
 
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...Stefan Teixeira
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeWende Mendes
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
Eco-Sistema de desenvolvimento para mobile
Eco-Sistema de desenvolvimento para mobileEco-Sistema de desenvolvimento para mobile
Eco-Sistema de desenvolvimento para mobileMauro
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 

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

Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes AutomatizadosScrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
Scrum Gathering Rio 2014 - Melhorando sua Estratégia de Testes Automatizados
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Melhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernasMelhores práticas de CI/CD na construção de aplicações modernas
Melhores práticas de CI/CD na construção de aplicações modernas
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoft
 
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
Scrum Gathering Rio 2015 - Testando na nuvem a UI e o JavaScript de sua aplic...
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Como aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipeComo aumentar a produtividade da sua equipe
Como aumentar a produtividade da sua equipe
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
Eco-Sistema de desenvolvimento para mobile
Eco-Sistema de desenvolvimento para mobileEco-Sistema de desenvolvimento para mobile
Eco-Sistema de desenvolvimento para mobile
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 

Mais de Mayara Fernandes

Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Qa ops mtc 2020 - mayara fernandes
Qa ops   mtc 2020 - mayara fernandesQa ops   mtc 2020 - mayara fernandes
Qa ops mtc 2020 - mayara fernandesMayara Fernandes
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?Mayara Fernandes
 
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustTDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustMayara Fernandes
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
 

Mais de Mayara Fernandes (8)

Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Qa ops mtc 2020 - mayara fernandes
Qa ops   mtc 2020 - mayara fernandesQa ops   mtc 2020 - mayara fernandes
Qa ops mtc 2020 - mayara fernandes
 
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
#1 Robot Floripa - Robot Framework: O que é? Onde vive? Do que se alimenta?
 
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustTDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SC
 

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

  • 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. 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. CICLO DE VIDA DEVOPS
  • 4. VAMOS FOCAR NO CICLO DEV
  • 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. 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. 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. - 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. - 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. - 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. 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. 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. ESTÁGIO 02: UNIT TESTS Submit Code Build Unit Tests AGORA: TemosTestes Unitários!! 40 s 01 m 200 testes
  • 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. 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. 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. 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. 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. 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. - 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. 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. 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. 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. 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. 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. 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. 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. 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!
  • 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. Redução de 02 dias para menos de 07 minutos!!!!!!!!!!!!
  • 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. 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. 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/