SlideShare uma empresa Scribd logo
contato@qualister.com.br 
(48) 3285-5615 
twitter.com/qualister 
facebook.com/qualister 
linkedin.com/company/qualister 
Automação 
de 
front-­‐end 
Web 
com 
métodos 
Ágeis 
Elias 
Nogueira 
elias.nogueira@qualister.com.br 
/ 
@eliasnogueira
Existe 
um 
projeto 
no 
GitHub 
com 
o 
que 
foi 
desenvolvido 
durante 
o 
workshop 
h7ps://github.com/eliasnogueira/automacao-­‐fontend-­‐caipiraagil
www.qualister.com.br 
Fundada 
em 
2007 
Mais 
de 
1.000 
clientes 
em 
todo 
o 
Brasil 
Mais 
de 
50 
cursos 
sobre 
teste 
de 
soEware 
Mais 
de 
3.000 
alunos 
formados
Front 
End 
x 
Back 
End 
Front 
End 
Tudo 
o 
que 
o 
usuário 
vê 
e 
consegue 
interagir. 
Geralmente 
criado 
(na 
web) 
com 
HTML, 
CSS 
e 
JavaScript. 
Back 
End 
O 
que 
processa 
as 
interações 
do 
usuário 
(Ex: 
cadastrar 
dados, 
trafegar 
dados 
de 
um 
serviço 
a 
outro, 
etc..) 
Geralmente 
desenvolvido 
em 
uma 
linguagem 
de 
programação
Teste 
Ágil 
Teste 
Ágil 
é 
uma 
práIca 
de 
Teste 
de 
SoKware 
que 
segue 
os 
princípios 
do 
desenvolvimento 
ágil
Teste 
Ágil
Estratégia 
Manutenibilidad 
e 
Portabilidade 
Baixo 
Nível 
Alto 
Nível
Verificação 
Verificação 
Iremos 
verificar 
padrões 
de 
HTML, 
CSS, 
JavaScript 
e 
boas 
prá_cas 
para 
deixar 
o 
front-­‐end 
mais 
leve. 
Validação 
Iremos 
validar 
se 
a 
aplicação 
funciona 
como 
especificado 
simulando 
a 
u_lização 
como 
um 
usuário, 
de 
forma 
automa_zada,
Dividindo 
em 
partes... 
W3Schools: 
verifica 
online 
HTML 
e 
CSS 
h7p://www.w3schools.com/website/web_validate.asp 
W3C 
Status: 
lista 
de 
diversos 
soEwares 
para 
automação 
h7p://www.w3.org/Status.html 
GTmetrix: 
analisa 
a 
velocidade/performance 
de 
uma 
página 
h7p://planned.by/quickloja/ 
Browser 
Diet: 
guia 
para 
perder 
peso 
no 
browser 
h7p://browserdiet.com/pt/
Interação 
1 
Analise 
o 
site 
abaixo 
no 
GTMetrix. 
Vamos 
discu_r 
os 
resultados 
apresentados 
h7p://planned.by/quickloja/
Automação 
da 
UI 
é 
Importante 
Pirâmide 
de 
Automação 
de 
Teste 
Michel 
Cohn 
(Succeding 
with 
Agile) 
h7p://www.mountaingoatsoEware.com/blog/the-­‐forgo7en-­‐layer-­‐of-­‐the-­‐test-­‐automa_on-­‐pyramid
Validação 
na 
UI 
Smoke 
Tests 
xBrowser 
Tes_ng 
Visual 
Regression 
Tes_ng 
Slide 
“roubado”do 
@stefanteixeira 
h7p://goo.gl/WKGO7X
Velocidade 
faz 
a 
diferença... 
E 
se 
você 
executasse 
todos 
os 
testes 
funcionais 
automa_zados 
via 
interface 
gráfica 
na 
sua 
build 
padrão? 
Muita 
demora 
no 
feedback 
do 
ciclo 
de 
CI
Vamos 
começar 
de 
tras 
pra 
frente... 
Xbowser 
Tes_ng 
com 
Selenium/WebDriver
Selenium/WebDriver 
API 
mais 
usada 
para 
desenvolvimento 
de 
testes 
automa_zados 
em 
front 
end 
web 
Diversas 
APIs/Frameworks 
usam 
ele 
“por 
baixo 
dos 
panos” 
Suporte 
nas 
principais 
linguagems 
Java, 
C#, 
Ruby, 
Python, 
JavaScript 
(Node.js) 
h7p://seleniumhq.org
Selenium/WebDriver 
Antes 
precisamos 
saber 
algumas 
coisas: 
-­‐ 
Fluxo 
de 
u_lização 
do 
usuário 
-­‐ 
Conhecer 
minimamente 
sobre 
HTML, 
CSS 
e 
JavaScript 
-­‐ 
Desenvolver 
em 
alguma 
linguagem 
e 
programação
Interação 
2 
Manualmente... 
1. Acessar 
a 
página 
h7p://planned.by/quickloja/ 
2. Preencher 
o 
campo 
usuário 
com 
elias.nogueira 
3. Preencher 
o 
campo 
senha 
com 
123 
4. Clicar 
no 
botão 
Entrar
Selenium/WebDriver
Interação 
3 
Manualmente... 
1. Acessar 
a 
página 
h7p://planned.by/quickloja/ 
2. Preencher 
o 
campo 
usuário 
com 
elias.nogueira 
3. Preencher 
o 
campo 
senha 
com 
123 
4. Clicar 
no 
botão 
Entrar 
5. Validar 
que 
está 
na 
área 
de 
usuário 
(???)
Selenium/WebDriver
Selenium/WebDriver 
Mas 
se 
precisarmos 
executar 
mais 
ações? 
Exemplos: 
-­‐ 
Efetuar 
login 
e 
cadastrar 
um 
produto 
-­‐ 
Efetuar 
login 
e 
consultar 
o 
estoque
Page 
Objects
Page 
Objects 
Cada 
página 
vira 
uma 
classe 
com 
ações 
(simples 
ou 
em 
conjunto) 
O 
Teste 
consome 
cada 
página 
e 
monta 
o 
fluxo 
de 
execução 
baseados 
pela 
página 
Ganho 
na 
centralização 
da 
manutenção, 
com 
redução 
na 
duplicação 
de 
código
Interação 
4 
Iremos 
transformar 
o 
Login 
em 
um 
Page 
Objects 
e 
criar 
uma 
classe 
de 
teste 
para 
a 
validação 
do 
login
Selenium/WebDriver
Interação 
5 
Crie 
um 
Page 
Objects 
para 
Categoria 
Iremos: 
1. Efetuar 
o 
login 
2. Cadastrar 
uma 
categoria
Interação 
5 
Pagina 
Login 
Pagina 
Menu 
Pagina 
Login 
Pagina 
Nova 
Categoria 
Pagina 
Categoria 
Teste
Vamos 
começar 
“do 
começo” 
Smoke 
Tests
Smoke 
Tests 
Pequeno 
conjunto 
de 
testes 
mais 
prioritários 
O 
pensamento 
é 
“sem 
isso 
não 
funcionar 
nem 
adianta 
fazer 
o 
deploy” 
Como 
em 
todos 
os 
outros 
testes, 
deve 
executar 
sempre 
o 
mais 
rápido 
possível
CasperJS 
Execução 
via 
headless 
browser 
U_liza 
PhantomJS 
e 
SlimerJS 
(Gecko) 
para 
navegação 
e 
testes 
Escrita 
de 
código 
em 
JavaScript 
Deixa 
a 
execução 
muito 
mais 
rápida 
h7p://casperjs.org
CasperJS 
Porque 
executaríamos 
testes 
headless? 
-­‐ 
Maior 
velocidade 
-­‐ 
Teste 
pode 
estar 
no 
ciclo 
de 
CI 
diário 
-­‐ 
Sem 
dependência 
de 
browser 
específico
Interação 
6 
Criaremos 
a 
validação 
do 
login 
com 
o 
CasperJS
CasperJS
Visual 
Regression 
Test 
Abordagem 
para: 
-­‐ 
Validar 
valores 
de 
CSS 
-­‐ 
Comparar 
Screenshots 
-­‐ 
Validar 
design 
responsivo 
Slide 
“roubado”do 
@stefanteixeira 
h7p://goo.gl/WKGO7X
Visual 
Regression 
Test 
Slide 
“roubado”do 
@stefanteixeira 
h7p://goo.gl/WKGO7X
Visual 
Regression 
Test 
Slide 
“roubado”do 
@stefanteixeira 
h7p://goo.gl/WKGO7X
Contatos 
elias.nogueira@qualister.com.br 
@eliasnogueira 
linkedin.com/in/eliasnoguiera 
slideshare.net/eliasnogueira 
(48) 
3285-­‐5615

