19
#JAVOU10 TESTES E2E COM JAVASCRIPT Henrique Luz

#Javou10 - Testes E2E com JavaScript

Embed Size (px)

Citation preview

Page 1: #Javou10 - Testes E2E com JavaScript

#JAVOU10

TESTES E2E COM JAVASCRIPT

Henrique Luz

Page 2: #Javou10 - Testes E2E com JavaScript

BIO

Henrique Luz

‣ Bacharel em Computação / UFC

‣ Desenvolvedor no Instituto Atlântico

‣ Corredor nas horas livres

Page 3: #Javou10 - Testes E2E com JavaScript

AGENDA

‣ Testes na Idade Média

‣ Agile testing

- Evolução

‣ Testes E2E

- Intro

- Trade-off

‣ Back-end x Front-end

‣ WebDriver I/O

‣ Hands-on

Page 4: #Javou10 - Testes E2E com JavaScript

TESTES NA IDADE MÉDIA

ANTES

▸Cascata

▸Manuais

▸Caixa-preta

▸Orientados a bugs

▸Feedback tardio

Page 5: #Javou10 - Testes E2E com JavaScript
Page 6: #Javou10 - Testes E2E com JavaScript

AGILE TESTING

EVOLUÇÃO

Page 7: #Javou10 - Testes E2E com JavaScript

TESTES ÁGEIS

DEPOIS

▸Agile Development

▸TDD BDD

▸Unitários + Integração

▸Entrega Contínua

▸Feedback Instantâneo

Page 8: #Javou10 - Testes E2E com JavaScript

SUFICIENTE?

DEPENDE!

Page 9: #Javou10 - Testes E2E com JavaScript

“CHECAM SE O FLUXO DA APLICAÇÃO FAZ O QUE FOI DESENHADA PARA FAZER,PASSANDO POR TODOS OS COMPONENTES E SUAS DEPENDÊNCIAS”

Page 10: #Javou10 - Testes E2E com JavaScript

E2E TESTING

▸Simula fluxo do usuário

▸UI’s

▸ Interage com toda app

▸Ajuda a validar critérios de aceitação

▸Regressão de testes bem mais rápida

Page 11: #Javou10 - Testes E2E com JavaScript

TRADE-OFF

▸Mais custosos

▸Mais lentos

▸Mudanças na UI tendem a impactar

Page 12: #Javou10 - Testes E2E com JavaScript

ONDE ESCREVER MEUS TESTES E2E?

MAIS UMA VEZ: DEPENDE

Page 13: #Javou10 - Testes E2E com JavaScript
Page 14: #Javou10 - Testes E2E com JavaScript

Tipo da Aplicação

Tecnologias disponíveisMaturidade do time

Conhecimento do time

?

? ?

?

??

??

?

?

?

? ???

Page 15: #Javou10 - Testes E2E com JavaScript

E2E TESTING

FERRAMENTAS JAVASCRIPT

Page 16: #Javou10 - Testes E2E com JavaScript

WEBDRIVER I/O

TESTES DE REGRESSÃO DE UI

DSL FLUENTE

VARIEDADE DE HOOKS

SUPORTA SINCRONISMO

SUPORTA GULP E GRUNT

FORNECE CLI

SETUP FÁCIL

Page 17: #Javou10 - Testes E2E com JavaScript

ALGUMAS FEATURES

▸ client.addValue(selector, values)

▸ client.click(selector)

▸ client.dragAndDrop(source, dest)

▸ client.submitForm(selector)

▸ client.getText(selector, attrName)

▸ client.getUrl()

▸ client.getValue(selector)

▸ client.launch()

▸ client.orientation([deviceOrientation])

▸ client.getGeolocation()

▸ client.rotate(x, y, duration, radius,

rotation, touchCount)

▸ client.swipe([selector][xoffset][yoffset][s

peed]);

▸ client.currentActivity();

Page 18: #Javou10 - Testes E2E com JavaScript

DEMO

Page 19: #Javou10 - Testes E2E com JavaScript

PERGUNTAS