SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Testes automatizados
end-to-end (E2E)
com WordPress
Por: Fábio Nas linkedin.com/in/fabio-nas-ba649574
fabionasario@gmail.com
O objetivo desta apresentação é ajudar na decisão de usar
ou não testes automatizados E2E em nossos projetos
WordPress e onde ele são mais adequados.
O que vamos ver:
● Introdução aos testes de software
● Apresentar o que são testes end-to-end (E2E)
● Listar as ferramentas mais utilizadas no momento
● Mostrar um exemplo prático de teste utilizando Cypress
● Levantar a principal indagação: “Usar ou não em meus projetos
WordPress”
O que são testes de softwares?
“O teste do software é a investigação do software a fim de fornecer
informações sobre sua qualidade em relação ao contexto em que ele deve
operar, se relaciona com o conceito de verificação e validação.”
Fonte: https://pt.wikipedia.org/wiki/Teste_de_software.
Acesso em 21.11.2019
Obs.: Testes podem ser
automatizados ou não
Como você testa suas aplicações?
Faço um teste
antes de
colocar em
produção
O cliente testa pramim quando já estáem produção.
(Obs.: Não sei porque, mas aorelha sempre esquenta)
Faço todos
os tipos de
testes.
(tiroso!)
(Dá uma
trabalheira!)
Não faço nada!
O WordPress já vem testado
Testo tudo
na mão!
Faço testes de
junto com o cliente
Faço testesautomatizados das
partes mais importantes
Afinal! O que testar?
Velocidade?
Desempenho?
Estruturas?
Processos?
UX?
Funcionalidades?
Interfaces?
Sem
bugs!
Leiaute?
UI?
Divisão dos tipos de testes
Pirâmide de automação de testes tradicional com
base nos conceitos de Mike Cohn:
https://en.wikipedia.org/wiki/Mike_Cohn
E2E
Aceitação
UI (Funcional)
Integração
(entre módulos, classes,
componentes, serviços)
Unitários
(de classes, componentes, funções)
Menos testes; maior
integração; mais caros
Mais testes; menor
integração; mais baratos
Outra visão da divisão de testes
E2E
Aceitação
UI (Funcional)
Integração
(entre módulos, classes,
componentes, serviços)
Unitários
(de classes, componentes, funções)
Os testes de Integração e E2E
aumentaram nos últimos tempos
em relação aos testes unitários.
As ferramentas de automação E2E
evoluíram bastante, barateando e
facilitando a sua adoção
Obs.: A divisão dos tipos de testes já não tem mais a forma de pirâmide. Por isso, por enquanto
aqui temos a forma de um quadrado, significando que as quantidades de tipos de testes podem ser
bem diferentes conforme a aplicação que se quer testar.
Lista das ferramentas de testes web mais conhecidas
● Selenium
● Jest
● Cypress
● Karma
● Mocka
● Chai
● Jasmine
● Nightwatch
● Nightmare
● Puppeteer
● Behat (BDD php)
● Cucumber
● …
Nosso foco nesta
apresentação:
Testes automatizados E2E
Testes E2E também
são utilizados como
testes de interface e
de aceitação
São testes executados de forma controlada por
software e que testam uma aplicação ou um
sistema, simulando, como se fosse um usuário final
Automatizando E2E
com Cypress
The web has evolved.
Finally, testing has too.
(A web evoluiu.
Finalmente,
o teste também.)
Cypress para testes automatizados E2E
Uma ferramenta integrada
All-in-one testing:
runner +
assertion +
mocking +
visual debug
○ Set up tests
○ Write tests
○ Run tests
○ Record tests
Instalação
Cypress para
Mac, Linux, ou
Windows
Frase deles no site:
cypress.io
Licença permissiva
MIT:
https://github.com/cypress-io/cypress
Instalações
1. Instalar nodejs:
Ver em https://nodejs.org/en/download/
2. Criar pasta do projeto. Ex.: cypress-wpfloripa
3. Dentro da pasta do projeto iniciar projeto:
npm init -y
4. Instalar cypress para o projeto:
npm install -D cypress
5. Execute o cypress para criar as pastas de teste:
./node_modules/.bin/cypress open
6. Espere o aplicativo gráfico do cypress abrir e feche cypress
no terminal pressionando CTRL+C:
Criar arquivo de especificação de testes
1. Criar pasta wpfloripa
dentro da pasta
cypress/integration
2. Criar arquivo de
especificação de testes
wpfloripa.spec.js,
conforme imagem.
Fazendo um primeiro teste
describe('Meu primeiro teste', () => {
it('Deve ser true', () => {
expect(true).to.equal(true);
})
});
1. Digite este código dentro de wpfloripa.spec.js:
2. Execute o cypress dentro do projeto:
./node_modules/.bin/cypress
open
Obs.: Espere o aplicativo gráfico do cypress abrir
Fazendo um primeiro teste
Fazendo um primeiro teste
# Testa página do wpfloripa
1. Visitar o site https://wpfloripa.com.br
2. O título da página deve conter 'comunidade WordPress Floripa'
3. Testar se na página que contém a string ‘QUERO PARTICIPAR’
4. Testar se existe o item de menu de navegação ‘BLOG’
5. Testar se o item de navegação ‘BLOG’ está chamando a página correta
Vamos definir sequência lógica de teste E2E
Normalmente a lógica de teste deve cobrir determinados
objetivos de regras de negócios definidos para o projeto
Itens 1 e 2 - Visita o site e testa o título
Item 3 - Se contem ‘QUERO PARTICIPAR’
Item 4 - Testa se existe menu ‘BLOG’
Item 5 - Testa se ‘BLOG’ chama página correta
Outro exemplo: testando página de captura
Em que situação você usaria testes E2E?
● E2E é adequado para WordPress?
● Quais páginas são mais interessantes testar?
● Devo usar E2E se eu fizer um plugin?
● Livre para outras perguntas ????
Dúvidas?
Informações de contato
Fábio Nas
Perfil linkedin:
linkedin.com/in/fabio-nas-ba649574
E-mail:
fabionasario@gmail.com
Link e referências
● Succeeding with Agile: Software Development Using Scrum 1st Edition
○ https://www.amazon.com/Succeeding-Agile-Software-Development-Using/d
p/0321579364
● The Practical Test Pyramid
○ https://martinfowler.com/articles/practical-test-pyramid.html
● Cypress Guides
○ https://docs.cypress.io/pt-br/guides/overview/why-cypress.html
●

