Introdução functional-testing-introduction

Saiba mais sobre os quality gates (portais de qualidade) disponíveis no processo de implantação do AEM as a Cloud Service, os diferentes tipos de testes funcionais integrados, como você pode contribuir e como fazer melhor uso deles no contexto de uma estratégia geral de testes.

Visão geral

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

Propósito

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. Esses quality gates (portais de qualidade) são versáteis, com alguns sendo aplicáveis em vários estágios do ciclo de vida e até mesmo integráveis em sua própria configuração de desenvolvimento e 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

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 das Portas de Qualidade Fornecidas 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 ver um exemplo de teste unitário para AEM e como introdução.

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 um conjunto de testes estáveis de integração HTTP (ITs) com funcionalidade principal no AEM, como 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 são implementados usando Junit, são executados usando Maven e usam os 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

Assim como os testes de produtos, os testes funcionais de clientes são testes de integração HTTP (ITs) e também são implementados usando Junit, são executados usando Maven e criados sobre os Clientes de teste AEM oficiais.

NOTE
Testes funcionais personalizados são executados nos pipelines de produção e não produção (aceitação), que são usados pelas implantações de alterações do aplicativo AEM e atualizações de push de produto AEM e, portanto, são uma contribuição essencial para ajudar a garantir o funcionamento adequado do aplicativo e aumentar 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 a eficiência das execuções de pipeline, recomendamos nos concentrar nos principais recursos e fluxos de interação do usuário. Recomenda-se um tempo de execução de ~15 minutos ou menos para testes funcionais. Recomenda-se que conjuntos de testes funcionais completos que não se encaixem nessa porta de qualidade sejam executados como parte dos pipelines gerais de validação do cliente durante o fluxo de desenvolvimento do cliente.

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 capturar testes críticos de interface do usuário no AEM CS. Elas devem ser mantidas em número bastante limitado, mas com o maior 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, 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 nos pipelines de produção e não produção (aceitação) usados pelas implantações de alterações do aplicativo AEM e atualizações de push de produto AEM e, portanto, são uma contribuição essencial para ajudar a garantir o funcionamento adequado do aplicativo e aumentar 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 do Usuário.

Para manter as execuções de pipeline eficientes, recomendamos nos concentrar nos principais recursos e fluxos de interação do usuário. Recomenda-se que os conjuntos de testes de interface do usuário completa que não se encaixam nessa porta de qualidade sejam executados como parte dos pipelines gerais de validação do cliente durante o fluxo 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 clientes

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 ao AEM as a Cloud Service e, portanto, recomendamos executar testes funcionais e de interface do usuário de longa duração aqui.

Embora você possa escolher qualquer ferramenta e estrutura, recomendamos alinhar testes de integração baseados em HTTP e testes de interface do usuário com as ferramentas e estruturas disponíveis nos testes funcionais personalizados e nos quality gates (portais de qualidade) de testes de interface do usuário personalizados. Recomendamos integrar o Rapid Development Environments (RDE) à sua estratégia de testes local para testar o mais próximo possível dos ambientes de nuvem do AEM.

Teste manual

A porta de qualidade do teste manual é um espaço reservado para clientes que fazem testes manuais. Os pipelines de nuvem de AEM não são compatíveis com testes manuais e, portanto, isso precisa acontecer como parte de sua própria 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