Skip to main content

Cypress

Papel do Cypress na estratégia de QA da DBSeller

O Cypress é a principal ferramenta de automação de testes adotada pela DBSeller para validação de fluxos críticos e cenários regressivos dos sistemas web, com foco especial no E-Cidade, que possui uma arquitetura altamente complexa e legada.

O Cypress foi escolhido para atuar como reforço da cobertura de testes manuais, garantindo que funcionalidades já validadas continuem funcionando após alterações frequentes, correções de bugs e evoluções constantes do sistema.

Na estratégia de QA da DBSeller, o Cypress não substitui testes manuais, ele:

  • protege fluxos críticos

  • reduz risco de regressões

  • aumenta previsibilidade das entregas

  • libera o QA para análise e validação de novos cenários


Por que o Cypress foi escolhido

A escolha do Cypress não foi apenas por popularidade da ferramenta, mas por sua capacidade de adaptação a um ambiente extremamente desafiador, como o E-Cidade.

O E-Cidade apresenta características que inviabilizam abordagens tradicionais de automação:

  • uso intenso de iframes aninhados

  • DOM legado e pouco semântico

  • elementos sem identificadores únicos

  • re-renderizações constantes

  • tempos de carregamento imprevisíveis

  • componentes antigos e modernos convivendo no mesmo fluxo

O Cypress foi escolhido porque permite:

  • controle total do fluxo de execução

  • criação de comandos customizados

  • maior previsibilidade na sincronização

  • captura nativa de evidências

A partir disso, foi construída uma arquitetura de automação própria, específica para a realidade da DBSeller.


Adaptação do Cypress ao E-Cidade

Para viabilizar a automação no E-Cidade, foi necessário ir além do uso padrão da ferramenta. A equipe de QA desenvolveu uma API interna de automação multi-iframe, capaz de lidar com a estrutura real do sistema.

Essa adaptação permite:

  • busca recursiva em qualquer nível de iframe

  • interação segura com elementos sem ID

  • resistência a DOM instável e page detach

  • validação de toasts e mensagens em múltiplos contextos

  • execução confiável em módulos distintos

Essa arquitetura tornou possível automatizar fluxos que, em cenários tradicionais, seriam considerados inviáveis para automação.


Tipo de testes cobertos pelo Cypress

Na DBSeller, o Cypress é utilizado principalmente para:

  • testes end-to-end (E2E)

  • testes regressivos

  • validação de fluxos críticos

  • verificação de integrações entre módulos

  • healthcheck de ambientes

Os testes automatizados validam o sistema da perspectiva do usuário, navegando por menus, módulos e fluxos completos, simulando o uso real do E-Cidade.


Quando usar Cypress

O Cypress deve ser utilizado quando:

  • o cenário é repetitivo e já validado manualmente

  • existe alto risco de regressão

  • a funcionalidade impacta múltiplos módulos

  • o fluxo é crítico para operação do cliente

  • o custo de falha em produção é alto

  • o teste precisa ser executado com frequência

Exemplos comuns:

  • login e navegação entre módulos

  • fluxos completos de matrícula

  • validações que envolvem múltiplas telas

  • integrações sensíveis entre rotinas


Quando não usar Cypress

O Cypress não deve ser a primeira escolha quando:

  • a funcionalidade ainda está em constante mudança

  • o comportamento não está bem definido

  • o cenário exige validação exploratória

  • a análise depende fortemente de interpretação humana

  • o custo de manutenção do teste seria maior que o benefício

Nesses casos, o teste manual é mais adequado e eficiente.


Instalação do Cypress

A instalação do Cypress segue o padrão oficial da ferramenta, utilizando Node.js como base.

Pré-requisitos

  • Node.js versão 18 ou superior

  • Gerenciador de pacotes npm

Instalação das dependências


npm install

Abrir o Cypress em modo interativo


npx cypress open

Executar os testes em modo headless


npx cypress run

Esses comandos permitem executar a suíte de testes tanto localmente quanto em ambientes automatizados.


Arquitetura geral da automação

A automação da DBSeller foi projetada com foco em:

  • confiabilidade

  • manutenibilidade

  • observabilidade

  • evidências completas

  • suporte a interfaces legadas

A estrutura do projeto separa claramente:

  • testes por domínio funcional

  • comandos customizados

  • dados de ambiente

  • evidências por execução

Cada execução gera um RUN-ID, organizando automaticamente vídeos, screenshots e logs, facilitando rastreabilidade e auditoria.


Cypress como parte da arquitetura de QA

Na arquitetura de QA da DBSeller, o Cypress é um pilar de sustentação da qualidade contínua, atuando em conjunto com:

  • testes manuais

  • testes exploratórios

  • análise baseada em risco

Ele não atua isoladamente, mas integrado ao fluxo de QA, garantindo que a evolução constante do sistema não comprometa funcionalidades já estabilizadas.


Importante

Esta página define quando e por que usar o Cypress.
Detalhes de implementação, comandos customizados e estrutura técnica estão documentados no repositório oficial da automação.