Mais conteúdo relacionado

Mais procurados

Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizadoselliando dias
 
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
 
BDD em Testes de Serviço
BDD em Testes de ServiçoBDD em Testes de Serviço
BDD em Testes de ServiçoRafael Lima
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With CypressKnoldus Inc.
 
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 ÁgilElias Nogueira
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best PracticesBrian Mann
 
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 ÁgilElias Nogueira
 
Testes de regressão automatizados
Testes de regressão automatizadosTestes de regressão automatizados
Testes de regressão automatizadosCristian R. Silva
 
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
 
Automated testing with Cypress
Automated testing with CypressAutomated testing with Cypress
Automated testing with CypressYong Shean Chong
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010guest5639fa9
 
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
 
Introduction to E2E in Cypress
Introduction to E2E in CypressIntroduction to E2E in Cypress
Introduction to E2E in CypressFabio Biondi
 

Mais procurados (20)

Introdução a Testes Automatizados
Introdução a Testes AutomatizadosIntrodução a Testes Automatizados
Introdução a Testes Automatizados
 
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?
 
BDD em Testes de Serviço
BDD em Testes de ServiçoBDD em Testes de Serviço
BDD em Testes de Serviço
 
Getting Started With Cypress
Getting Started With CypressGetting Started With Cypress
Getting Started With Cypress
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
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
 
Cypress for Testing
Cypress for TestingCypress for Testing
Cypress for Testing
 
E2 e test with testcafe
E2 e test with testcafeE2 e test with testcafe
E2 e test with testcafe
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Cypress - Best Practices
Cypress - Best PracticesCypress - Best Practices
Cypress - Best Practices
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
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
 
