Usando containers com auto-escala de testes

Elias Nogueira
Elias NogueiraLead Software Engineer at Waes
USANDO CONTAINER COM
AUTO-ESCALA PARA
EXECUÇÃO DE AUTOMAÇÃO WEB
@eliasnogueira
Problemas na execução de testes
automatizados para web
Compatibilidade
dos browsers
nrotestes
Tempo de execução
dos testes
tempo
Solução: Grid
Grid
Hub
Nós
Script de Teste
Envia Capacidades
NÓ Windows NÓ MacOSX NÓ Linux
HUB
Entende a capacidade
e envia para o nó correto
NÓ Windows NÓ MacOSX NÓ Linux
O que é
Paralelismo?
Mesmo teste em diferentes alvos
Diferentes testes em diferentes alvos
SCONTAINERS
SELENIUM
• Containers separados para hub e nós
• selenium-hub
• selenium-node-chrome
• selenium-node-firefox
• Necessidade de criar containers
adicionais para melhora do paralelismo
• Containers através da imagem elgalu/selenium
• Auto-escala de containers baseado na
quantidade de testes que será recebido
• Live Preview com VNC
• Gravação de Vídeos
• Dashboard
Suite de Teste
HUB
2 testes
Google Chrome
Execução sem auto-escala
Suite de Teste
HUB
4 testes
Google Chrome
Esperando 2 slots free....
Execução sem auto-escala
Suite de Teste
HUB
4 testes
Google Chrome
Execução sem auto-escala
Suite de Teste
HUB
4 testes
Google Chrome
Execução com auto-escala
Suite de Teste
HUB
4 testes
Google Chrome
Execução com auto-escala
Suite de Teste
HUB
Execução com auto-escala
Exemplo do auto-escala Zalenium
# Pull docker-selenium
docker pull elgalu/selenium
# Pull Zalenium
docker pull dosel/zalenium
# Run Zalenium
docker run --rm -ti --name zalenium -p 4444:4444 
-v /var/run/docker.sock:/var/run/docker.sock 
-v /tmp/videos:/home/seluser/videos 
--privileged dosel/zalenium start 
--screenWidth 1366 --screenHeight 768 --timeZone "America/Sao_Paulo” 
--desiredContainers 2 --maxDockerSeleniumContainers 10 --maxTestSessions 1
Usando containers com auto-escala de testes
Ganhos reais
min
Tempo atual para executar uma
suíte com 61 testes em uma grid
de 20 nós.
min
Tempo com abordagem de
execução local (sequencial)
de uma suíte com 61 testes.
Tempo de execução para 15 suítes
com 394 testes em grid
min
ProTip: Criar uma estratégia de
execução de testes em grid
• Dividir a execução em diversas suítes de teste
• Criar suítes de smoke e execute-as primeiro
• Entender a carga de execução (números de testes) e
definir a sua infraestrutura (nós)
Suíte de Testes
90 testes
90 testes
30 min
90 testes
30 min
90 testes
30 min
Tempo total: 30 min
Suíte de Testes
30 testes
30 testes
10 min
30 testes
10 min
30 testes
10 min
Tempo total: 10 min
Suíte de Testes
30 testes
Suíte de Testes
30 testes
OBRIGADO!
@eliasnogueira
https://github.com/eliasnogueira/public-speaking
Referências
Paralelismo com maven-surefire-plugin
https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
Paralelismo com TestNG suite
http://testng.org/doc/documentation-main.html#parallel-tests
Paralelismo com JUnit experimental ParallelComputer
http://techblog.constantcontact.com/software-development/parallelizing-junit-test-execution/
Docker Selenium
https://github.com/SeleniumHQ/docker-selenium
Zalenium
https://opensource.zalando.com/zalenium/
Elgalu
https://github.com/elgalu/docker-selenium
1 of 22

Recommended

Automação e virtualização de serviços by
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviçosElias Nogueira
2.2K views53 slides
De a máxima cobertura nos seus testes de API by
De a máxima cobertura nos seus testes de APIDe a máxima cobertura nos seus testes de API
De a máxima cobertura nos seus testes de APIElias Nogueira
3.2K views37 slides
API Testing following the Test Pyramid by
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test PyramidElias Nogueira
1.7K views51 slides
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p... by
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
1.2K views13 slides
Criando uma arquitetura para seus testes de API com RestAssured by
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
2.3K views42 slides
Criando uma grid para execução de testes paralelo com Appium by
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
1.4K views29 slides

More Related Content

What's hot

