ai-regression-testing
Ajuda seu agente a realizar testes de regressão em código gerado por IA, evitando pontos cegos.
O que ela faz
Esta ferramenta ajuda a testar seu código automaticamente, especialmente quando a inteligência artificial (IA) o escreveu e revisou. Ela garante que correções de bugs não introduzam novos problemas, focando em testar sem depender de bancos de dados.
Quando usar
- ✓Quando a IA modifica partes importantes do código (rotas de API, lógica de backend).
- ✓Após corrigir um bug, para ter certeza de que ele não voltará.
- ✓Quando você usa um modo de 'sandbox' ou 'simulação' para testar sem usar o banco de dados real.
Exemplo do que pedir para a IA
“Teste se a minha API de perfil de usuário retorna todos os campos necessários, incluindo 'notification_settings'.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela funciona configurando um ambiente de teste rápido que simula seu aplicativo sem precisar de um banco de dados. Em seguida, escreve testes específicos para verificar se as correções de bugs não quebraram outras partes do código, especialmente em diferentes modos de operação (como sandbox vs. produção).
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill ai-regression-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/ai-regression-testing/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Testes de Regressão de IA
Testes com padrões especificamente projetados para desenvolvimento assistido por IA, onde o mesmo modelo escreve código e o revisa — criando pontos cegos sistemáticos que apenas testes automatizados podem detectar.
Quando Ativar
- Agente de IA (Claude Code, Cursor, Codex) modificou rotas de API ou lógica de backend
- Um bug foi encontrado e corrigido — é preciso evitar sua reintrodução
- O projeto possui um modo sandbox/mock que pode ser aproveitado para testes sem banco de dados
- Executando
/bug-checkou comandos de revisão similares após alterações de código - Existem múltiplos caminhos de código (sandbox vs produção, flags de recursos, etc.)
O Problema Central
Quando uma IA escreve código e depois revisa seu próprio trabalho, ela carrega as mesmas suposições em ambas as etapas. Isso cria um padrão de falha previsível:
AI writes fix → AI reviews fix → AI says "looks correct" → Bug still exists
Exemplo do mundo real (observado em produção):
Fix 1: Added notification_settings to API response
→ Forgot to add it to the SELECT query
→ AI reviewed and missed it (same blind spot)
Fix 2: Added it to SELECT query
→ TypeScript build error (column not in generated types)
→ AI reviewed Fix 1 but didn't catch the SELECT issue
Fix 3: Changed to SELECT *
→ Fixed production path, forgot sandbox path
→ AI reviewed and missed it AGAIN (4th occurrence)
Fix 4: Test caught it instantly on first run PASS:
O padrão: inconsistência entre os caminhos sandbox/produção é a principal regressão introduzida por IA.
Testes de API em Modo Sandbox
A maioria dos projetos com arquitetura amigável para IA possui um modo sandbox/mock. Esta é a chave para testes de API rápidos e sem banco de dados.
Configuração (Vitest + Next.js App Router)
// vitest.config.ts
import { defineConfig } from "vitest/config";
import path from "path";
export default defineConfig({
test: {
environment: "node",
globals: true,
include: ["__tests__/**/*.test.ts"],
setupFiles: ["__tests__/setup.ts"],
},
resolve: {
alias: {
"@": path.resolve(__dirname, "."),
},
},
});
// __tests__/setup.ts
// Force sandbox mode — no database needed
process.env.SANDBOX_MODE = "true";
process.env.NEXT_PUBLIC_SUPABASE_URL = "";
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY = "";
Auxiliar de Teste para Rotas de API do Next.js
// __tests__/helpers.ts
import { NextRequest } from "next/server";
export function createTestRequest(
url: string,
options?: {
method?: string;
body?: Record<string, unknown>;
headers?: Record<string, string>;
sandboxUserId?: string;
},
): NextRequest {
const { method = "GET", body, headers = {}, sandboxUserId } = options || {};
const fullUrl = url.startsWith("http") ? url : `http://localhost:3000${url}`;
const reqHeaders: Record<string, string> = { ...headers };
if (sandboxUserId) {
reqHeaders["x-sandbox-user-id"] = sandboxUserId;
}
const init: { method: string; headers: Record<string, string>; body?: string } = {
method,
headers: reqHeaders,
};
if (body) {
init.body = JSON.stringify(body);
reqHeaders["content-type"] = "application/json";
}
return new NextRequest(fullUrl, init);
}
export async function parseResponse(response: Response) {
const json = await response.json();
return { status: response.status, json };
}
Escrevendo Testes de Regressão
O princípio chave: escreva testes para bugs que foram encontrados, não para código que funciona.
// __tests__/api/user/profile.test.ts
import { describe, it, expect } from "vitest";
import { createTestRequest, parseResponse } from "../../helpers";
import { GET, PATCH } from "@/app/api/user/profile/route";
// Define o contrato — quais campos DEVEM estar na resposta
const REQUIRED_FIELDS = [
"id",
"email",
"full_name",
"phone",
"role",
"created_at",
"avatar_url",
"notification_settings", // ← Adicionado após um bug indicar que estava faltando
];
describe("GET /api/user/profile", () => {
it("retorna todos os campos obrigatórios", async () => {
const req = createTestRequest("/api/user/profile");
const res = await GET(req);
const { status, json } = await parseResponse(res);
expect(status).toBe(200);
for (const field of REQUIRED_FIELDS) {
expect(json.data).toHaveProperty(field);
}
});
// Teste de regressão — este bug exato foi introduzido por IA 4 vezes
it("notification_settings não é undefined (regressão BUG-R1)", async () => {
const req = createTestRequest("/api/user/profile");
const res = await GET(req);
…
Perguntas frequentes
Por que testar quando a IA escreve e revisa o código?
Quando a mesma IA escreve e revisa o código, ela pode ter os mesmos 'pontos cegos', esquecendo de verificar algo importante em ambos os processos. Testes automatizados pegam esses erros.
O que é 'sandbox mode'?
É um modo de teste que simula o funcionamento do seu aplicativo sem se conectar a um banco de dados real. Isso torna os testes mais rápidos e fáceis de configurar.
Qual o tipo de erro mais comum que essa ferramenta ajuda a evitar?
O erro mais comum é quando uma correção funciona em um ambiente (como o de produção) mas quebra em outro (como o de sandbox), ou vice-versa. Essa ferramenta verifica essas inconsistências.
Detalhes
Descrição original do autor
Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #137
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
mcp-builder
Ajuda seu agente a criar servidores que conectam LLMs a serviços externos. Essencial para integrar APIs e serviços usando Python ou Node/TypeScript.
anthropics/skills
prepare-mcp-integration
Prepara integrações com fornecedores (MCP) através de pesquisa e aprovação humana. Segue um processo guiado para novas integrações.
paperclipai/paperclip
first-task
Guia o agente na primeira tarefa do usuário. Ele interpreta a resposta inicial, esclarece o objetivo e propõe um plano ou tarefa única para aprovação.
paperclipai/paperclip