Testes de regressão automatizados
Testes de regressão automatizadosTestes de regressão automatizados
Testes de regressão automatizados
 
Cypress
CypressCypress
Cypress
 
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
 
Automated testing with Cypress
Automated testing with CypressAutomated testing with Cypress
Automated testing with Cypress
 
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarCypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
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...
 
Introduction to E2E in Cypress
Introduction to E2E in CypressIntroduction to E2E in Cypress
Introduction to E2E in Cypress
 

Semelhante a Testes automatizados end-to-end com WordPress por Fabio Nas

Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...GUTS-RS
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosVitor Silva
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da pesteMichele Silva
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfRonaldAlves15
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMAdriano Bertucci
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driverJúlio de Lima
 
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 webdriverQualister
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?Samuel Lourenço
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 

Semelhante a Testes automatizados end-to-end com WordPress por Fabio Nas (20)

Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Teste cabra da peste
Teste cabra da pesteTeste cabra da peste
Teste cabra da peste
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Qualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALMQualidade de software com Visual Studio ALM
Qualidade de software com Visual Studio ALM
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
 
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
 
Por que automatizar testes de software?
Por que automatizar testes de software?Por que automatizar testes de software?
Por que automatizar testes de software?
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Teste de software
Teste de softwareTeste de software
Teste de software
 

Mais de WordCamp Floripa

WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...
WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...
WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...WordCamp Floripa
 
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...WordCamp Floripa
 
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa
 
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...WordCamp Floripa
 
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...WordCamp Floripa
 
WordCamp Floripa 2021 - David Arty - Marketing e WordPress
WordCamp Floripa 2021 - David Arty - Marketing e WordPressWordCamp Floripa 2021 - David Arty - Marketing e WordPress
WordCamp Floripa 2021 - David Arty - Marketing e WordPressWordCamp Floripa
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPressWordCamp Floripa
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSWordCamp Floripa
 
Como empreender com WordPress por Daniel Pelicano
Como empreender com WordPress por Daniel PelicanoComo empreender com WordPress por Daniel Pelicano
Como empreender com WordPress por Daniel PelicanoWordCamp Floripa
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoWordCamp Floripa
 
Abertura 25º Meetup WordPress Floripa - Lucas Adiers Stefanello
Abertura 25º Meetup WordPress Floripa - Lucas Adiers StefanelloAbertura 25º Meetup WordPress Floripa - Lucas Adiers Stefanello
Abertura 25º Meetup WordPress Floripa - Lucas Adiers StefanelloWordCamp Floripa
 
WordPress 5.3: Adeus site builders por Felipe Figueiredo
WordPress 5.3: Adeus site builders por Felipe FigueiredoWordPress 5.3: Adeus site builders por Felipe Figueiredo
WordPress 5.3: Adeus site builders por Felipe FigueiredoWordCamp Floripa
 
O que não te contam sobre WordPress por Willian Ramos
O que não te contam sobre WordPress por Willian RamosO que não te contam sobre WordPress por Willian Ramos
O que não te contam sobre WordPress por Willian RamosWordCamp Floripa
 
Marketing Social: resultados de ações de impacto social nas empresas
Marketing Social: resultados de ações de impacto social nas empresasMarketing Social: resultados de ações de impacto social nas empresas
Marketing Social: resultados de ações de impacto social nas empresasWordCamp Floripa
 
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...WordCamp Floripa
 
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019WordCamp Floripa
 
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?WordCamp Floripa
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...WordCamp Floripa
 
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...WordCamp Floripa
 

Mais de WordCamp Floripa (20)

WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...
WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...
WordCamp Floripa 2021 - Isreal - A proporcionalidade do crescimento em tecnol...
 
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...
WordCamp Floripa 2021 - Luciane Costa - Pare de escrever para o robô: conteúd...
 
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
 
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...
WordCamp Floripa 2021 - Eliane - Seu site limita o acesso dos usuários? Como ...
 
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...
WordCamp Floripa 2021 - Amilton Justino - É possível invadir um WordPress at...
 