Mais conteúdo relacionado

Mais procurados

DevCamp - O papel de um testador em uma equipe ágil
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 Nogueira
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
Ariane Izac
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
Samanta Cicilia
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
Kaizenko
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
SangIn Choung
 
TDC2015: Testes em APIs REST com Rest-Assured
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 Lima
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우
Young D
 
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
Dimitri Ponomareff
 
Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
Nivetha Padmanaban
 
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
Elias Nogueira
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
Kleitor Franklint Correa Araujo
 
Karate DSL
Karate DSLKarate DSL
Karate DSL
anil borse
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
onsoftwaretest
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
Naresh Jain
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
Patrick Monteiro
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
Elias Nogueira
 
Testes em todos os niveis de planejamento
Testes em todos os niveis de planejamentoTestes em todos os niveis de planejamento
Testes em todos os niveis de planejamento
Elias Nogueira
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
Carl Bruiners
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 

Mais procurados (20)

DevCamp - O papel de um testador em uma equipe ágil
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
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
katalon studio 툴을 이용한 GUI 테스트 자동화 가이드
 
TDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-AssuredTDC2015: Testes em APIs REST com Rest-Assured
TDC2015: Testes em APIs REST com Rest-Assured
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우
 
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 With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
 
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
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Karate DSL
Karate DSLKarate DSL
Karate DSL
 
ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2ISTQB, ISEB Lecture Notes- 2
ISTQB, ISEB Lecture Notes- 2
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Testes de ponta a ponta
Testes de ponta a pontaTestes de ponta a ponta
Testes de ponta a ponta
 
