Visual Regression Testing: mais um tipo de teste pra sua pipeline

51
VISUAL REGRESSION TESTING Mais um tipo de teste para sua pipeline

Transcript of Visual Regression Testing: mais um tipo de teste pra sua pipeline

Page 1: Visual Regression Testing: mais um tipo de teste pra sua pipeline

VISUAL REGRESSION TESTING

Mais um tipo de teste para sua pipeline

Page 2: Visual Regression Testing: mais um tipo de teste pra sua pipeline

@samantacicilia

Page 3: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Pipeline

Automate, automate, automate

Page 4: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Commit StageCompileUnit TestAnalysis

Build Installers

Automate Acceptance

TestingAutomate

Capacity Testing

Manual TestingShowcasesExploratory

TestingReleases

The Deployment Pipeline

Page 5: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Estamos preocupados com:

- Funcionalidades- Performance- Disponibilidade- Boas Práticas de Desenvolvimento

Page 6: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Quadrantes de Testes Ágeis

Page 7: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Unit

Service

UI

Manual

Pirâmide | automação de testes

Page 8: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Mas…... e Visual?

Page 9: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Unit

Service

UI

Manual

Pirâmide | automação de testes

Visual

Regression

Page 10: Visual Regression Testing: mais um tipo de teste pra sua pipeline

POKEDEX APP

Página 404

Page 11: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Página 404

Page 12: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Tiraram o class da div

Page 13: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Tiraram o class da img

Page 14: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Responsivo

Page 15: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Como você validaria?

Page 16: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Gráficos

Page 17: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Original

Page 18: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Ao clicar numa cor

Page 19: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Remover uma cor por engano

Page 20: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Como você validaria?

Page 21: Visual Regression Testing: mais um tipo de teste pra sua pipeline

- Problema- Soluções

Page 22: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Problemas

Como testar:- Página de 404?- Responsivo?- Refactor onde a UI não pode mudar?- Gráficos?- Layout?

Page 23: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Manual é custoso, lento e complicado

Page 24: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Continuous Visual Regression

Page 25: Visual Regression Testing: mais um tipo de teste pra sua pipeline

TOOLS

Page 26: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Dashboard X Asserts

Page 27: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Percy Ferramenta paga que possui um Dashboard para aprovação das imagens. Tem integração com Github para aprovação de PR e suporte a JS, Ruby, Python e Static Sites (CLI). Sempre compara a página completa e é possível configurar diferentes resoluções.

Características

Page 28: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Dashboard: Builds

Page 29: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Dashboard: remover um class

Page 30: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Percy Ferramenta paga que possui um Dashboard para aprovação das imagens. Tem integração com Github para aprovação de PR e suporte a JS, Ruby, Python e Static Sites (CLI). Sempre compara a página completa e é possível configurar diferentes resoluções.

Applitools É pago mas tem uma Free account que garante 25 execuções por semana. Possui um Dashboard para aprovação das imagens e suporta JS

Características

Page 31: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Dashboard

Page 32: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Dashboard: problema de carregamento

Page 33: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Percy Ferramenta paga que possui um Dashboard para aprovação das imagens. Tem integração com Github para aprovação de PR e suporte a JS, Ruby, Python e Static Sites (CLI). Sempre compara a página completa e é possível configurar diferentes resoluções.

Applitools É pago mas tem uma Free account que garante 25 execuções por semana. Possui um Dashboard para aprovação das imagens e suporta JS

Visual Review Open Source que disponibiliza um Dashboard local. Suporta JS e testes com Protractor

Características

Page 34: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Visual Review

Page 35: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Visual Review

Page 36: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Percy Ferramenta paga que possui um Dashboard para aprovação das imagens. Tem integração com Github para aprovação de PR e suporte a JS, Ruby, Python e Static Sites (CLI). Sempre compara a página completa e é possível configurar diferentes resoluções.

Applitools É pago mas tem uma Free account que garante 25 execuções por semana. Possui um Dashboard para aprovação das imagens e suporta JS

Visual Review Open Source que disponibiliza um Dashboard local. Suporta JS e testes com Protractor

LineUp Open Source que suporta Ruby. Pode integrar nos testes com RSpec e Capybara. Utiliza o phatomjs e permite a configuração de diferentes resoluções.

Características

Page 37: Visual Regression Testing: mais um tipo de teste pra sua pipeline

LineUp

Page 38: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Percy Ferramenta paga que possui um Dashboard para aprovação das imagens. Tem integração com Github para aprovação de PR e suporte a JS, Ruby, Python e Static Sites (CLI). Sempre compara a página completa e é possível configurar diferentes resoluções.

Applitools É pago mas tem uma Free account que garante 25 execuções por semana. Possui um Dashboard para aprovação das imagens e suporta JS

Visual Review Open Source que disponibiliza um Dashboard local. Suporta JS e testes com Protractor

LineUp Open Source que suporta Ruby. Pode integrar nos testes com RSpec e Capybara. Utiliza o phatomjs e permite a configuração de diferentes resoluções.

Magneton É uma gem Ruby open source que compara um screen base e o screen atual. Precisa de cuidados em relação a diferentes browser e resoluções.

Características

Page 39: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Visual Matcher: assert

Page 40: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Visual Matcher: fail

Page 41: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Visual Matcher: diff em caso de erro

Page 42: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Ferramentas Pago Open Source Dashboard Aprovação Automatizada Aprovação Manual Nuvem Local DiffPercy V X V X V V X VApplitools V X V X V V X VVisual Review

X V V X V X V V

LineUP X V X V V X V V

Magneton X V X V V X V V

Comparação

Page 43: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Pipeline

Automate, automate, automate

Page 44: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Pipeline

- Testes a cada PR?- Smoke Tests?- Testes Pré-Prod?

Page 45: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Commit StageCompileUnit TestAnalysis

Build Installers

Automate Acceptance

TestingAutomate

Capacity Testing

Manual TestingShowcasesExploratory

TestingReleases

The Deployment Pipeline

Page 46: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Use com sabedoria

Page 47: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Pontos de Atenção

- Não crie Visual Tests para tudo- Priorize o que traz mais valor- Cuidado com resoluções X browsers- Cuidado com esperas

Page 49: Visual Regression Testing: mais um tipo de teste pra sua pipeline

Agile Testers Conference Porto Alegre

São PauloRio de JaneiroBrasíliaRecifeBelo HorizonteFlorianópolisPorto Alegre - 19 de agostoSalvadorFortalezaManaus

http://conferencia.agiletesters.com.br/portoalegre.html

Page 50: Visual Regression Testing: mais um tipo de teste pra sua pipeline

@[email protected]://www.linkedin.com/in/samantacici/http://agiletesters.com.br/https://github.com/samycici

Obrigada :)Avalie a Talk:  https://joind.in/talk/1fb8a

Page 51: Visual Regression Testing: mais um tipo de teste pra sua pipeline

CentroAv. Presidente Wilson,231 - 29º andar(21) 2240-2030

Cidade MonçõesAv. Nações Unidas,11.541 - 3º andar(11) 4119-0449

SavassiAv. Getúlio Vargas, 671Sala 800 - 8º andar(31) 3360-8900

www.concrete.com.br