SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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
www.qualister.com.br 
Fundada 
em 
2007 
Mais 
de 
1.000 
clientes 
em 
todo 
o 
Brasil 
Mais 
de 
50 
cursos 
sobre 
teste 
de 
so?ware 
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áDca 
de 
Teste 
de 
SoFware 
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 
ulização 
como 
um 
usuário, 
de 
forma 
automazada,
Dividindo 
em 
partes... 
W3Schools: 
verifica 
online 
HTML 
e 
CSS 
hap://www.w3schools.com/website/web_validate.asp 
W3C 
Status: 
lista 
de 
diversos 
so?wares 
para 
automação 
hap://www.w3.org/Status.html 
GTmetrix: 
analisa 
a 
velocidade/performance 
de 
uma 
página 
hap://planned.by/quickloja/ 
Browser 
Diet: 
guia 
para 
perder 
peso 
no 
browser 
hap://browserdiet.com/pt/
Interação 
1 
Analise 
o 
site 
abaixo 
no 
GTMetrix. 
Vamos 
discur 
os 
resultados 
apresentados 
hap://planned.by/quickloja/
Automação 
da 
UI 
é 
Importante 
Pirâmide 
de 
Automação 
de 
Teste 
Michel 
Cohn 
(Succeding 
with 
Agile) 
hap://www.mountaingoatso?ware.com/blog/the-­‐forgoaen-­‐layer-­‐of-­‐the-­‐test-­‐automaon-­‐pyramid
Validação 
na 
UI 
Smoke 
Tests 
xBrowser 
Tesng 
Visual 
Regression 
Tesng 
Slide 
“roubado”do 
@stefanteixeira 
hap://goo.gl/WKGO7X
Velocidade 
faz 
a 
diferença... 
E 
se 
você 
executasse 
todos 
os 
testes 
funcionais 
automazados 
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 
Tesng 
com 
Selenium/WebDriver
Selenium/WebDriver 
API 
mais 
usada 
para 
desenvolvimento 
de 
testes 
automazados 
em 
front 
end 
web 
Diversas 
APIs/Frameworks 
usam 
ele 
“por 
baixo 
dos 
panos” 
Suporte 
nas 
principais 
linguagems 
Java, 
C#, 
Ruby, 
Python, 
JavaScript 
(Node.js) 
hap://seleniumhq.org
Selenium/WebDriver 
Antes 
precisamos 
saber 
algumas 
coisas: 
-­‐ 
Fluxo 
de 
ulizaçã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 
hap://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 
hap://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 
Uliza 
PhantomJS 
e 
SlimerJS 
(Gecko) 
para 
navegação 
e 
testes 
Escrita 
de 
código 
em 
JavaScript 
Deixa 
a 
execução 
muito 
mais 
rápida 
hap://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 
hap://goo.gl/WKGO7X
Visual 
Regression 
Test 
Slide 
“roubado”do 
@stefanteixeira 
hap://goo.gl/WKGO7X
Visual 
Regression 
Test 
Slide 
“roubado”do 
@stefanteixeira 
hap://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

Mais procurados (20)

Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeter
 
Teste performance carga stress jmeter
Teste performance carga stress jmeterTeste performance carga stress jmeter
Teste performance carga stress jmeter
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
Palestra Automação de Testes em Dispositivos Móveis na Nuvem (BRATESTE2013)
 