Testes em todos os niveis de planejamento
Testes em todos os niveis de planejamentoTestes em todos os niveis de planejamento
Testes em todos os niveis de planejamento
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 

Semelhante a Automação de Teste em Front End - Caipira Ágil

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
Qualister
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
Autotic
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
Samanta Cicilia
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
guestb9d145
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
iMasters
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Alexandre Tarifa
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Renato Groffe
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
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 Nogueira
 
pepinos do cliente no código de testes da aplicação com OSS
pepinos do cliente no código de testes da aplicação com OSSpepinos do cliente no código de testes da aplicação com OSS
pepinos do cliente no código de testes da aplicação com OSS
Rodrigo Urubatan
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
Wende Mendes
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
Wanderson Oliveira
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma JavaEteg
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
Fernanda Ferreira
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
Dr. Spock
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
Sandy Maciel
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
Ramon Durães
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Daniel Makiyama
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
Wellington Marion
 

Semelhante a Automação de Teste em Front End - Caipira Ágil (20)

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
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
 
pepinos do cliente no código de testes da aplicação com OSS
pepinos do cliente no código de testes da aplicação com OSSpepinos do cliente no código de testes da aplicação com OSS
pepinos do cliente no código de testes da aplicação com OSS
 
Uma breve introdução de play framework
Uma breve introdução de play frameworkUma breve introdução de play framework
Uma breve introdução de play framework
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 

Mais de Elias Nogueira

API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
Elias Nogueira
 
De a máxima cobertura nos seus testes de API
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 API
Elias Nogueira
 
Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testes
Elias Nogueira
 
Coach por Imersão - Buscando a excelência técnica com o time
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 Nogueira
 
