Next.js Pruebas de Calidad Adversarial e Inyección de Casos Extremos (nextjs-edge-qa)
Flujo de trabajo especializado para eliminar el sesgo de confirmación del autor, delegando la revisión de código y las pruebas de casos extremos a un subagente auditor adversario independiente.
[!TIP] Documento de referencia:
- Errores comunes y antipatrones:
references/pitfalls.md
Reglas y estándares arquitectónicos
1. El principio del auditor imparcial
- El agente principal que escribió el componente NO debe auto-certificar los casos extremos.
- DEBES invocar un subagente independiente usando
invoke_subagentpara auditar el código e inyectar afirmaciones adversariales.
2. Alcance de casos extremos adversariales ([ComponentName].edge.test.tsx)
El subagente DEBE escribir [ComponentName].edge.test.tsx enfocándose en escenarios que los desarrolladores pasan por alto con frecuencia:
- Valores límite: Cadenas vacías, entradas nulas/indefinidas, cadenas extremadamente largas, glifos Unicode y RTL persa (
"سلام دنیا"). - Permutaciones de props: Combinaciones no manejadas de banderas opcionales.
- Estados de red y error: Rechazo asíncrono, cargas malformadas, flujos lentos.
- Accesibilidad y movimiento profundos: Navegación por teclado (
Enter,Space,Tab,Escape),aria-expanded,aria-busy,aria-live, captura de foco yprefers-reduced-motion. - Estrés y ciclo de vida: Re-renderizados rápidos, limpieza al desmontar, finalización de temporizadores.
3. El principio de pruebas adversariales inmutables
- Está ESTRICTAMENTE PROHIBIDO modificar o suavizar las pruebas: El desarrollador NO tiene permitido eliminar o debilitar las afirmaciones en
[ComponentName].edge.test.tsx. - Arregla el código, no los tests: Si una prueba adversarial falla, modifica el componente (
[ComponentName].tsx) o la historia ([ComponentName].stories.tsx) para manejar correctamente el caso extremo.
Pasos del flujo de trabajo
-
Paso 1: Invocar subagente auditor adversario
- Llama a
invoke_subagentcon:TypeName:"self"Role:"Auditor de código y QA adversario"Model:"inherit"Prompt: Instruye al auditor para que inspeccione[ComponentName].tsx,[ComponentName]Skeleton.tsx,[ComponentName].test.tsxy[ComponentName].stories.tsx, luego genere[ComponentName].edge.test.tsxen el directorio del componente.
- Llama a
-
Paso 2: El auditor inyecta
[ComponentName].edge.test.tsx- El auditor escribe las afirmaciones de casos extremos y completa la revisión.
-
Paso 3: Ejecutar pruebas adversariales y auto-reparar
- Ejecuta la suite de pruebas de casos extremos:
pnpm test -- <target_component_dir>/[ComponentName].edge.test.tsx - Si alguna prueba falla, corrige la implementación del componente hasta que todas las pruebas pasen con 0 errores.
- Ejecuta la suite de pruebas de casos extremos: