Ir para o conteúdo principal

Introdução ao Projeto

##

🧩 Sobre Visão Sistema

Geral

Este projeto automatizade osautomação testestem como foco testar, validar e garantir o funcionamento de um sistema **PDV (Ponto de Venda)** completo, utilizado por empresas para realizar operações comerciais integradas com amúltiplos retaguarda.módulos integrados. O sistema é **100%desenvolvido baseadocom na web (nuvem)** e possui interface construída sobre o framework **Sencha ExtJS 4.2**2 e executado totalmente via web (cloud), permitindo acesso remoto com arquiteturafuncionalidades modularrobustas voltadas para o varejo e altamentegestão interligada.

## 🧱 Módulos Atendidosempresarial.

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


🗂️ Estrutura Modular do Sistema

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

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

  • Módulo Fiscal:**
    Lida Emissãcom geração e cancelamento de cuponsnotas fiscais, integração com SAT/NFC-a SEFAZ, CF-e, geraçãoNFe, decupons, XMLscancelamentos e controlescontrole tributários.rio.

  • Parceiros:
    - **👥 Módulo de Parceiros:** Cadastro, consulta e ediçãGestão de clientes, fornecedores e transportadoras.demais entidades relacionadas a transações.

  • Financeiro:
    -Gera **💰e Módulo Financeiro:** Fluxo de caixa,controla contas a pagar/receber, aprovaçãoões, fluxos de valorescaixa e operaçconciliações debancárias.

    cobrança.
  • Estoque:
    - **📦 MóduloControle de Estoque:**entrada, Entradasaída, movimentações, inventário e saídaprodutos.

    de
  • produtos,
controle

Cada demódulo saldos,pode movimentaçõesincluir, editar, consultar e inventário.
-validar **🛍️registros Módulocom deregras Vendasespecíficas, (PDV):**mas Operaçõestodos decompartilham vendadados em tempo real, autenticação com PIN, cancelamentosreal e reimpressões.interdependência funcional.

Esses


módulos são **interdependentes**: uma venda impacta o estoque, gera registros financeiros e pode afetar dados fiscais — o que exige validações em cascata em vários pontos do sistema.

##

🎯 Objetivo da Automação

A automação combusca **Cypress**garantir temque como objetivos principais:

- ✅ Aumentar a confiabilidade nas rotinasações críticas de negócio.
-cio
funcionem Detectarconforme falhaso 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 antecedênciao apósestoque.

  • 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 componentes.
    -versão.

  • Garantir
  • que os fluxos ponta a ponta funcionem corretamente.
    - ✅

    Reduzir ao necessidaderetrabalho 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


🚀 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 manuaispor repetitivos.
      - ✅ Documentar comandos e padrões para facilitar onboarding e manutenção.módulo

    • ##Execução 🛠️automática Tecnologiaspor Utilizadasfeature/pull request

    • - **Cypress** para testes end-to-end (E2E)
      - **Sencha ExtJS 4.2** como framework da interface
      - **Node.js** como runtime dos testes
      - **BookStack** como repositório de documentaçIntegração
      - Integrações com **Jenkins** ou **GitHub Actions** para CI/CD

      ## ⚙️ Características Técnicas

      - O sistema utiliza **componentes dinâmicos e aninhados** do ExtJS (grids, comboBoxes, menus flutuantes, etc).
      - O Cypress acessa elementos com **seletores CSS complexos**, encapsulados em `Cypress.env()` para organização e reuso.
      - **Comandos personalizados (`Cypress.Commands`)** são amplamente utilizados para login, navegação e manipulação de elementos.

      ## 🚀 Escopo Atual da Automação

      A cobertura atual inclui:

      - Autenticação de usuários (PDV, Caixa, Retaguarda)
      - Abertura e finalização de vendas
      - Emissão e cancelamento de cupons fiscais
      - Cadastro e manutenção de parceiros
      - Controle de estoque: entrada, movimentação, saída
      - Contas a pagar/receber, fluxo de caixa e aprovações

      ## 🧭 Próximos Passos

      - Expandir cobertura para cenárelatórios de exceção
      -cobertura Utilizare massa dinâmicaanálise de dadosfalhas

      via
    • API
      -
    Integrar
  5. validações visuais (screenshots e vídeos)
    - Criar guias técnicos para escrita de testes