How to Automate API Testing by
How to Automate API TestingHow to Automate API Testing
How to Automate API TestingBruno Pedro
7.9K views27 slides
Api testing by
Api testingApi testing
Api testingKeshav Kashyap
30.2K views21 slides
Spring Boot Actuator by
Spring Boot ActuatorSpring Boot Actuator
Spring Boot ActuatorRowell Belen
2K views21 slides
JUnit & Mockito, first steps by
JUnit & Mockito, first stepsJUnit & Mockito, first steps
JUnit & Mockito, first stepsRenato Primavera
8.5K views55 slides
Cross-Browser-Testing with Protractor & Browserstack by
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & BrowserstackLeo Lindhorst
286 views25 slides
Arquitetura básica de testes para seu projeto Java by
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto JavaElias Nogueira
2.1K views23 slides

What's hot(20)

How to Automate API Testing by Bruno Pedro
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
Bruno Pedro7.9K views
Cross-Browser-Testing with Protractor & Browserstack by Leo Lindhorst
Cross-Browser-Testing with Protractor & BrowserstackCross-Browser-Testing with Protractor & Browserstack
Cross-Browser-Testing with Protractor & Browserstack
Leo Lindhorst286 views
Arquitetura básica de testes para seu projeto Java by Elias Nogueira
Arquitetura básica de testes para seu projeto JavaArquitetura básica de testes para seu projeto Java
Arquitetura básica de testes para seu projeto Java
Elias Nogueira2.1K views
Karate for Complex Web-Service API Testing by Peter Thomas by intuit_india
Karate for Complex Web-Service API Testing by Peter ThomasKarate for Complex Web-Service API Testing by Peter Thomas
Karate for Complex Web-Service API Testing by Peter Thomas
intuit_india6.2K views
Mocking in Java with Mockito by Richard Paul
Mocking in Java with MockitoMocking in Java with Mockito
Mocking in Java with Mockito
Richard Paul14.3K views
TDC2015: Testes em APIs REST com Rest-Assured by Júlio de Lima
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
Júlio de Lima1.3K views
Test automation by Xavier Yin
Test automationTest automation
Test automation
Xavier Yin1.4K views
Best practices for test automation by David Tzemach
Best practices for test automationBest practices for test automation
Best practices for test automation
David Tzemach176 views
Automated Testing vs Manual Testing by didev
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
didev3.3K views
Automated Testing with Agile by Ken McCorkell
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
Ken McCorkell5.8K views
DevCamp - O papel de um testador em uma equipe ágil by Elias Nogueira
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
Elias Nogueira7.1K views
BDD Approach with Karate Framework in Service Tests by kloia
BDD Approach with Karate Framework in Service TestsBDD Approach with Karate Framework in Service Tests
BDD Approach with Karate Framework in Service Tests
kloia132 views
Testcontainers - Geekout EE 2017 presentation by Richard North
Testcontainers - Geekout EE 2017 presentationTestcontainers - Geekout EE 2017 presentation
Testcontainers - Geekout EE 2017 presentation
Richard North2.4K views
BDD with Cucumber by Knoldus Inc.
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.15.9K views
Appium: Automation for Mobile Apps by Sauce Labs
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
Sauce Labs27.8K views

Similar to Usando containers com auto-escala de testes

Paralelize seus testes web e mobile para ter feedbacks mais rápidos by
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
704 views49 slides
De 0 a DevOps by
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOpsAmazon Web Services LATAM
307 views51 slides
Experimentos envolvendo ações de Rejuvenescimento de Software by
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareCarlos Eduardo
337 views32 slides
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP... by
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
748 views59 slides
Docker selenium by
Docker seleniumDocker selenium
Docker seleniumVictor Costa Melo
216 views41 slides
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop... by
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
127 views59 slides

Similar to Usando containers com auto-escala de testes(20)

Paralelize seus testes web e mobile para ter feedbacks mais rápidos by Elias Nogueira
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Elias Nogueira704 views
Experimentos envolvendo ações de Rejuvenescimento de Software by Carlos Eduardo
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de Software
Carlos Eduardo337 views
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP... by Renato Groff
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Renato Groff748 views
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop... by Renato Groff
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
Renato Groff127 views
TDC 2016 Floripa - Workshop docker by Rafael Gomes
TDC 2016 Floripa - Workshop dockerTDC 2016 Floripa - Workshop docker
TDC 2016 Floripa - Workshop docker
Rafael Gomes781 views
Integração Contínua com Hudson by Luis Reis
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
Luis Reis522 views
Uma breve introdução ao Terraform by Leandro Silva
Uma breve introdução ao TerraformUma breve introdução ao Terraform
Uma breve introdução ao Terraform
Leandro Silva167 views
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018 by Renato Groff
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
ASP.NET Core + Kubernetes + Azure - Community Bootcamp - Abril/2018
Renato Groff4.6K views
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose by Stefan Teixeira
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker ComposeScrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Scrum Gathering Rio 2016 - Conteinerizando Testes com Docker Compose
Stefan Teixeira1K views
Introdução-a-Docker-compactado.pdf by dadalt1
Introdução-a-Docker-compactado.pdfIntrodução-a-Docker-compactado.pdf
Introdução-a-Docker-compactado.pdf
dadalt14 views
Docker Swarm - Sua aplicação pronta para escalar by gustavomtborges
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalar
gustavomtborges86 views
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018 by Renato Groff
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Renato Groff71 views
Segurança Através de Gerência de Configurações by Jeronimo Zucco
Segurança Através de Gerência de ConfiguraçõesSegurança Através de Gerência de Configurações
Segurança Através de Gerência de Configurações
Jeronimo Zucco2.1K views
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018 by Renato Groff
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Renato Groff24 views
Ideais Cowabunga - Headless Testing com GhostDriver by Stefan Teixeira
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriver
Stefan Teixeira1K views

