View on GitHub

manual-da-engenharia-para-codar

Este é o manual para compromissos de "código com" a engenharia.

Teste de Ponta a Ponta (E2E)

O teste de ponta a ponta (E2E) é uma metodologia de teste de software para verificar um fluxo funcional e de dados de uma aplicação composta por vários subsistemas trabalhando juntos do início ao fim.

Muitas vezes, esses sistemas são desenvolvidos em diferentes tecnologias por diferentes equipes ou organizações. Finalmente, eles se unem para formar uma aplicação de negócios funcional. Portanto, testar um único sistema não seria suficiente. Assim, o teste de ponta a ponta verifica a aplicação do início ao fim, colocando todos os seus componentes juntos.

Teste de Ponta a Ponta

Por que Teste E2E [O Porquê]

Em muitos cenários de aplicativos de software comerciais, um sistema de software moderno consiste em sua interconexão com vários subsistemas. Esses subsistemas podem estar dentro da mesma organização ou podem ser componentes de diferentes organizações. Além disso, esses subsistemas podem ter ciclos de lançamento de vida útil semelhantes ou diferentes do sistema atual. Como resultado, se houver qualquer falha ou defeito em qualquer subsistema, isso pode afetar adversamente todo o sistema de software, levando ao seu colapso.

Pirâmide de Teste E2E

A ilustração acima é uma pirâmide de teste do blog de Kent C. Dodd, que é uma combinação das pirâmides do blog de Martin Fowler e do Google Testing Blog.

A maioria dos seus testes está na parte inferior da pirâmide. À medida que você sobe na pirâmide, o número de testes diminui. Além disso, subindo na pirâmide, os testes ficam mais lentos e mais caros para escrever, executar e manter. Cada tipo de teste varia para o seu propósito, aplicação e as áreas que se destina a cobrir. Para mais informações sobre a análise comparativa de diferentes tipos de testes, consulte este documento ## Unidade vs Integração vs Sistema vs Teste E2E.

Blocos de Design de Teste E2E [O Quê]

Blocos de Design de Teste E2E

Vamos examinar todas as 3 categorias uma por uma:

Funções do Usuário

As seguintes ações devem ser realizadas como parte da construção de funções do usuário:

Condições

As seguintes atividades devem ser realizadas como parte da construção de condições com base nas funções do usuário:

Casos de Teste

Os seguintes fatores devem ser considerados para a construção de casos de teste:

Aplicando o Teste E2E [O Como]

Como qualquer outro teste, o teste E2E também passa por fases formais de planejamento, execução de teste e encerramento.

O teste E2E é feito com as seguintes etapas:

Planejamento

Pré-requisito

Execução do Teste

Encerramento do Teste

Métricas de Teste

Rastrear as métricas de qualidade dá uma visão sobre o status atual do teste. Algumas métricas comuns de teste E2E são:

Frameworks e Ferramentas de Teste E2E

1. Gauge Framework

Gauge Framework

Gauge é um framework gratuito e de código aberto para escrever e executar testes E2E. Algumas características-chave do Gauge que o tornam único incluem:

Site do Gauge Framework

2. Robot Framework

Robot Framework

Robot Framework é um framework de automação de código aberto genérico. O framework tem uma sintaxe fácil, utilizando palavras-chave legíveis por humanos. Suas capacidades podem ser estendidas por bibliotecas implementadas com Python ou Java.

Robot compartilha muitos dos mesmos “prós” que o Gauge, exceto as ferramentas de desenvolvimento e a sintaxe. Em nosso uso, descobrimos que o Intellisense do VS Code oferecido com o Gauge era muito mais estável do que as ofertas para o Robot. Também achamos a sintaxe menos legível do que o que o Gauge oferecia. Embora ambos os frameworks permitam definições de casos de teste baseadas em marcação, a sintaxe do Gauge lê muito mais como uma frase em português do que o Robot. Finalmente, o Intellisense está incorporado nos arquivos de marcação para casos de teste do Gauge, o que criará um stub de função para a definição de teste real se o desenvolvedor permitir. O mesmo não pode ser dito do Robot Framework.

Site do Robot Framework

3. TestCraft

TestCraft