WordCamp Floripa 2021 - David Arty - Marketing e WordPress
WordCamp Floripa 2021 - David Arty - Marketing e WordPressWordCamp Floripa 2021 - David Arty - Marketing e WordPress
WordCamp Floripa 2021 - David Arty - Marketing e WordPress
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
 
Como empreender com WordPress por Daniel Pelicano
Como empreender com WordPress por Daniel PelicanoComo empreender com WordPress por Daniel Pelicano
Como empreender com WordPress por Daniel Pelicano
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe Figueiredo
 
Abertura 25º Meetup WordPress Floripa - Lucas Adiers Stefanello
Abertura 25º Meetup WordPress Floripa - Lucas Adiers StefanelloAbertura 25º Meetup WordPress Floripa - Lucas Adiers Stefanello
Abertura 25º Meetup WordPress Floripa - Lucas Adiers Stefanello
 
WordPress 5.3: Adeus site builders por Felipe Figueiredo
WordPress 5.3: Adeus site builders por Felipe FigueiredoWordPress 5.3: Adeus site builders por Felipe Figueiredo
WordPress 5.3: Adeus site builders por Felipe Figueiredo
 
O que não te contam sobre WordPress por Willian Ramos
O que não te contam sobre WordPress por Willian RamosO que não te contam sobre WordPress por Willian Ramos
O que não te contam sobre WordPress por Willian Ramos
 
Marketing Social: resultados de ações de impacto social nas empresas
Marketing Social: resultados de ações de impacto social nas empresasMarketing Social: resultados de ações de impacto social nas empresas
Marketing Social: resultados de ações de impacto social nas empresas
 
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...
Meetup WordPress Floripa - Criando tema filho com configuração de SEO e ferra...
 
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019
Lucas Adiers Stefanello apresenta a abertura do WordCamp Floripa 2019
 
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?
Amilton Justino apresenta GDPR/LGPD - A Solução está nos Plugins?
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...
Vinícius Lourenço apresenta WordPress como carro-chefe do seu negócio: desafi...
 

