Porque os olhos não mentem - Testes visuais usando Applitools Eyes

Publicados: 2021-08-17

O teste de regressão garante que qualquer alteração introduzida no software não interrompa nada que anteriormente funcionava bem. O teste de regressão visual garante que nenhum problema de GUI não tenha surgido devido às alterações feitas. O aplicativo ainda deve se parecer com o que era antes das modificações serem introduzidas. Uma ferramenta de teste de regressão visual captura capturas de tela da interface do usuário atual e as compara com as capturas de tela originais. Ele analisa as polaridades históricas e confirma que as páginas da Web ainda são renderizadas conforme o esperado em vários navegadores, mesmo após as modificações. Applitools Eyes é uma das ferramentas de teste visual mais populares disponíveis no mercado, alimentada por sua tecnologia proprietária de visão cognitiva.

Applitools desenvolveu uma ferramenta de teste de software baseada em nuvem, Applitools Eyes, que valida automaticamente todos os aspectos visuais de qualquer aplicativo web, móvel e nativo. Essas validações são semelhantes às que um testador manual faz. A tecnologia Applitools valida automaticamente a exatidão do layout, conteúdo e aparência da interface do usuário e permite automatizar testes que só podem ser feitos manualmente sem ela. Ele pode testar aplicativos em qualquer navegador, dispositivo, sistema operacional e linguagem de programação, em qualquer resolução de tela e fator de forma.

Testes visuais

Uma visão geral do sistema Applitools Eyes

Vários ambientes de teste interagem com os vários componentes Eyes de Applitools para implementar testes visuais de interface do usuário. O sistema é composto pelos seguintes componentes:

  • O Aplicativo em Teste (AUT).
  • Um conjunto de testes que é executado para o AUT e verifica sua precisão.
  • Os SDKs são chamados no código do conjunto de testes para acionar a captura de tela e a verificação visual.
  • Drivers de aplicativos como Selenium ou Appium que fornecem uma estrutura para construir conjuntos de testes que podem ser enviados para o AUT. Ele também os usa para capturar capturas de tela.
  • O servidor recebe e armazena o envio de captura de tela dos SDKs. Ele as compara com as imagens de linha de base armazenadas e relata quaisquer diferenças.
  • O Eyes Test Manager fornece ao usuário os resultados do teste que ele pode revisar e ajuda o usuário a relatar erros e gerenciar as imagens de linha de base.

Abaixo está um exemplo de como os componentes interagem para executar um teste, permitindo que a equipe de Testes visualize e gerencie os resultados do teste.

Applitools

Crédito: Applitools

ETAPA 1: A equipe de teste executa o conjunto de testes. O código geralmente repete as etapas a seguir para diferentes estados do aplicativo.

PASSO 2.1: Usando drivers como Selenium ou Appium, as ações do usuário como clique do mouse, entrada do teclado etc são simuladas.

ETAPA 2.2: Junto com isso, a API Eyes SDK é chamada para realizar um checkpoint visual simultaneamente.

ETAPA 2.2.a: O Eyes SDK usa o Driver para coletar a captura de tela.

ETAPA 2.2.b: Após o qual o Eyes SDK envia a imagem coletada para o Eyes Server. Aqui as imagens e as outras imagens de checkpoint são comparadas com as imagens de linha de base que foram armazenadas anteriormente no servidor.

PASSO 3: Uma vez processadas as imagens do teste, o Eyes Server fornece informações sobre as diferenças observadas. Junto com isso, é fornecido um link para o site Eyes, onde os resultados podem ser visualizados.

ETAPA 4: A equipe de teste usa o Eyes Test Manager para visualizar os resultados do teste, atualizar as linhas de base, relatar bugs e anotar regiões que precisam de tratamento especial. Depois de visualizar todos os resultados, a equipe de teste salva a linha de base. Isso se torna a base para comparação na próxima execução de teste.

Applitools têm SDKs que suportam uma ampla gama de estruturas de automação de teste populares - web, móvel e desktop, várias infraestruturas de driver de aplicativo, linguagens de programação e todas as plataformas, navegadores e sistemas operacionais comuns. Esses SDKs não interagem diretamente com o AUT, portanto, o Eyes é completamente independente de como o aplicativo é implementado e implantado.

