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

Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileElias Nogueira
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - OverviewXpand IT
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updatedTharinda Liyanage
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredElias Nogueira
 
Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviçosElias Nogueira
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentClaudia Ring
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersVMware Tanzu
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Groupsuwalki24.pl
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati HolaszHolasz Kati
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven DevelopmentJohn Blum
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testingKapil Rajpurohit
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualityLarry Nung
 
Create an architecture for web test automation
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automationElias Nogueira
 

Mais procurados (20)

Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 
Automação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e MobileAutomação de Teste para REST, Web e Mobile
Automação de Teste para REST, Web e Mobile
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - Overview
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviços
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deployment
 
Level Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With TestcontainersLevel Up Your Integration Testing With Testcontainers
Level Up Your Integration Testing With Testcontainers
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
Testing types functional and nonfunctional - Kati Holasz
Testing types   functional and nonfunctional - Kati HolaszTesting types   functional and nonfunctional - Kati Holasz
Testing types functional and nonfunctional - Kati Holasz
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testing
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
Create an architecture for web test automation
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automation
 

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/