Testes Automatizados
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
| Bucket | Risco | Foco |
|---|---|---|
| WordPress (vários sites) | Médio — visual | Update de plugin/tema quebrar layout |
| Sites Interativos (2 contratos) | Alto — fluxos críticos | Form, fluxos de usuário, integrações |
| Cabotagem (sistema core) | Alto | Stack 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
- Auditoria — stack, testes, cobertura, ambientes por projeto.
- Definição — escolher stack; garantir staging.
- Piloto — projeto mais crítico; validar processo, gerar template.
- CI/CD — GitHub Actions; PR não mergeia se falhar; travas graduais.
- 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?
Relacionado / Related
- Test as You Touch — o guardrail de diff-coverage já implementado (ABM Portal).
- Skills da Equipe Mukutu — skill
automate-testsoperacionaliza a geração de testes. - Governança Mukutu
- MOC Tech IA
Fontes / Sources
.raw/proposta-testes-automatizados.md— Gabriel, abr/2026 (TEST-01 / #11)