O Agile Coach pode (e muitas vezes deve) ser técnico
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 Nogueira
 
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
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
Como 4 Agile Coaches trabalham em uma Transformação Ágil
Elias Nogueira
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
Elias Nogueira
 
BDD não é automação de teste - Scrum Gathering
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 Nogueira
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
Elias Nogueira
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
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 Nogueira
 
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...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Elias Nogueira
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
Elias Nogueira
 
Criando uma grid para execução de testes paralelo com Appium
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 Appium
Elias Nogueira
 
Como ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnicaComo ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnica
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?
Quais são os steps de que deve conter na sua pipeline?
Elias Nogueira
 
Tem que testar mesmo?
Tem que testar mesmo?Tem que testar mesmo?
Tem que testar mesmo?
Elias Nogueira
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile Coach
Elias Nogueira
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
Elias Nogueira
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
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 Nogueira
 

Mais de Elias Nogueira (20)

API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
 
De a máxima cobertura nos seus testes de API
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 API
 
Usando containers com auto-escala de testes
Usando containers com auto-escala de testesUsando containers com auto-escala de testes
Usando containers com auto-escala de testes
 
Coach por Imersão - Buscando a excelência técnica com o time
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
 
O Agile Coach pode (e muitas vezes deve) ser técnico
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
 
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
 
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
Como 4 Agile Coaches trabalham em uma Transformação Ágil
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 
BDD não é automação de teste - Scrum Gathering
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
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
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
 
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...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
BDD não é Automação de Testes
BDD não é Automação de TestesBDD não é Automação de Testes
BDD não é Automação de Testes
 
Criando uma grid para execução de testes paralelo com Appium
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 Appium
 
Como ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnicaComo ter sucesso ministrando uma palestra técnica
Como ter sucesso ministrando uma palestra técnica
 
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?
Quais são os steps de que deve conter na sua pipeline?
 
Tem que testar mesmo?
Tem que testar mesmo?Tem que testar mesmo?
Tem que testar mesmo?
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile Coach
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
 
Trust Your Pipeline - Automatically Testing and End-to-End Java Application
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
 

