SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best PracticesBrian Mann
 
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - Junho
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - JunhoKaratê DSL - Automatizando testes de API de forma simples - GUTS RS - Junho
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - JunhoSamuel Lucas
 
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égiasKleitor Franklint Correa Araujo
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVASrinivas Katakam
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API TestingSauce Labs
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD123abcda
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Hong Tat Yew
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Shivam Bharadwaj
 
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
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test HeuristicJúlio de Lima
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumberDaniel Kummer
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 

Was ist angesagt? (20)

BDD with Cucumber
BDD with CucumberBDD with Cucumber
BDD with Cucumber
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - Junho
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - JunhoKaratê DSL - Automatizando testes de API de forma simples - GUTS RS - Junho
Karatê DSL - Automatizando testes de API de forma simples - GUTS RS - Junho
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
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
 
BDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVABDD WITH CUCUMBER AND JAVA
BDD WITH CUCUMBER AND JAVA
 
An Introduction To Automated API Testing
An Introduction To Automated API TestingAn Introduction To Automated API Testing
An Introduction To Automated API Testing
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
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...
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
ALTER FACE Test Heuristic
ALTER FACE Test HeuristicALTER FACE Test Heuristic
ALTER FACE Test Heuristic
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
BDD testing with cucumber
BDD testing with cucumberBDD testing with cucumber
BDD testing with cucumber
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
Carreira de QA
Carreira de QA Carreira de QA
Carreira de QA
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 

Ähnlich wie 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 seleniumQualister
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
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 DeliverySamanta Cicilia
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
[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 escalaAlexandre 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ápidosElias 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 OSSRodrigo 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 frameworkWende Mendes
 
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
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. 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 seleniumSandy Maciel
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon 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
 

Ähnlich wie 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
 

Mehr von Elias Nogueira

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
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test PyramidElias 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 APIElias 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
 
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 testesElias 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 timeElias 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écnicoElias 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 automationElias 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
 
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 GatheringElias 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 containersElias 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 - TestsElias 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 TestesElias 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 AppiumElias 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écnicaElias 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
 
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 planejamentoElias Nogueira
 
Coaching the Agile Coach
Coaching the Agile CoachCoaching the Agile Coach
Coaching the Agile CoachElias 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 MobileElias Nogueira
 

Mehr von Elias Nogueira (20)

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
 
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
 
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
 
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
 
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
 
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?
 
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
 
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
 

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