Ir para o conteúdo principal

Introdução ao Projeto

🧩 Visão Geral

Este projeto de automação tem como foco testar, validar e garantir o funcionamento de um sistema PDV (Ponto de Venda) completo, com múltiplos módulos integrados. O sistema é desenvolvido com Sencha ExtJS 4.2 e executado totalmente via web (cloud), permitindo acesso remoto com funcionalidades robustas voltadas para o varejo e gestão empresarial.

A automação é construída com Cypress, focada em testes end-to-end de alta confiabilidade.


🗂️ Estrutura Modular do Sistema

O sistema é composto por diversos módulos principais, todos integrados entre si:

  • PDV (Ponto de Venda):
    Responsável pelas vendas e operações em tempo real.

  • Módulo Fiscal:
    Lida com geração de notas fiscais, integração com a SEFAZ, CF-e, NFe, cupons, cancelamentos e controle tributário.

  • Parceiros:
    Gestão de clientes, fornecedores e demais entidades relacionadas a transações.

  • Financeiro:
    Gera e controla contas a pagar/receber, aprovações, fluxos de caixa e conciliações bancárias.

  • Estoque:
    Controle de entrada, saída, movimentações, inventário e produtos.

Cada módulo pode incluir, editar, consultar e validar registros com regras específicas, mas todos compartilham dados em tempo real e interdependência funcional.


🎯 Objetivo da Automação

A automação busca garantir que ações críticas de negócio funcionem conforme o esperado em diferentes cenários, como:

  • Cadastro e edição de produtos/parceiros.

  • Processos de venda e emissão fiscal.

  • Movimentações financeiras integradas com o estoque.

  • Regras condicionais de fluxo (ex: liberar venda com estoque negativo, validar tributação, etc.).

Além disso, o projeto tem como objetivo:

  • Evitar regressões em atualizações de versão.

  • Reduzir o retrabalho manual em testes repetitivos.

  • Fornecer uma base confiável para homologação e validação contínua.


🛠️ Tecnologias e Arquitetura

  • Frontend: Sencha ExtJS 4.2

  • Backend: PHP (REST), SQL, integração com sistemas fiscais

  • Automação: Cypress 12+, Node.js

  • Execução: local, CI/CD via Jenkins ou similar

  • Ambientes: HMG (homologação), DEV, PRD

  • Testes: baseados em ações visuais, fluxo do usuário e simulação de operações reais


🔄 Integração com CI/CD

Para garantir a qualidade contínua do sistema, a automação de testes está integrada a pipelines de CI/CD (Integração Contínua e Entrega Contínua), que realizam:

  • Execução automática dos testes ao subir código:
    Cada pull request ou commit dispara a execução dos testes Cypress no ambiente de homologação.

  • Geração de relatórios automáticos:
    Logs detalhados, vídeos e screenshots são gerados para auxiliar na análise e detecção rápida de falhas.

  • Gatekeeper de qualidade:
    As pipelines bloqueiam a integração ao branch principal caso haja falhas críticas nos testes automatizados.

  • Deploy automatizado (CD):
    Após validação, o código pode ser publicado nos ambientes de homologação ou produção, garantindo segurança e confiabilidade.

Essa integração utiliza ferramentas como Jenkins, GitHub Actions ou GitLab CI, dependendo do contexto do projeto.

ontexto do projeto.


🚀 Recomendações Futuras

  1. Atualização da stack frontend:
    Avaliar migração gradual de Sencha 4.2 para soluções modernas (React, Vue), mantendo compatibilidade e modularização.

  2. Uso de dados mockados ou factories:
    Reduzir dependência de dados fixos via banco, permitindo testes isolados e dinâmicos.

  3. Separação de ambientes por tipo de teste:

    • Ambiente leve para testes E2E rápidos

    • Ambiente completo para testes de integração fiscal e financeiro

  4. Adoção de boas práticas de QA contínuo:

    • Cobertura de testes por módulo

    • Execução automática por feature/pull request

    • Integração com relatórios de cobertura e análise de falhas