Automação de Teste em Front End - Caipira Ágil

  • 1. contato@qualister.com.br (48) 3285-5615 twitter.com/qualister facebook.com/qualister linkedin.com/company/qualister Automação de front-­‐end Web com métodos Ágeis Elias Nogueira elias.nogueira@qualister.com.br / @eliasnogueira
  • 2. Existe um projeto no GitHub com o que foi desenvolvido durante o workshop h7ps://github.com/eliasnogueira/automacao-­‐fontend-­‐caipiraagil
  • 3. www.qualister.com.br Fundada em 2007 Mais de 1.000 clientes em todo o Brasil Mais de 50 cursos sobre teste de soEware Mais de 3.000 alunos formados
  • 4. Front End x Back End Front End Tudo o que o usuário vê e consegue interagir. Geralmente criado (na web) com HTML, CSS e JavaScript. Back End O que processa as interações do usuário (Ex: cadastrar dados, trafegar dados de um serviço a outro, etc..) Geralmente desenvolvido em uma linguagem de programação
  • 5. Teste Ágil Teste Ágil é uma práIca de Teste de SoKware que segue os princípios do desenvolvimento ágil
  • 7. Estratégia Manutenibilidad e Portabilidade Baixo Nível Alto Nível
  • 8. Verificação Verificação Iremos verificar padrões de HTML, CSS, JavaScript e boas prá_cas para deixar o front-­‐end mais leve. Validação Iremos validar se a aplicação funciona como especificado simulando a u_lização como um usuário, de forma automa_zada,
  • 9. Dividindo em partes... W3Schools: verifica online HTML e CSS h7p://www.w3schools.com/website/web_validate.asp W3C Status: lista de diversos soEwares para automação h7p://www.w3.org/Status.html GTmetrix: analisa a velocidade/performance de uma página h7p://planned.by/quickloja/ Browser Diet: guia para perder peso no browser h7p://browserdiet.com/pt/
  • 10. Interação 1 Analise o site abaixo no GTMetrix. Vamos discu_r os resultados apresentados h7p://planned.by/quickloja/
  • 11. Automação da UI é Importante Pirâmide de Automação de Teste Michel Cohn (Succeding with Agile) h7p://www.mountaingoatsoEware.com/blog/the-­‐forgo7en-­‐layer-­‐of-­‐the-­‐test-­‐automa_on-­‐pyramid
  • 12. Validação na UI Smoke Tests xBrowser Tes_ng Visual Regression Tes_ng Slide “roubado”do @stefanteixeira h7p://goo.gl/WKGO7X
  • 13. Velocidade faz a diferença... E se você executasse todos os testes funcionais automa_zados via interface gráfica na sua build padrão? Muita demora no feedback do ciclo de CI
  • 14. Vamos começar de tras pra frente... Xbowser Tes_ng com Selenium/WebDriver
  • 15. Selenium/WebDriver API mais usada para desenvolvimento de testes automa_zados em front end web Diversas APIs/Frameworks usam ele “por baixo dos panos” Suporte nas principais linguagems Java, C#, Ruby, Python, JavaScript (Node.js) h7p://seleniumhq.org
  • 16. Selenium/WebDriver Antes precisamos saber algumas coisas: -­‐ Fluxo de u_lização do usuário -­‐ Conhecer minimamente sobre HTML, CSS e JavaScript -­‐ Desenvolver em alguma linguagem e programação
  • 17. Interação 2 Manualmente... 1. Acessar a página h7p://planned.by/quickloja/ 2. Preencher o campo usuário com elias.nogueira 3. Preencher o campo senha com 123 4. Clicar no botão Entrar
  • 19. Interação 3 Manualmente... 1. Acessar a página h7p://planned.by/quickloja/ 2. Preencher o campo usuário com elias.nogueira 3. Preencher o campo senha com 123 4. Clicar no botão Entrar 5. Validar que está na área de usuário (???)
  • 21. Selenium/WebDriver Mas se precisarmos executar mais ações? Exemplos: -­‐ Efetuar login e cadastrar um produto -­‐ Efetuar login e consultar o estoque
  • 23. Page Objects Cada página vira uma classe com ações (simples ou em conjunto) O Teste consome cada página e monta o fluxo de execução baseados pela página Ganho na centralização da manutenção, com redução na duplicação de código
  • 24. Interação 4 Iremos transformar o Login em um Page Objects e criar uma classe de teste para a validação do login
  • 26. Interação 5 Crie um Page Objects para Categoria Iremos: 1. Efetuar o login 2. Cadastrar uma categoria
  • 27. Interação 5 Pagina Login Pagina Menu Pagina Login Pagina Nova Categoria Pagina Categoria Teste
  • 28. Vamos começar “do começo” Smoke Tests
  • 29. Smoke Tests Pequeno conjunto de testes mais prioritários O pensamento é “sem isso não funcionar nem adianta fazer o deploy” Como em todos os outros testes, deve executar sempre o mais rápido possível
  • 30. CasperJS Execução via headless browser U_liza PhantomJS e SlimerJS (Gecko) para navegação e testes Escrita de código em JavaScript Deixa a execução muito mais rápida h7p://casperjs.org
  • 31. CasperJS Porque executaríamos testes headless? -­‐ Maior velocidade -­‐ Teste pode estar no ciclo de CI diário -­‐ Sem dependência de browser específico
  • 32. Interação 6 Criaremos a validação do login com o CasperJS
  • 34. Visual Regression Test Abordagem para: -­‐ Validar valores de CSS -­‐ Comparar Screenshots -­‐ Validar design responsivo Slide “roubado”do @stefanteixeira h7p://goo.gl/WKGO7X
  • 35. Visual Regression Test Slide “roubado”do @stefanteixeira h7p://goo.gl/WKGO7X
  • 36. Visual Regression Test Slide “roubado”do @stefanteixeira h7p://goo.gl/WKGO7X
  • 37. Contatos elias.nogueira@qualister.com.br @eliasnogueira linkedin.com/in/eliasnoguiera slideshare.net/eliasnogueira (48) 3285-­‐5615