TestCraft é uma plataforma de automação de teste Selenium sem código. Sua tecnologia revolucionária de IA e modelagem visual única permitem uma criação e execução de teste mais rápida, eliminando a sobrecarga de manutenção de teste.

Os testadores criam cenários de teste totalmente automatizados sem codificação. Os clientes encontram bugs mais rapidamente, lançam com mais frequência, integram-se com a abordagem CI/CD e melhoram a qualidade geral de seus produtos digitais. Isso cria uma experiência completa de teste de ponta a ponta.

Site do Perfecto (TestCraft) ou obtenha-o no Visual Studio Marketplace

4. Ranorex Studio

Ranorex Studio

Ranorex Studio é uma ferramenta completa de automação de teste de ponta a ponta para aplicações desktop, web e móveis. Crie testes confiáveis rapidamente sem qualquer codificação ou usando o IDE completo. Use arquivos CSV ou Excel externos ou um banco de dados SQL como entradas para seus testes.

Execute testes em paralelo ou em uma grade Selenium com o Selenium WebDriver integrado. O Ranorex Studio se integra ao seu processo de CI/CD para encurtar seus ciclos de lançamento sem sacrificar a qualidade.

Os testes do Ranorex Studio também se integram ao Azure DevOps (AzDO), que podem ser executados como parte de um pipeline de build no AzDO.

Site do Ranorex Studio

5. Katalon Studio

Katalon

Katalon Studio é uma excelente solução de automação de ponta a ponta para testes web, API, móveis e desktop com suporte DevOps.

Com o Katalon Studio, o teste automatizado pode ser facilmente integrado a qualquer pipeline de CI/CD para lançar produtos mais rapidamente, garantindo alta qualidade. O Katalon Studio personaliza para usuários de iniciantes a especialistas. Funções robustas como Espionagem, Gravação, Interface de editor duplo e Palavras-chave personalizadas tornam possível a configuração, criação e manutenção de testes para os usuários.

Construído em cima do Selenium e Appium, o Katalon Studio ajuda a padronizar seus testes de ponta a ponta. Ele também está em conformidade com os frameworks mais populares para trabalhar de forma integrada com outras ferramentas no ecossistema de teste automatizado.

O Katalon é endossado pela Gartner, profissionais de TI e uma grande comunidade de teste.

Nota: No momento da escrita deste texto, a extensão do Katalon Studio para AzDO NÃO estava disponível para Linux.

Site do Katalon Studio ou leia sobre sua integração com o AzDO

6. BugBug.io

BugBug

BugBug é uma maneira fácil de automatizar testes para aplicações web. A ferramenta foca na simplicidade, mas ainda permite que você cubra todos os casos de teste essenciais sem codificação. É uma solução completa - você pode criar testes facilmente e usar a nuvem integrada para executá-los de acordo com um cronograma ou a partir do seu CI/CD, sem alterações na sua própria infraestrutura.

BugBug é uma alternativa interessante ao Selenium porque é realmente uma tecnologia completamente diferente. Ele é baseado em uma extensão do Chrome que permite ao BugBug gravar e executar testes mais rapidamente do que os frameworks da velha escola.

A maior vantagem do BugBug é sua facilidade de uso. A maioria dos testes criados com o BugBug simplesmente funciona imediatamente. Isso torna mais fácil para pessoas não técnicas manterem os testes - com o BugBug, você pode economizar dinheiro na contratação de um engenheiro de QA.

Site do BugBug

Conclusão

Espero que você tenha aprendido vários aspectos do teste E2E, como seus processos, métricas, a diferença entre testes Unitários, de Integração e E2E, e os vários frameworks e ferramentas de teste E2E recomendados.

Para qualquer lançamento comercial do software, a verificação do teste E2E desempenha um papel importante, pois testa toda a aplicação em um ambiente que imita exatamente os usuários do mundo real, como comunicação de rede, interação com middleware e serviços de back-end, etc.

Por fim, o teste E2E é frequentemente realizado manualmente, pois o custo de automatizar tais casos de teste é muito alto para ser suportado por qualquer organização. Dito isso, o objetivo final de cada organização é tornar o teste E2E o mais eficiente possível, adicionando componentes de teste totalmente e semi-automatizados ao processo. Portanto, os vários frameworks e ferramentas de teste E2E listados neste artigo vêm em socorro.

Recursos