Compatibilidade dos olhos Applitools

Applitools tem SDKs para todas as linguagens de programação populares e executores de testes, fornecendo cobertura de teste completa para web, dispositivos móveis, desktop, PDF, sistemas operacionais de TV, IoT, imagens e muito mais.

SDKs da Web

Os SDKs da WEB suportam todas as principais ferramentas e programas de teste da web:

  1. Selenium para -Java, JavaScript, C#, Ruby, PHP, Python
  2. WebdriverIO4, WebdriverIO5, WebdriverIO6
  3. Selenium IDE
  4. Cipreste
  5. Dramaturgo (Nova adição)
  6. Marionetista (Nova adição)
  7. TestCafé
  8. Storybook CSF React (Nova adição), Storybook -React, Angular, Vue
  9. Watir
  10. Capivara
  11. Transferidor (Nova adição)
  12. UFT/QTP
  13. Lean CFT#, Lean JavaScript
  14. IU codificada

SDKs para dispositivos móveis

Os SDKs para dispositivos móveis suportam todas as principais ferramentas e programas de teste para dispositivos móveis:

  1. Appium Native –C#, Java, JavaScript, PHP, Python, Ruby
  2. Appium Web - C#, Java, JavaScript, PHP, Python, Ruby
  3. XCUI Objective-C, XCUI Swift
  4. Expresso
  5. Calabash iOS e Android

SDKs de captura de tela

CLI, C#, Java, JavaScript, PHP, Ruby, XCTest Objective-C, XCTest Swift

SDKs para computadores

Windows UFT, IU codificada do Windows

Ferramentas sem código

Formulários PDF, IDE sem código

O gerenciador de testes no Applitools Eyes

O Eyes Test Manager é uma ferramenta baseada em navegador que fornece acesso a dados de teste de interface do usuário visual. Ele permite que os usuários gerenciem os resultados do teste, linhas de base e outros metadados.

O Eyes Test Manager oferece as seguintes facilidades:

  • Acesse os resultados das execuções de teste de IU visual
  • Aceite ou rejeite as diferenças registradas
  • Anotar etapas com comentários
  • Adicionar nível de correspondência e ignorar regiões
  • Atualizar a linha de base
  • Visualize e gerencie o aplicativo e os nomes de teste
  • Visualize e gerencie as linhas de base e as ramificações
  • Visualize e gerencie os ambientes de execução
  • Comparar e mesclar ramificações de linha de base
  • Gerencie sua conta, equipes e usuários

Existem várias outras ferramentas e conceitos integrados ao Eyes que ajudam o usuário a organizar testes e casos de teste. Uma dessas ferramentas é a Linha de Base. O protocolo de inspeção visual compara as imagens capturadas com as que foram armazenadas na linha de base do teste anterior. Cada execução de teste pode ter uma aparência diferente. Os olhos têm muitas linhas de base por teste, onde cada linha de base representa um ambiente selecionado. Cada uma dessas linhas de base pode armazenar uma série de referências de imagem.

Quando o teste visual é executado, o aplicativo é conduzido por uma sequência de estados do aplicativo e, para cada estado, é executado um ponto de verificação que captura uma imagem do aplicativo para esse estado. Os olhos comparam a série de imagens capturadas com a série de imagens de referência armazenadas na linha de base desse teste e relatam quaisquer diferenças significativas. A imagem dentro da linha de base depende das execuções de teste, mas também pode depender de outros fatores, como sistemas operacionais, tipo de navegador e tamanho da janela de visualização. Esses fatores são chamados de ambiente de execução.

A janela de visualização é a área visual de qualquer aplicativo dentro da janela do aplicativo. O tamanho da janela de visualização também pode afetar o layout de qualquer página. Por exemplo, alterar a dimensão do navegador pode alterar a aparência do texto renderizado. Páginas responsivas com elementos como menus podem parecer diferentes para dimensões diferentes. A fonte e o tamanho da imagem podem mudar. Nota: a janela de visualização é específica da plataforma.