[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception[PHPConferenceBR] Automação de testes com Codeception
[PHPConferenceBR] Automação de testes com Codeception
 
Agile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fimAgile Testing - entregando valor do início a fim
Agile Testing - entregando valor do início a fim
 
Automacao testes automatizados
Automacao testes automatizadosAutomacao testes automatizados
Automacao testes automatizados
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
 
Maturidade em automação de testes
Maturidade em automação de testesMaturidade em automação de testes
Maturidade em automação de testes
 
Automação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - QualisterAutomação de testes: Teoria e Prática (SENAI) - Qualister
Automação de testes: Teoria e Prática (SENAI) - Qualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
InterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression TestingInterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression Testing
 
Palestra teste de software Univel
Palestra teste de software UnivelPalestra teste de software Univel
Palestra teste de software Univel
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 

Destaque

Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1
Cintia Armesto
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
Qualister
 

Destaque (20)

Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
Testando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaTestando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o Karma
 
Ferramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de softwareFerramentas open source para auxiliar os testes de software
Ferramentas open source para auxiliar os testes de software
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARECROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
CROWD TESTING: O PODER DA MULTIDÃO EM PROL DA QUALIDADE DE SOFTWARE
 
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
[GUTS-RS] MBehavior, um framework de automação de testes multiplataforma para...
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1
 
Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
 
Performance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle CoherencePerformance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle Coherence
 
Scope AngularJS
Scope AngularJSScope AngularJS
Scope AngularJS
 
Automação de Testes com AngularJS
Automação de Testes com AngularJSAutomação de Testes com AngularJS
Automação de Testes com AngularJS
 
Como ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadoresComo ensinei mais de 1000 testadores
Como ensinei mais de 1000 testadores
 
Testando a integração com APIs - RSonRails/11
Testando a integração com APIs - RSonRails/11Testando a integração com APIs - RSonRails/11
Testando a integração com APIs - RSonRails/11
 
Testes ágeis
Testes ágeisTestes ágeis
Testes ágeis
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean ux
 
Docker e suas tecnologias
Docker e suas tecnologiasDocker e suas tecnologias
Docker e suas tecnologias
 
Automação de testes BDD e ATDD
Automação de testes BDD e ATDDAutomação de testes BDD e ATDD
Automação de testes BDD e ATDD
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
 

Semelhante a Caipira agil automacao front end selenium

Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
Igor Sobreira
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
thiagolima
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
Igor Abade
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
Rodrigo Kono
 

Semelhante a Caipira agil automacao front end selenium (20)

Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
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
 
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
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium Qualister
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com 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
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
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
 
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...
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
[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 ...
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?Menos teste e mais qualidade - como equilibrar essa equação?
Menos teste e mais qualidade - como equilibrar essa equação?
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 

Mais de Qualister (8)

Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testing
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testing
 
Testes de segurança
Testes de segurançaTestes de segurança
Testes de segurança
 
Curso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeterCurso Teste de performance, carga e stress JMeter
Curso Teste de performance, carga e stress JMeter
 
Curso testes avaliação Usabilidade
Curso testes avaliação UsabilidadeCurso testes avaliação Usabilidade
Curso testes avaliação Usabilidade
 
Curso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatosCurso de verificação e Revisão e Inspeção de artefatos
Curso de verificação e Revisão e Inspeção de artefatos
 

Último

Último (9)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Caipira agil automacao front end selenium

  • 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. www.qualister.com.br Fundada em 2007 Mais de 1.000 clientes em todo o Brasil Mais de 50 cursos sobre teste de so?ware Mais de 3.000 alunos formados
  • 3. 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
  • 4. Teste Ágil Teste Ágil é uma práDca de Teste de SoFware que segue os princípios do desenvolvimento ágil
  • 6. Estratégia Manutenibilidad e! Portabilidade! Baixo! Nível! Alto! Nível!
  • 7. 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 ulização como um usuário, de forma automazada,
  • 8. Dividindo em partes... W3Schools: verifica online HTML e CSS hap://www.w3schools.com/website/web_validate.asp W3C Status: lista de diversos so?wares para automação hap://www.w3.org/Status.html GTmetrix: analisa a velocidade/performance de uma página hap://planned.by/quickloja/ Browser Diet: guia para perder peso no browser hap://browserdiet.com/pt/
  • 9. Interação 1 Analise o site abaixo no GTMetrix. Vamos discur os resultados apresentados hap://planned.by/quickloja/
  • 10. Automação da UI é Importante Pirâmide de Automação de Teste Michel Cohn (Succeding with Agile) hap://www.mountaingoatso?ware.com/blog/the-­‐forgoaen-­‐layer-­‐of-­‐the-­‐test-­‐automaon-­‐pyramid
  • 11. Validação na UI Smoke Tests xBrowser Tesng Visual Regression Tesng Slide “roubado”do @stefanteixeira hap://goo.gl/WKGO7X
  • 12. Velocidade faz a diferença... E se você executasse todos os testes funcionais automazados via interface gráfica na sua build padrão? Muita demora no feedback do ciclo de CI
  • 13. Vamos começar de tras pra frente... Xbowser Tesng com Selenium/WebDriver
  • 14. Selenium/WebDriver API mais usada para desenvolvimento de testes automazados em front end web Diversas APIs/Frameworks usam ele “por baixo dos panos” Suporte nas principais linguagems Java, C#, Ruby, Python, JavaScript (Node.js) hap://seleniumhq.org
  • 15. Selenium/WebDriver Antes precisamos saber algumas coisas: -­‐ Fluxo de ulização do usuário -­‐ Conhecer minimamente sobre HTML, CSS e JavaScript -­‐ Desenvolver em alguma linguagem e programação
  • 16. Interação 2 Manualmente... 1. Acessar a página hap://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
  • 18. Interação 3 Manualmente... 1. Acessar a página hap://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 (???)
  • 20. Selenium/WebDriver Mas se precisarmos executar mais ações? Exemplos: -­‐ Efetuar login e cadastrar um produto -­‐ Efetuar login e consultar o estoque
  • 22. 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
  • 23. Interação 4 Iremos transformar o Login em um Page Objects e criar uma classe de teste para a validação do login
  • 25. Interação 5 Crie um Page Objects para Categoria Iremos: 1. Efetuar o login 2. Cadastrar uma categoria
  • 26. Interação 5 Pagina Login Pagina Menu Pagina Login Pagina Nova Categoria Pagina Categoria Teste
  • 27. Vamos começar “do começo” Smoke Tests
  • 28. 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
  • 29. CasperJS Execução via headless browser Uliza PhantomJS e SlimerJS (Gecko) para navegação e testes Escrita de código em JavaScript Deixa a execução muito mais rápida hap://casperjs.org
  • 30. CasperJS Porque executaríamos testes headless? -­‐ Maior velocidade -­‐ Teste pode estar no ciclo de CI diário -­‐ Sem dependência de browser específico
  • 31. Interação 6 Criaremos a validação do login com o CasperJS
  • 33. Visual Regression Test Abordagem para: -­‐ Validar valores de CSS -­‐ Comparar Screenshots -­‐ Validar design responsivo Slide “roubado”do @stefanteixeira hap://goo.gl/WKGO7X
  • 34. Visual Regression Test Slide “roubado”do @stefanteixeira hap://goo.gl/WKGO7X
  • 35. Visual Regression Test Slide “roubado”do @stefanteixeira hap://goo.gl/WKGO7X
  • 36. Contatos elias.nogueira@qualister.com.br @eliasnogueira linkedin.com/in/eliasnoguiera slideshare.net/eliasnogueira (48) 3285-­‐5615