Qué significa “trazabilidad extremo a extremo” en Jira
La trazabilidad extremo a extremo es la capacidad de navegar y demostrar, con enlaces verificables, la cadena completa de valor y control de calidad: Requisito ↔ Caso de prueba ↔ Ejecución ↔ Bug ↔ Fix. En Jira, esto se materializa mediante relaciones entre issues (y, cuando aplique, objetos de apps de testing) que permiten responder rápidamente: “¿Qué se pidió?”, “¿Cómo se probó?”, “¿Qué falló?”, “¿Dónde se corrigió?” y “¿Qué versión lo contiene?”.
El objetivo práctico no es “tener muchos links”, sino tener links consistentes (mismo tipo, misma dirección y misma convención) para que reportes, filtros JQL y auditorías por sprint detecten huecos de cobertura sin trabajo manual excesivo.
Modelo recomendado de artefactos y relaciones
Artefactos mínimos
- Requisito: puede ser
Story,Epico un issue type específico (p. ej.,Requirement). - Caso de prueba: issue type
Test(si tu instancia lo maneja como issue) o entidad de una app de testing integrada. - Ejecución:
Test Execution,Test Runo equivalente (según herramienta). Debe registrar estado, evidencias y entorno. - Bug: issue type
Bug. - Fix: issue de desarrollo (
Story/Task/Bugresuelto) y/oPull Request/Commitenlazado desde Jira (según integración con repositorio).
Cadena de enlaces (dirección y semántica)
Recomendación: define una sola forma “oficial” de enlazar cada tramo y úsala siempre. Ejemplo de cadena:
- Requisito → Caso de prueba:
tests/is tested by(orelates tosi no existe un link específico). Regla: cada requisito “Done” debe tener al menos un caso de prueba asociado. - Caso de prueba → Ejecución: relación nativa de la herramienta de testing (ideal) o link
is executed in. Regla: cada ejecución debe referenciar el caso de prueba que ejecuta. - Ejecución → Bug:
defect found/is defect of(oblockssi tu proceso lo usa para indicar bloqueo de salida). Regla: todo bug creado desde una ejecución debe quedar enlazado a esa ejecución. - Bug → Fix:
is fixed by/fixes(ois caused byno es recomendable para fixes). Regla: el bug debe enlazarse al issue de trabajo que implementa la corrección (si el bug no se corrige “en sí mismo”). - Fix → Requisito (opcional pero útil):
relates tooimplementssi existe. Esto ayuda cuando el fix se implementa como story/tarea separada.
Tipos de enlaces recomendados y reglas de uso
Principios para elegir link types
- Semántica clara: evita usar 5 tipos distintos para lo mismo. Si no hay un tipo específico, estandariza
relates topara relaciones “neutras”. - Dirección consistente: define qué lado “apunta” a qué. Ejemplo: el requisito “apunta” a sus pruebas; la ejecución “apunta” a los bugs encontrados.
- Evitar duplicidad: no enlaces el mismo par con dos tipos diferentes.
- Evitar enlaces “decorativos”: si no aporta navegación o control (cobertura/auditoría), no lo crees.
Matriz sugerida (ajústala a tu Jira)
| Desde | Hacia | Link recomendado | Regla mínima |
|---|---|---|---|
| Requisito | Caso de prueba | is tested by / tests | ≥ 1 por requisito “Ready for QA” o “Done” |
| Caso de prueba | Ejecución | Relación de herramienta / is executed in | Toda ejecución debe tener caso |
| Ejecución | Bug | defect found | Todo bug de QA debe tener ejecución |
| Bug | Fix (Story/Task/Bug) | is fixed by | Todo bug “In Progress” debe tener fix asignado |
| Fix | Requisito | relates to / implements | Si el fix no es el mismo bug, enlazar al requisito afectado |
Convenciones para navegación rápida (nombres, etiquetas y estructura)
Convención de resumen (Summary) para identificar trazas
- Casos de prueba: prefijo
[TC]+ acción + resultado esperado breve. Ej.:[TC] Checkout con tarjeta válida muestra confirmación. - Ejecuciones: prefijo
[EXEC]+ sprint/build + entorno. Ej.:[EXEC] Sprint 12 - Build 1.8.3 - Staging. - Bugs: prefijo
[BUG]+ síntoma + contexto. Ej.:[BUG] Error 500 al confirmar pago con tarjeta.
Campos/etiquetas útiles para filtrar trazabilidad
- Fix Version/s (o campo equivalente): obligatorio al cerrar un bug para saber en qué versión quedó corregido.
- Affects Version/s: útil para análisis de regresión.
- Labels (controladas): por ejemplo
qa-created,needs-trace,trace-ok. - Component/s: ayuda a agrupar requisitos, pruebas y bugs por módulo.
Reglas de “higiene” de enlaces
- Si se clona un bug o se divide una story, se deben revisar y reubicar los links (no asumir que “se heredan bien”).
- Si un bug se marca como
Duplicate, el bug duplicado debe enlazar al original con un tipo estándar (duplicates) y conservar el link a la ejecución si aporta evidencia. - Si una prueba se depreca, mantener el link al requisito pero marcar el caso como
Deprecated(o estado equivalente) y crear el nuevo caso enlazado al mismo requisito.
Guía práctica paso a paso: construir la cadena requisito ↔ prueba ↔ ejecución ↔ bug ↔ fix
Paso 1: Enlazar requisito con casos de prueba
- Abre el issue del requisito (Story/Epic/Requirement).
- En la sección de enlaces, crea el link con el tipo acordado (p. ej.,
is tested by) hacia el/los casos de prueba. - Verifica que el caso de prueba incluya precondiciones, datos y criterio de aceptación mapeable al requisito.
- Si el requisito tiene múltiples criterios, crea varios casos y enlázalos todos.
Paso 2: Asegurar que la ejecución referencia los casos correctos
- Crea una ejecución para el sprint/build/entorno correspondiente.
- Agrega los casos de prueba enlazados al requisito (idealmente desde una vista de “Test Plan” o selección por filtro).
- Ejecuta y registra resultado por caso (Pass/Fail/Blocked) y evidencia.
- Confirma que la ejecución queda asociada a cada caso (no solo al requisito).
Paso 3: Crear el bug desde la ejecución y enlazarlo
- Cuando un caso falla, crea el bug desde la ejecución (si la herramienta lo permite) para que el link quede automático.
- Si se crea manualmente, añade link desde el bug hacia la ejecución con el tipo estándar (
defect foundo equivalente). - En el bug, completa campos mínimos: pasos, resultado esperado/actual, entorno, evidencia y severidad.
- Opcional: enlaza el bug también al requisito (si tu equipo lo usa para navegación directa), pero evita reemplazar el link a la ejecución.
Paso 4: Enlazar bug con fix y asegurar versión
- Decide si el bug se corrige en el mismo issue (bug como unidad de trabajo) o si se crea un issue de fix (Task/Story).
- Crea el link
is fixed bydel bug al issue de fix (o viceversa, según convención). - Cuando el fix se mergea, asegura que el issue tenga referencia a PR/commit (integración) y que el bug tenga
Fix Version/sal pasar a “Done/Resolved”. - Si el fix impacta el requisito original, enlaza el fix al requisito con
relates to/implements.
Validación de cobertura y detección de huecos de trazabilidad
Casos típicos de huecos
- Requisitos sin pruebas: riesgo de “Done” sin evidencia verificable.
- Pruebas sin requisito: pruebas huérfanas (difícil priorizar mantenimiento y justificar ejecución).
- Bugs sin ejecución asociada: pérdida de contexto (entorno, evidencia, reproducibilidad) y menor calidad del triage.
- Bugs sin fix: trabajo no planificado o sin responsable claro.
Consultas JQL de ejemplo (ajusta nombres de tipos/campos)
1) Requisitos en sprint sin casos de prueba enlazados
project = ABC AND issuetype in (Story, Requirement) AND Sprint in openSprints() AND statusCategory != Done AND issueFunction not in linkedIssuesOf("issuetype = Test", "is tested by")2) Casos de prueba sin requisito
- Escuche el audio con la pantalla apagada.
- Obtenga un certificado al finalizar.
- ¡Más de 5000 cursos para que explores!
Descargar la aplicación
project = ABC AND issuetype = Test AND issueFunction not in linkedIssuesOf("issuetype in (Story, Requirement, Epic)", "tests")3) Bugs creados por QA sin ejecución asociada
project = ABC AND issuetype = Bug AND labels = qa-created AND issueFunction not in linkedIssuesOf("issuetype in (Test Execution, TestRun)", "defect found")4) Bugs en progreso sin fix enlazado
project = ABC AND issuetype = Bug AND statusCategory = InProgress AND issueFunction not in linkedIssuesOf("issuetype in (Story, Task, Bug)", "is fixed by")Nota: funciones como linkedIssuesOf suelen requerir apps (p. ej., ScriptRunner). Si no las tienes, puedes apoyarte en reportes nativos, filtros por campos, o tableros que muestren la sección de enlaces como criterio de revisión.
Cómo resolver huecos de trazabilidad (playbook operativo)
Requisito sin pruebas
- Acción: crear casos de prueba mínimos por criterio de aceptación y enlazarlos con el tipo estándar.
- Regla: no mover el requisito a “Ready for Release/Done” sin al menos una prueba y una ejecución registrada (según tu Definition of Done).
- Atajo: si el requisito es grande, enlaza primero un “smoke test” y luego completa la suite.
Prueba sin requisito
- Acción: identificar si es prueba de regresión transversal (p. ej., login) y enlazarla a un Epic/Capability o a un requisito “padre” de plataforma.
- Si no aplica: marcar como candidata a eliminación o mover a un contenedor de “regresión técnica” con owner claro.
- Regla: toda prueba debe tener un “por qué” rastreable (requisito, riesgo, componente).
Bug sin ejecución asociada
- Acción: enlazar el bug a la ejecución donde se observó el fallo; si no existió ejecución formal, crear una ejecución retroactiva mínima con evidencia (fecha, entorno, build) y enlazar.
- Regla: si el bug viene de producción/soporte, enlazar a un “ticket de incidente” o “reporte” y registrar entorno/versión afectada; luego crear una ejecución de verificación para reproducibilidad.
Bug sin fix
- Acción: durante triage, decidir owner y crear issue de fix si el bug no se resolverá dentro del mismo bug.
- Regla: no permitir que un bug pase a “In Progress” sin link a fix (o sin asignación clara si el bug es el fix).
Flujo de auditoría interna por sprint (integridad de relaciones)
Objetivo y cadencia
Realiza una auditoría ligera pero recurrente para evitar que la trazabilidad se “rompa” por prisas del sprint. Recomendación: dos puntos de control por sprint (mitad y cierre) y un mini-chequeo en refinamiento.
Roles sugeridos
- QA Lead / Test Manager: dueño del checklist de trazabilidad y de los filtros.
- PO/BA: valida que cada requisito tenga pruebas alineadas a criterios.
- Dev Lead: asegura links bug↔fix y versiones.
- Equipo: corrige issues marcados con
needs-trace.
Checklist de auditoría (mitad de sprint)
- Requisitos comprometidos en sprint: ¿todos tienen al menos 1 caso de prueba enlazado?
- Casos de prueba nuevos: ¿todos enlazados a un requisito/epic?
- Ejecuciones planificadas: ¿incluyen los casos de los requisitos en progreso?
- Bugs creados esta semana: ¿todos enlazados a una ejecución o evidencia equivalente?
Checklist de auditoría (cierre de sprint)
- Requisitos en “Done”: ¿tienen ejecución registrada (y evidencia) para sus pruebas?
- Bugs “Done/Resolved”: ¿tienen
Fix Version/sy link a fix/PR? - Bugs “Won’t Fix/Duplicate”: ¿tienen link correcto al issue destino y mantienen contexto?
- Pruebas actualizadas: ¿los casos modificados siguen enlazados al requisito correcto (sin huérfanos)?
Procedimiento operativo (15–30 min)
- Ejecuta los filtros de “huecos” (requisitos sin pruebas, pruebas sin requisito, bugs sin ejecución, bugs sin fix).
- Etiqueta resultados con
needs-tracey asigna responsable (no más de 24–48h para corregir links). - En la daily o sync de QA/Dev, revisa los top 5 por riesgo (severidad, alcance, release cercana).
- Re-audita al día siguiente: elimina
needs-tracey marcatrace-okcuando esté completo. - Si el hueco es recurrente, ajusta la regla de workflow (validator/required fields) o el checklist de Definition of Done.