Testes Automatizados

Recurso Em desenvolvimento

Testes Automatizados / Automated Testing

Estratégia de qualidade para o portfólio Mukutu (projetos grandes). Proposta de Gabriel, abr/2026 · tracking TEST-01 (#11). Implementação concreta: Test as You Touch.

Situação atual / Current state

Sem testes automatizados em nenhum projeto — cada entrega é aposta.

Princípio: mais importante que criar testes é mantê-los. Todo teste precisa rodar no CI/CD, senão vira código morto.

Buckets de risco / Risk buckets

BucketRiscoFoco
WordPress (vários sites)Médio — visualUpdate de plugin/tema quebrar layout
Sites Interativos (2 contratos)Alto — fluxos críticosForm, fluxos de usuário, integrações
Cabotagem (sistema core)AltoStack a mapear; pode ter base

Estratégia por tipo / Strategy

  • WordPress — regressão visual + smoke. Não testar PHP de plugins de terceiros; importa que nada quebrou visualmente.
  • Interativos — E2E nos fluxos críticos (form, carrinho, login, integração API).
  • Cabotagem — auditar primeiro (stack, testes, cobertura), expandir módulos problemáticos.

Matriz de ferramentas / Tooling

  • E2E: Playwright (recomendado — multi-browser, visual nativo, paralelo, action oficial GH) > Cypress > Puppeteer.
  • Unit/integração: Vitest (recomendado — rápido via Vite, setup mínimo) > Jest > PHPUnit (se já usa PHP).
  • Por que TS: Playwright + Vitest na mesma linguagem cobrem front + back; menos troca de contexto.

Fases / Phases

  1. Auditoria — stack, testes, cobertura, ambientes por projeto.
  2. Definição — escolher stack; garantir staging.
  3. Piloto — projeto mais crítico; validar processo, gerar template.
  4. CI/CD — GitHub Actions; PR não mergeia se falhar; travas graduais.
  5. Expansão — replicar adaptando por tipo.

Como manter / Keeping it alive

CI/CD como guardião (não depende de disciplina individual). Travas graduais: inicial (não bloqueia, só reporta) → intermediária (bloqueia nos pilotos) → madura (bloqueia tudo). Responsabilidade compartilhada: quem quebrou conserta; teste flaky = bug; IA gera, dev revisa.

Pré-requisitos / Prerequisites

  • Staging (sem ele E2E não roda). CI/CD básico (CICD-01/02). Acesso a repos + branches protegidas.

Perguntas pro time / Open questions

  • Qual projeto dá mais problema hoje? Já tentaram testes antes? Existe staging? Cabotagem tem base? Fluxos críticos dos interativos? Experiência do time com TS? Prioridade: regressão ou validar features novas?

Fontes / Sources

  • .raw/proposta-testes-automatizados.md — Gabriel, abr/2026 (TEST-01 / #11)