Testes automatizados end-to-end com WordPress por Fabio Nas

  • 1. Testes automatizados end-to-end (E2E) com WordPress Por: Fábio Nas linkedin.com/in/fabio-nas-ba649574 fabionasario@gmail.com
  • 2. O objetivo desta apresentação é ajudar na decisão de usar ou não testes automatizados E2E em nossos projetos WordPress e onde ele são mais adequados.
  • 3. O que vamos ver: ● Introdução aos testes de software ● Apresentar o que são testes end-to-end (E2E) ● Listar as ferramentas mais utilizadas no momento ● Mostrar um exemplo prático de teste utilizando Cypress ● Levantar a principal indagação: “Usar ou não em meus projetos WordPress”
  • 4. O que são testes de softwares? “O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar, se relaciona com o conceito de verificação e validação.” Fonte: https://pt.wikipedia.org/wiki/Teste_de_software. Acesso em 21.11.2019 Obs.: Testes podem ser automatizados ou não
  • 5. Como você testa suas aplicações? Faço um teste antes de colocar em produção O cliente testa pramim quando já estáem produção. (Obs.: Não sei porque, mas aorelha sempre esquenta) Faço todos os tipos de testes. (tiroso!) (Dá uma trabalheira!) Não faço nada! O WordPress já vem testado Testo tudo na mão! Faço testes de junto com o cliente Faço testesautomatizados das partes mais importantes
  • 6. Afinal! O que testar? Velocidade? Desempenho? Estruturas? Processos? UX? Funcionalidades? Interfaces? Sem bugs! Leiaute? UI?
  • 7. Divisão dos tipos de testes Pirâmide de automação de testes tradicional com base nos conceitos de Mike Cohn: https://en.wikipedia.org/wiki/Mike_Cohn E2E Aceitação UI (Funcional) Integração (entre módulos, classes, componentes, serviços) Unitários (de classes, componentes, funções) Menos testes; maior integração; mais caros Mais testes; menor integração; mais baratos
  • 8. Outra visão da divisão de testes E2E Aceitação UI (Funcional) Integração (entre módulos, classes, componentes, serviços) Unitários (de classes, componentes, funções) Os testes de Integração e E2E aumentaram nos últimos tempos em relação aos testes unitários. As ferramentas de automação E2E evoluíram bastante, barateando e facilitando a sua adoção Obs.: A divisão dos tipos de testes já não tem mais a forma de pirâmide. Por isso, por enquanto aqui temos a forma de um quadrado, significando que as quantidades de tipos de testes podem ser bem diferentes conforme a aplicação que se quer testar.
  • 9. Lista das ferramentas de testes web mais conhecidas ● Selenium ● Jest ● Cypress ● Karma ● Mocka ● Chai ● Jasmine ● Nightwatch ● Nightmare ● Puppeteer ● Behat (BDD php) ● Cucumber ● …
  • 10. Nosso foco nesta apresentação: Testes automatizados E2E Testes E2E também são utilizados como testes de interface e de aceitação São testes executados de forma controlada por software e que testam uma aplicação ou um sistema, simulando, como se fosse um usuário final
  • 12. The web has evolved. Finally, testing has too. (A web evoluiu. Finalmente, o teste também.) Cypress para testes automatizados E2E Uma ferramenta integrada All-in-one testing: runner + assertion + mocking + visual debug ○ Set up tests ○ Write tests ○ Run tests ○ Record tests Instalação Cypress para Mac, Linux, ou Windows Frase deles no site: cypress.io Licença permissiva MIT: https://github.com/cypress-io/cypress
  • 13. Instalações 1. Instalar nodejs: Ver em https://nodejs.org/en/download/ 2. Criar pasta do projeto. Ex.: cypress-wpfloripa 3. Dentro da pasta do projeto iniciar projeto: npm init -y 4. Instalar cypress para o projeto: npm install -D cypress 5. Execute o cypress para criar as pastas de teste: ./node_modules/.bin/cypress open 6. Espere o aplicativo gráfico do cypress abrir e feche cypress no terminal pressionando CTRL+C:
  • 14. Criar arquivo de especificação de testes 1. Criar pasta wpfloripa dentro da pasta cypress/integration 2. Criar arquivo de especificação de testes wpfloripa.spec.js, conforme imagem.
  • 15. Fazendo um primeiro teste describe('Meu primeiro teste', () => { it('Deve ser true', () => { expect(true).to.equal(true); }) }); 1. Digite este código dentro de wpfloripa.spec.js: 2. Execute o cypress dentro do projeto: ./node_modules/.bin/cypress open Obs.: Espere o aplicativo gráfico do cypress abrir
  • 18. # Testa página do wpfloripa 1. Visitar o site https://wpfloripa.com.br 2. O título da página deve conter 'comunidade WordPress Floripa' 3. Testar se na página que contém a string ‘QUERO PARTICIPAR’ 4. Testar se existe o item de menu de navegação ‘BLOG’ 5. Testar se o item de navegação ‘BLOG’ está chamando a página correta Vamos definir sequência lógica de teste E2E Normalmente a lógica de teste deve cobrir determinados objetivos de regras de negócios definidos para o projeto
  • 19. Itens 1 e 2 - Visita o site e testa o título
  • 20. Item 3 - Se contem ‘QUERO PARTICIPAR’
  • 21. Item 4 - Testa se existe menu ‘BLOG’
  • 22. Item 5 - Testa se ‘BLOG’ chama página correta
  • 23. Outro exemplo: testando página de captura
  • 24. Em que situação você usaria testes E2E? ● E2E é adequado para WordPress? ● Quais páginas são mais interessantes testar? ● Devo usar E2E se eu fizer um plugin? ● Livre para outras perguntas ????
  • 25. Dúvidas? Informações de contato Fábio Nas Perfil linkedin: linkedin.com/in/fabio-nas-ba649574 E-mail: fabionasario@gmail.com
  • 26. Link e referências ● Succeeding with Agile: Software Development Using Scrum 1st Edition ○ https://www.amazon.com/Succeeding-Agile-Software-Development-Using/d p/0321579364 ● The Practical Test Pyramid ○ https://martinfowler.com/articles/practical-test-pyramid.html ● Cypress Guides ○ https://docs.cypress.io/pt-br/guides/overview/why-cypress.html ●