More from Elias Nogueira

Coach por Imersão - Buscando a excelência técnica com o time by
Coach por Imersão - Buscando a excelência técnica com o timeCoach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o timeElias Nogueira
882 views22 slides
O Agile Coach pode (e muitas vezes deve) ser técnico by
O Agile Coach pode (e muitas vezes deve) ser técnicoO Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnicoElias Nogueira
714 views19 slides
Create an architecture for web test automation by
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automationElias Nogueira
1.3K views26 slides
Como 4 Agile Coaches trabalham em uma Transformação Ágil by
Como 4 Agile Coaches trabalham em uma Transformação Ágil Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil Elias Nogueira
810 views26 slides
Papel do QA na Transformação Ágil by
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilElias Nogueira
1.2K views23 slides
BDD não é automação de teste - Scrum Gathering by
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringElias Nogueira
4.1K views31 slides

More from Elias Nogueira(20)

Coach por Imersão - Buscando a excelência técnica com o time by Elias Nogueira
Coach por Imersão - Buscando a excelência técnica com o timeCoach por Imersão - Buscando a excelência técnica com o time
Coach por Imersão - Buscando a excelência técnica com o time
Elias Nogueira882 views
O Agile Coach pode (e muitas vezes deve) ser técnico by Elias Nogueira
O Agile Coach pode (e muitas vezes deve) ser técnicoO Agile Coach pode (e muitas vezes deve) ser técnico
O Agile Coach pode (e muitas vezes deve) ser técnico
Elias Nogueira714 views
Create an architecture for web test automation by Elias Nogueira
Create an architecture for web test automationCreate an architecture for web test automation
Create an architecture for web test automation
Elias Nogueira1.3K views
Como 4 Agile Coaches trabalham em uma Transformação Ágil by Elias Nogueira
Como 4 Agile Coaches trabalham em uma Transformação Ágil Como 4 Agile Coaches trabalham em uma Transformação Ágil
Como 4 Agile Coaches trabalham em uma Transformação Ágil
Elias Nogueira810 views
Papel do QA na Transformação Ágil by Elias Nogueira
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
Elias Nogueira1.2K views
BDD não é automação de teste - Scrum Gathering by Elias Nogueira
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum Gathering
Elias Nogueira4.1K views
Improve Yourself -- Learn the Skills, Join the Community - Tests by Elias Nogueira
Improve Yourself -- Learn the Skills, Join the Community - TestsImprove Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - Tests
Elias Nogueira376 views
BDD não é Automação de Testes by Elias Nogueira
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
Elias Nogueira5.3K views
Como ter sucesso ministrando uma palestra técnica by Elias Nogueira
Como ter sucesso ministrando uma palestra técnicaComo ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnica
Elias Nogueira594 views
Quais são os steps de que deve conter na sua pipeline? by Elias Nogueira
Quais são os steps de que deve conter na sua pipeline?Quais são os steps de que deve conter na sua pipeline?
Quais são os steps de que deve conter na sua pipeline?
Elias Nogueira391 views
Testes em todos os niveis de planejamento by Elias Nogueira
Testes em todos os niveis de planejamentoTestes em todos os niveis de planejamento
Testes em todos os niveis de planejamento
Elias Nogueira644 views
Java Test Automation for REST, Web and Mobile by Elias Nogueira
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
Elias Nogueira1.6K views
Trust Your Pipeline - Automatically Testing and End-to-End Java Application by Elias Nogueira
Trust Your Pipeline - Automatically Testing and End-to-End Java ApplicationTrust Your Pipeline - Automatically Testing and End-to-End Java Application
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
Elias Nogueira972 views
Criando uma grid para execução de teste automatizado funcional e e2e by Elias Nogueira
Criando uma grid para execução de teste automatizado funcional e e2eCriando uma grid para execução de teste automatizado funcional e e2e
Criando uma grid para execução de teste automatizado funcional e e2e
Elias Nogueira816 views
A importancia de testes em todos os aspectos by Elias Nogueira
A importancia de testes em todos os aspectosA importancia de testes em todos os aspectos
A importancia de testes em todos os aspectos
Elias Nogueira360 views

Usando containers com auto-escala de testes