regression-check
npx machina-cli add skill 686f6c61/alfred-dev/regression-check --openclawVerificación de regresiones
Resumen
Este skill verifica que los cambios recientes no han roto funcionalidad que antes funcionaba correctamente. Las regresiones son uno de los tipos de bug más frustrantes: algo que el usuario daba por hecho deja de funcionar sin razón aparente. Este proceso las detecta antes de que lleguen a producción.
El enfoque es sistemático: se analiza el impacto del cambio, se ejecutan los tests relevantes y se verifica la integración con el resto del sistema.
Proceso
-
Analizar el alcance del cambio. Entender qué se ha modificado:
- Ficheros cambiados (diff de Git).
- Módulos afectados directamente.
- Dependientes: qué otros módulos importan o usan los módulos cambiados.
- Interfaces públicas: se ha cambiado alguna firma de función, tipo de retorno o contrato?
-
Mapear las áreas de impacto potencial. Un cambio en un módulo base puede afectar a todo lo que depende de él. Trazar el árbol de dependencias hacia arriba:
Módulo cambiado --> Módulos que lo importan --> Módulos que importan a esosCuanto más profundo en el árbol, mayor es el área de impacto.
-
Ejecutar los tests del área afectada. En orden:
- Tests unitarios de los módulos modificados.
- Tests unitarios de los módulos dependientes.
- Tests de integración que cubran la interacción entre módulos afectados.
- Tests e2e de los flujos que pasan por los módulos afectados.
-
Si hay tests que fallan, analizar la causa:
- El test falla porque el cambio rompe una funcionalidad existente? Es una regresión real. Corregir.
- El test falla porque su expectativa era incorrecta y el cambio es correcto? Actualizar el test con justificación.
- El test es inestable (flaky) y falla intermitentemente? Documentar y marcar para arreglar.
-
Identificar lagunas de testing. Si hay áreas afectadas por el cambio que no tienen tests:
- Documentar la laguna como riesgo.
- Si el riesgo es alto, escribir tests de caracterización antes de dar el cambio por bueno.
- Crear issues para cubrir las lagunas detectadas.
-
Verificar integración. Más allá de los tests automatizados, verificar manualmente o con tests exploratorios que los flujos principales siguen funcionando. Prestar especial atención a:
- Flujos que cruzan múltiples módulos.
- Integraciones con servicios externos.
- Comportamiento en condiciones de error.
-
Documentar el resultado. Registrar: qué se verificó, qué pasó, qué quedó sin verificar y por qué.
Criterios de éxito
- Se ha analizado el impacto del cambio en todo el árbol de dependencias.
- Los tests del área afectada se han ejecutado y pasan.
- Los tests que fallan han sido analizados y clasificados (regresión real, test incorrecto, flaky).
- Las lagunas de testing están documentadas con su nivel de riesgo.
- No hay regresiones reales sin corregir.
Source
git clone https://github.com/686f6c61/alfred-dev/blob/main/skills/calidad/regression-check/SKILL.mdView on GitHub Overview
Este skill verifica que los cambios recientes no han roto la funcionalidad existente. Las regresiones son errores donde algo que funcionaba deja de hacerlo sin razón aparente, y este proceso las detecta antes de producción mediante un enfoque sistemático de impacto, pruebas y verificación de integración. Se enfoca en analizar el alcance, mapear áreas de impacto y ejecutar pruebas relevantes para garantizar integridad.
How This Skill Works
Primero se analiza el alcance del cambio: diff de Git, módulos afectados, dependencias y contratos públicos. Después se traza el árbol de dependencias para identificar áreas de impacto potencial. Finalmente se ejecutan los tests del área afectada (unitarios, dependientes, integración y e2e) y se analizan los fallos para clasificar si son regresión real, test incorrecto o flaky, documentando las lagunas de testing.
When to Use It
- Al terminar un PR con cambios significativos
- Durante la integración continua ante modificaciones en módulos base
- Cuando se modifican interfaces públicas o contratos de funciones
- Tras un fallo de producción que podría deberse a una regresión
- Al preparar una release para QA o producción
Quick Start
- Step 1: Analizar el alcance del cambio con diff de Git, módulos afectados, dependencias y contratos públicos
- Step 2: Mapear áreas de impacto trazando el árbol de dependencias hacia arriba y priorizar pruebas
- Step 3: Ejecutar tests del área afectada (unitarios, dependientes, integración y e2e) y documentar resultados y lagunas
Best Practices
- Analizar el alcance del cambio usando diff de Git y revisar módulos afectados, dependencias y contratos públicos
- Trazar el árbol de dependencias para identificar todas las áreas potenciales de impacto
- Ejecutar en orden tests unitarios de módulos modificados, luego de dependientes, después pruebas de integración y finalmente e2e
- Clasificar fallos como regresión real, test incorrecto o flaky y documentar la causa
- Identificar y documentar lagunas de testing; si el riesgo es alto, escribir tests de caracterización y crear issues
Example Use Cases
- Cambio en el módulo de procesamiento de pagos rompe el flujo de checkout
- Actualización de API cambia la firma de una función que consumen varios módulos
- Refactor de utilidades rompe casos límite cubiertos por tests existentes
- Nueva característica introduce rutas que no contemplan escenarios de error
- Fallas intermitentes en pruebas que se calman y vuelven a aparecer (flaky)