Introdução functional-testing-introduction

Descubra os quality gates (portais de qualidade) disponíveis no processo de implantação do AEM as a Cloud Service e os vários tipos de testes funcionais integrados. Saiba como você pode contribuir e otimizar o uso deles dentro da estrutura de uma estratégia de teste abrangente.

Sobre o teste funcional

O diagrama a seguir fornece uma visão geral de alto nível dos pipelines disponíveis no contexto de uma estratégia geral de teste e do processo de implantação do AEM as a Cloud Service.

quality gates (portais de qualidade) de implantação do AEM Cloud Service

Finalidade dos testes funcionais

O objetivo dos pipelines de implantação do AEM Cloud Service é facilitar implantações robustas e seguras em vários estágios do ciclo de vida de desenvolvimento e lançamento do produto AEM. Esses pipelines incorporam vários quality gates (portais de qualidade) em diferentes níveis para garantir a integridade e a segurança das implantações para alterações de aplicativos do AEM e atualizações de produtos do AEM.

O Adobe fornece vários quality gates (portais de qualidade) incorporados, enquanto outros exigem sua intervenção para implementação e configuração. Essas portas de qualidade são versáteis, aplicadas em vários estágios do ciclo de vida e integradas diretamente à configuração de desenvolvimento e aos processos de CI/CD.

As portas de qualidade integradas validam principalmente a funcionalidade do produto AEM no contexto de seu aplicativo AEM. Por outro lado, os quality gates (portais de qualidade) personalizados que você configurou foram projetados para verificar se os recursos críticos do aplicativo e as interações do usuário estão funcionando conforme o esperado. Coletivamente, esses dois conjuntos de quality gates (portais de qualidade) trabalham juntos para garantir implantações automatizadas robustas e seguras para suas modificações de código e atualizações de produtos do AEM.

É importante observar que essas portas de qualidade não têm a intenção de ser uma estrutura de testes abrangente para toda a sua estratégia de testes. O produto AEM é submetido a testes abrangentes antes de entrar no processo de implantação do serviço de nuvem AEM. Da mesma forma, seu aplicativo já deve ser de alta qualidade antes de atingir a fase de implantação. Essa abordagem garante que os quality gates (portais de qualidade) se concentrem em seu objetivo principal de salvaguardar o processo de implantação, em vez de substituírem um regime de testes completo.

Portas de qualidade em teste

O diagrama a seguir fornece uma exibição detalhada dos quality gates (portais de qualidade) disponíveis e seu uso na estratégia geral de teste e no processo de implantação do AEM as a Cloud Service.

quality gates (portais de qualidade) de implantação do AEM Cloud Service

Resumo dos quality gates (portais de qualidade) fornecidos pelo cliente

Testes de unidade
Testes funcionais
personalizados
Testes de Interface do Usuário
Personalizados
Validações de Cliente
Teste manual
Pipeline de produção
Sim
Bloqueio
Sim
Bloqueio
60m Tempo Limite
Sim
Bloqueio
30m Tempo Limite
Não
Não
Pipeline de Não Produção
Sim
Bloqueio
Aceitação
Bloqueio
60m Tempo Limite
Aceitação
Bloqueio
30m Tempo Limite
Não
Não
Validação interna de Adobe
Sim
Bloqueio
Sim
Bloqueio
60m Tempo Limite
Sim
Bloqueio
30m Tempo Limite
Não
Não
CI/CD do cliente
Sim
Sim
Sim
Sim
Sim
Desenvolvedor local do cliente
Sim
Sim
Sim
Sim
Sim

Teste de unidade

É recomendável fornecer os testes de unidade para a sua aplicação de AEM, que são a base de cada estratégia de teste. Eles são destinados a funcionar rápido e frequentemente e dar feedback precoce e rápido. Eles são totalmente integrados aos workflows do desenvolvedor, ao seu próprio CI/CD e aos pipelines de implantação do serviço de nuvem AEM.

Eles são implementados usando JUnit e executados com Maven. Consulte o módulo principal do Arquétipo de Projeto AEM para obter um exemplo de teste unitário para AEM e como começar.

Qualidade do código

Esse quality gate (portal de qualidade) é configurado imediatamente e executa a análise de código estático no código do aplicativo AEM.

Consulte Teste de qualidade do código e Regras de qualidade do código personalizado para obter mais informações.

Testes do produto

Os testes funcionais do produto são testes estáveis de integração HTTP (ITs) para a funcionalidade principal do AEM, incluindo tarefas de autoria e replicação. O Adobe fornece e os mantém prontos para uso. Eles têm como objetivo impedir a implantação de alterações no código de aplicativo personalizado se isso quebrar as funcionalidades principais no produto AEM.

Eles usam JUnit para implementação, são executados com Maven e dependem dos Clientes de teste de AEM oficiais. O conjunto de testes do produto é mantido como
um projeto de código aberto segue as práticas recomendadas e pode ser considerado um bom ponto de partida para a implementação de seus testes.

Testes funcionais personalizados

Semelhante aos testes de produtos, os testes funcionais de clientes são testes de integração HTTP (ITs) implementados com JUnit, executados usando Maven e criados sobre os Clientes de teste AEM oficiais.

NOTE
Testes funcionais personalizados são executados em pipelines de produção e não produção (aceitação) usados para implantações de alteração de aplicativo do AEM e atualizações de push de produto do AEM. Eles desempenham um papel crucial para garantir que seu aplicativo funcione corretamente e para melhorar a segurança da versão. Os testes funcionais do cliente também são executados em pipelines internos de validação de pré-lançamento para cada cliente, o que ajuda a fornecer feedback antecipado.

Para manter execuções eficientes de pipelines, a Adobe recomenda que você se concentre nos principais recursos e fluxos de interação do usuário principal, visando um tempo de execução de teste funcional de cerca de 15 minutos ou menos. Conjuntos de testes funcionais completos que excedem esse tempo devem ser executados como parte dos pipelines gerais de validação do cliente durante o processo de desenvolvimento.

Consulte testes de produtos de código aberto ou o módulo it.tests do Arquétipo de Projetos AEM para ver exemplos.

Consulte Testes funcionais Java para obter mais informações.

Testes de interface do usuário personalizados

Para maximizar o controle de risco para o desenvolvimento específico do cliente, a Adobe incentiva você a capturar testes críticos de interface do usuário na AEM as a Cloud Service. Mantenha-os limitados, mas concentrados em maximizar o impacto na experiência do cliente.

Os testes são compactados em uma imagem Docker - projetada para ser o mais volátil possível (com suporte para Cypress, Playwright, Selenium, Java e JavaScript). Elas seguem as mesmas características e finalidades dos testes funcionais personalizados.

NOTE
Os testes de interface do usuário personalizados são executados em pipelines de produção e não produção (aceitação) usados para implantações de alteração de aplicativo do AEM e atualizações de push de produto do AEM. Elas são essenciais para garantir o funcionamento adequado do aplicativo e melhorar a segurança da versão. Os testes de interface do usuário do cliente também são executados em pipelines internos de validação de pré-lançamento para cada cliente, o que ajuda a fornecer feedback antecipado.
Os contêineres que não são Selenium devem executar testes usando um proxy HTTP com base nas variáveis de ambiente na Seção de Testes de Interface.

Para manter as execuções de pipeline eficientes, a Adobe recomenda que você se concentre nos principais recursos e fluxos de interação do usuário. Os conjuntos de testes de interface do usuário completos que excedem essa porta de qualidade devem ser executados como parte dos pipelines de validação geral do cliente. Incorpore-os ao processo de desenvolvimento do cliente.

Consulte testes de exemplo de código aberto ou o módulo ui.tests do Arquétipo de Projetos AEM para ver exemplos.

Consulte Testes de interface personalizados para obter mais informações.

Auditoria de experiência

O portal de qualidade da auditoria de experiência está executando auditorias do Google Lighthouse na página da Web do cliente.

Essa porta de qualidade é fornecida pelo AEM pronto para uso, mas não bloqueia os pipelines de implantação. Por padrão, uma auditoria na página raiz (/) da instância de publicação é executada. Você pode contribuir configurando até 25 caminhos personalizados que são considerados para auditorias.

Consulte Teste de auditoria de experiência para obter mais informações.

Validações de cliente

A porta de qualidade das validações de clientes é um espaço reservado para a estratégia e o esforço de teste do próprio cliente, executados antes que as alterações no aplicativo do cliente atinjam os pipelines de implantação de nuvem do AEM.

Aqui você pode escolher as ferramentas e estruturas que preferir. Ao contrário dos testes de função do cliente e testes de interface do usuário personalizados, não há limites relacionados à AEM as a Cloud Service. Dessa forma, a Adobe recomenda que você execute testes funcionais e de interface do usuário de longa duração aqui.

Embora você possa escolher qualquer ferramenta e estrutura, o Adobe sugere alinhar a integração baseada em HTTP e testes de interface com as ferramentas e estruturas usadas nos quality gates (portais de qualidade) funcionais e de testes de interface do usuário personalizados. Além disso, a Adobe recomenda incorporar os Ambientes de desenvolvimento rápido (RDE) à sua estratégia de teste local para refletir os ambientes de nuvem AEM.

Teste manual

A porta de qualidade do teste manual é um espaço reservado para clientes que fazem testes manuais. Como os pipelines de nuvem de AEM não são compatíveis com testes manuais, eles devem ser incluídos em sua estratégia de teste local.

Para testes manuais, pode ser útil integrar o a um ambiente de desenvolvimento adicional do AEM Cloud Service.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab