test-plan
$
npx mdskill add 686f6c61/alfred-dev/test-planPrioritize testing effort by risk to focus on critical failures.
- Identifies high-impact system areas to prevent data loss or service outages.
- Classifies components as critical, high, medium, or low priority based on failure probability.
- Covers unit, integration, and end-to-end tests across edge cases and negative scenarios.
- Delivers an actionable document guiding testing strategy from scope definition to execution.
SKILL.md
.github/skills/test-planView on GitHub ↗
--- name: test-plan description: "Usar para generar un plan de testing priorizado por riesgo. También: plan de testing, qué probar, priorizar tests por riesgo, estrategia de testing, cobertura de tests." --- # Generar plan de testing ## Resumen Este skill produce un plan de testing estructurado y priorizado por riesgo. No se trata de probar todo con la misma intensidad, sino de concentrar el esfuerzo donde más impacto tiene: las áreas críticas del sistema que, si fallan, causan mayor daño al usuario o al negocio. El plan cubre desde tests unitarios hasta tests end-to-end, pasando por integración, edge cases y escenarios negativos. El resultado es un documento accionable que guía el esfuerzo de testing. ## Proceso 1. **Identificar el alcance.** Definir qué se va a probar: una feature nueva, un módulo refactorizado, el sistema completo, o un área específica. El alcance determina la profundidad del plan. 2. **Analizar el riesgo de cada área.** Para cada componente o funcionalidad, evaluar: - **Impacto del fallo:** qué pasa si esta parte falla (pérdida de datos, caída del servicio, mala experiencia de usuario, etc.). - **Probabilidad de fallo:** complejidad del código, frecuencia de cambios, historial de bugs. - **Visibilidad:** si el fallo es visible para el usuario o silencioso. Clasificar cada área como crítica, alta, media o baja prioridad de testing. 3. **Definir las categorías de tests:** - **Unitarios:** funciones individuales aisladas de sus dependencias. Rápidos, abundantes, cubren lógica de negocio y casos límite. - **Integración:** interacción entre módulos o con servicios externos (base de datos, APIs). Verifican que las piezas encajan. - **End-to-end (e2e):** flujos completos desde la perspectiva del usuario. Pocos pero críticos. Cubren los happy paths más importantes. - **Edge cases:** valores límite, inputs vacíos, unicode, números negativos, listas gigantes. - **Escenarios negativos:** qué pasa cuando las cosas van mal (red caída, base de datos llena, permisos insuficientes, timeout). 4. **Asignar prioridad a cada test:** | Prioridad | Criterio | Ejemplo | |-----------|----------|---------| | Crítica | Fallo = pérdida de datos o dinero | Test de transacciones, test de backup | | Alta | Fallo = servicio no disponible | Test de autenticación, test de endpoints principales | | Media | Fallo = mala experiencia de usuario | Test de validación de formularios, test de paginación | | Baja | Fallo = molestia menor | Test de formato de fecha, test de ordenación | 5. **Estimar el esfuerzo.** Para cada grupo de tests, estimar el tiempo necesario para escribirlos. Esto ayuda a planificar sprints y a negociar alcance si hay restricciones de tiempo. 6. **Documentar el plan.** Utilizar `templates/test-plan.md` si existe. El documento debe ser una referencia viva que se actualiza conforme el proyecto evoluciona. ## Criterios de éxito - Cada área del sistema tiene un nivel de riesgo asignado. - Los tests están categorizados (unitario, integración, e2e, edge case, negativo). - Las prioridades reflejan el impacto real del fallo, no la facilidad de escribir el test. - El esfuerzo está estimado para permitir planificación. - El plan cubre escenarios positivos, negativos y edge cases para las áreas críticas. - Las decisiones de estrategia de testing se han registrado en la memoria del proyecto. ## Paso de memoria Registrar las decisiones de estrategia de testing en la memoria del proyecto con `memory_log_decision`. Esto incluye qué áreas se han priorizado, qué se ha descartado y por qué, para que el plan se mantenga coherente entre sesiones. ## Referencia al stack Consultar el stack detectado en la configuración de Alfred para seleccionar automáticamente el framework de testing adecuado (Jest, Vitest, pytest, etc.) y adaptar las recomendaciones al ecosistema del proyecto. ## Qué NO hacer - No priorizar tests por facilidad de escritura. Priorizar por riesgo e impacto del fallo, que es el criterio que realmente protege al usuario. - No planificar tests E2E para todo. Los tests E2E son lentos y frágiles; reservarlos para flujos críticos y cubrir el resto con tests unitarios y de integración. - No generar un plan de testing sin conocer el código. El plan debe basarse en la arquitectura real, no en una plantilla genérica. - No ignorar los tests negativos y de edge cases. Los happy paths se prueban solos; los bugs viven en los caminos inesperados.
More from 686f6c61/alfred-dev
- acceptance-criteriaGenerar criterios de aceptación en formato Given/When/Then. Activar cuando el usuario quiera definir criterios de aceptacion, usar formato Given When Then, escribir en Gherkin, saber como determinar que algo esta terminado o establecer una definicion de hecho.
- architecture-docsUsar para documentar la arquitectura del sistema. Activar ante: documentar arquitectura, diagrama del sistema, como funciona el proyecto, vision general tecnica
- bundle-sizeAnalizar y reducir el tamaño de bundles frontend. Activar cuando el bundle sea grande, se quiera reducir tamaño, aplicar tree shaking, configurar lazy loading, usar webpack analyzer o analizar el peso de la aplicacion.
- choose-stackUsar para evaluar y elegir tecnologías con matriz de decisión ponderada. Activar cuando el usuario quiera elegir tecnología, comparar frameworks, decidir entre alternativas técnicas, construir una matriz de decisión, evaluar stack, seleccionar base de datos, elegir lenguaje o comparar herramientas.
- ci-cd-pipelineConfigurar pipeline CI/CD adaptado al proyecto. Activar cuando el usuario quiera configurar CI, crear GitHub Actions, configurar GitLab CI, montar un pipeline de despliegue, automatizar tests o implementar integracion continua.
- code-review-responseUsar al recibir feedback de code review para responder técnicamente. Activar cuando el usuario quiera responder a comentarios de PR, gestionar feedback de code review, resolver comentarios de un revisor, o cuando el revisor pide cambios en el código.
- compliance-checkUsar para verificar cumplimiento RGPD, NIS2 y CRA. También: verificar RGPD, cumplimiento normativo, NIS2, CRA, Cyber Resilience Act, protección de datos, regulación europea.
- copy-reviewRevisar textos publicos: claridad, tono, ortografia y CTAs. Activar ante: revisar textos, mejorar copy, tono de comunicacion, textos de la web, landing page copy
- dependency-strategyEstrategia integral de gestion de dependencias: inventario, evaluacion de riesgo, politica de actualizaciones y documentacion. Usar para auditar el estado global de las dependencias del proyecto.
- dependency-updateRevisar dependencias desactualizadas, con CVEs o end-of-life, y proponer actualizaciones seguras. También: actualizar paquetes, actualizar dependencias, Dependabot, Renovate, versión desactualizada, breaking changes.