Severidad vs Prioridad en Pruebas de Software: Diferencias, Matriz y Ejemplos Reales

  1. Inicio
  2. Blog
  3. Pruebas de software

Pruebas de software

Severidad vs Prioridad en Testing de Software: Diferencias, Matriz y Ejemplos Reales

La gravedad dice cuánto daño causa un error. La prioridad dice qué tan pronto solucionarlo. Descubra por qué no siempre coinciden, vea las cuatro combinaciones con ejemplos y organice reuniones de clasificación que finalicen con decisiones claras.

8 min de lectura
Severidad vs prioridad en pruebas de software: diferencias, matriz y ejemplos reales

Puntos clave

  • Severidad mide el impacto de un error en el sistema. Prioridad mide la urgencia con la que se debe solucionar.
  • Los evaluadores suelen proponer la severidad, mientras que los propietarios del producto suelen decidir la prioridad.
  • Son independientes, por lo que un error tipográfico puede ser urgente y un fallo puede esperar.
  • La prioridad cambia con el contexto empresarial, mientras que la gravedad tiende a permanecer estable.

Un nombre de empresa mal escrito en la página de inicio y un fallo en una función de exportación poco utilizada: ¿qué soluciona primero? Argumentos como este son la razón por la que los equipos de pruebas separan severidad versus prioridad. Uno describe los daños técnicos y el otro describe la urgencia empresarial.

Sin esa distinción, cada error se etiqueta como “crítico”, las etiquetas pierden su significado y los desarrolladores dejan de confiar en ellos. Esta guía le brinda definiciones y ejemplos claros, junto con un proceso simple para tomar estas decisiones. Los ejemplos son ilustrativos y las escalas exactas difieren entre equipos y herramientas.

La respuesta corta

Severidad responde: ¿En qué medida afecta este error al producto? Un fallo o pérdida de datos es grave, mientras que un fallo estético no lo es.

Respuestas prioritarias: ¿cuándo debemos solucionarlo? Eso depende de los clientes afectados, los plazos, los ingresos, la exposición legal y la reputación de la marca.

Piense en un hospital. La gravedad es la gravedad de la condición del paciente. La prioridad es el orden en que se trata a los pacientes, que también depende de otros factores, como quién puede esperar de forma segura y qué recursos son gratuitos.

Gravedad versus prioridad, uno al lado del otro

Aspecto Gravedad Prioridad
Pregunta ¿Qué tan grave es el impacto? ¿Qué tan pronto se debe arreglar?
Enfoque Efecto técnico en el sistema. Necesidad y programación del negocio.
Generalmente establecido por Probador o ingeniero de control de calidad Propietario del producto o gerente de proyecto
base Comportamiento observado Clientes, ingresos, plazos, riesgo.
¿Cambios con el tiempo? Rara vez A menudo
decide ¿Qué tan grave es el defecto? El orden de la cola de arreglos.

Niveles de gravedad

La mayoría de los equipos utilizan alrededor de cuatro o cinco niveles. Aquí hay una escala común:

Nivel Significado Ejemplo
Crítico (T1) Sistema caído, pérdida de datos o violación de seguridad, sin solución alternativa Guardar una factura elimina los registros de clientes
Mayor (T2) Una característica clave no funciona o solo existe una solución alternativa La búsqueda no devuelve resultados para ninguna consulta
Moderado (T3) Una función falla parcialmente y existe una solución alternativa razonable El filtro de fecha falla, pero la clasificación por fecha funciona
Menor (T4) Pequeño inconveniente, funcionalidad intacta. Aparece una información sobre herramientas en la posición incorrecta
Trivial (T5) Sólo cosmético Un icono ligeramente desalineado

Niveles de prioridad

Nivel Significado Acción típica
P1, urgente Debe arreglarse ahora Deje otros trabajos y considere una revisión
P2, alto Debe arreglarse antes del próximo lanzamiento. Programar en el sprint actual
P3, medio Debería arreglarse pronto Lugar en un próximo sprint
P4, bajo Arreglar cuando hay capacidad Mantenga el trabajo pendiente y revíselo de vez en cuando

Escriba lo que significa cada nivel para su equipo, idealmente con un tiempo de respuesta objetivo para cada uno. “P1 significa que alguien comienza dentro de una hora” es mucho más útil que “P1 significa muy importante”.

Las cuatro combinaciones, con ejemplos.

La forma más clara de entender esto es observar cada combinación:

alta prioridad Prioridad baja
Alta gravedad El pago falla para todos los clientes durante una oferta Fallo al exportar a un formato de archivo que casi nadie usa
Baja gravedad El nombre de la empresa está mal escrito en la página de inicio. Un error tipográfico en un artículo de ayuda antiguo con pocos lectores.

Alta gravedad, alta prioridad

El pago falla para todos, la empresa pierde dinero minuto a minuto y no hay solución. Este es el caso obvio: deja todo y arréglalo.

Alta gravedad, baja prioridad

La aplicación falla al exportar a un formato heredado. Técnicamente, eso es un fracaso grave. Pero si sólo una pequeña parte de los usuarios toca esta función y un formato moderno funciona bien, puede esperar hasta un lanzamiento programado.

Gravedad baja, prioridad alta

El nombre de la empresa está mal escrito en la página de inicio. No hay nada roto y ningún dato está en riesgo. Sin embargo, todos los visitantes lo ven, daña la confianza y, si mañana se prevé un lanzamiento importante, es necesario solucionarlo hoy.

Baja gravedad, baja prioridad

Un pequeño error tipográfico en un artículo de ayuda poco visitado. Arréglalo cuando sea conveniente. Si su trabajo pendiente está lleno de estos, considere agruparlos en una sola tarea de limpieza.

Un error, dos prioridades diferentes

Un mismo defecto puede merecer diferentes prioridades según el contexto. Supongamos que se envía un correo electrónico de confirmación de pedido con el logotipo incorrecto.

Contexto Gravedad Prioridad
Pequeña herramienta interna menor P4
La marca pública acaba de cambiar de nombre, con un anuncio esta semana menor P1 o P2

La gravedad no cambió porque el impacto en el sistema es el mismo. Pero la situación empresarial sí. El tiempo también puede cambiar las cosas. Un error que hoy es P3 puede convertirse en P1 la semana anterior a la entrada en funcionamiento de un cliente importante.

Consejo: Algunos cambios en el contexto afectan la gravedad. Los cálculos de impuestos incorrectos pueden parecer moderados hasta que sepa que se aplican a todas las facturas, así que verifique hasta qué punto llega un error antes de establecer un nivel.

¿Quién decide la gravedad y la prioridad?

  • Los evaluadores generalmente proponen severidad, ya que han visto el comportamiento y comprenden el impacto en el sistema.
  • Los propietarios o gerentes de productos generalmente deciden la prioridad, ya que sopesan los clientes, los ingresos y la hoja de ruta.
  • Los desarrolladores agregan información sobre la causa, el riesgo de una solución y cuánto tiempo llevará.
  • Los equipos de soporte aportan evidencia de cuántos clientes se ven afectados y en qué medida.

Las fuentes y los equipos varían en cuanto a estas responsabilidades, y en una pequeña startup una persona puede hacerlo todo. Lo que importa es que todos sepan quién toma la decisión final, de modo que los desacuerdos terminen con una decisión.

Cómo evaluar un error

Cuando no esté seguro, resuelva estas preguntas.

Por gravedad:

  1. ¿Pierde o corrompe datos, o expone información privada?
  2. ¿Impide que funcione una función principal?
  3. ¿Existe alguna solución? ¿Podría encontrarla un usuario normal?
  4. ¿Qué parte de la característica se ve afectada?

Por prioridad:

  1. ¿Cuántos usuarios se ven afectados y cuáles?
  2. ¿Cuesta dinero o crea un riesgo legal o de cumplimiento?
  3. ¿Se acerca un lanzamiento, una demostración o una venta?
  4. ¿Qué tan visible es? ¿Podría dañar su reputación?
  5. ¿Bloquea otros trabajos, como las pruebas?

Ejecución de clasificación de errores

Triage es la reunión periódica en la que un equipo revisa nuevos errores y decide qué sucede a continuación. Un formato simple funciona bien:

  1. Prepárate. El evaluador se asegura de que cada nuevo error tenga pasos claros, evidencia y severidad propuesta.
  2. Confirmar. Comprueba que se puede reproducir y no es un duplicado.
  3. Decidir. Acordar la gravedad, establecer una prioridad y asignar un propietario.
  4. Cerrar el ciclo. Rechazar, aplazar o programar cada error y registrar el motivo.

Sea breve y frecuente. Durante los últimos días antes de la liberación, es común realizar una clasificación diaria de 15 minutos. La gravedad y la prioridad también influyen en su decisión de lanzamiento, así que acuerde reglas desde el principio, como “no abrir errores S1 o S2 en el lanzamiento”, como parte de sus criterios de salida.

Gravedad y prioridad en un informe de error

Una entrada breve y clara ayuda a todos a tomar una buena decisión:

Title:    Checkout returns error 500 when a coupon is applied
Severity: S1 - blocks purchase, no workaround
Priority: P1 proposed - sale starts Friday
Build:    2.14.0, production
Reach:    All customers using a coupon (around 30% of orders)
Steps:    1. Add an item  2. Apply SAVE10  3. Click Pay
Result:   Error 500 and no order is created
Expected: Order is created with the discount applied

Esas cifras son ejemplos. En un informe real, utilice números medidos de sus registros y explique su razonamiento. Obtenga más información en nuestra guía sobre cómo escribir un informe de error. También es útil saber qué significan los códigos de error, así que tenga a mano nuestra hoja de referencia de códigos de estado HTTP.

Errores comunes

  • Tratándolos como el mismo campo. Si los dos siempre coinciden, estás perdiendo información útil.
  • Inflar la severidad para llamar la atención. Una vez que todo es crítico, nada lo es.
  • Dejar que los evaluadores establezcan sus prioridades por sí solos. Rara vez tienen una visión completa del negocio.
  • Nunca revisar el trabajo pendiente. Las prioridades se vuelven obsoletas, así que vuelva a verificar los errores antiguos con regularidad.
  • No hay definiciones escritas. Sin ellas, las personas aplican las etiquetas de manera diferente y terminas debatiendo las palabras.
  • Ignorar acumulaciones de baja gravedad. Cincuenta problemas menores pueden hacer que un producto parezca roto, incluso si ninguno es grave por sí solo.

Conclusión

Mantenga las dos preguntas separadas: ¿qué tan grave es y qué tan pronto se debe solucionar? Acuerde definiciones escritas para cada nivel y deje claro quién decide. Como siguiente paso, tome los diez errores más antiguos en su rastreador y vuelva a calificarlos usando las preguntas anteriores. Probablemente encontrará algunos que deberían moverse y otros que deberían cerrarse.

Preguntas frecuentes

¿Cuál es la diferencia entre severidad y prioridad?

La gravedad es cuánto daña un defecto al sistema. La prioridad es la urgencia con la que se debe solucionar. Uno tiene que ver con el impacto técnico y el otro con la urgencia empresarial.

¿Puede un error tener baja gravedad y alta prioridad?

Sí. Un nombre de empresa mal escrito en la página de inicio no altera nada, pero es muy visible, por lo que es posible que un equipo quiera solucionarlo de inmediato.

¿Puede un error tener alta gravedad y baja prioridad?

Sí. Una falla en una función heredada que rara vez se usa es técnicamente grave, pero con pocos usuarios afectados y una buena alternativa, puede esperar.

¿Quién establece la severidad y la prioridad?

Los evaluadores suelen proponer la severidad y los propietarios o gerentes de productos suelen decidir la prioridad. Muchos equipos finalizan ambos juntos durante una reunión de clasificación de errores.

¿Qué debería solucionarse primero, la gravedad alta o la prioridad alta?

Arreglar en orden de prioridad, ya que la prioridad es la que decide la cola. Sin embargo, la gravedad es un dato importante, por lo que los errores graves suelen recibir alta prioridad.

sigue aprendiendo

Trabajar con Stack Quora

¿Necesitas ayuda con pruebas, WordPress o SEO?

Ayudamos a los equipos a enviar mejor software y hacer crecer sus sitios. Cuéntenos en qué está trabajando y le sugeriremos un siguiente paso claro.

Sigue leyendo

Más guías sobre testing, IA y desarrollo moderno

¿Te gustó este artículo? Elige un tema y salta directo a nuestros tutoriales más recientes.

Inteligencia artificial

Explicación de las alucinaciones de la IA: por qué los modelos de lenguaje inventan cosas y cómo reducirlas

Se explicaron las alucinaciones de la IA: qué son, por qué los modelos de lenguaje las producen, tipos comunes, cómo reducirlas con conexión a tierr…

Leer artículo →
DevOps

Explicación de las variables de entorno: archivos .env, secretos y configuración bien hechos

Variables de entorno explicadas con ejemplos de Python que ejecutamos: leerlas y configurarlas, por qué cada valor es una cadena, archivos .env, her…

Leer artículo →
Desarrollo de software

Explicación de la limitación de velocidad de API: algoritmos, encabezados y manejo de errores 429

La limitación de la tasa de API se explica con una simulación que ejecutamos: depósito de tokens, ventana fija, ventana deslizante, 429 respuestas, …

Leer artículo →
Automatización de pruebas

Burlarse en Python: unittest.mock, patch y los errores que hacen que las pruebas mientan

Burlarse en Python con unittest.mock, probado: Mock y return_value, side_effect, parches donde se usa un nombre, especificación y autospec, fechas d…

Leer artículo →
Pruebas de software

Explicación de la cobertura del código: cobertura de línea versus sucursal y lo que realmente significa 100%

Cobertura del código explicada con una ejecución real de cobertura.py: cobertura de línea, rama y condición, lectura de un informe, por qué una cobe…

Leer artículo →
Bases de datos y SQL

DELETE vs TRUNCATE vs DROP en SQL: diferencias, reversión y cuándo usar cada uno

DELETE vs TRUNCATE vs DROP explicado con SQL probado: qué elimina cada uno, reversión, activadores, restablecimiento de identidad, velocidad y en qu…

Leer artículo →
Bases de datos y SQL

Vistas SQL explicadas: cree, use y evite los errores, con ejemplos

Vistas SQL explicadas con consultas que ejecutamos: creación de una vista, resultados en vivo, ocultación de columnas, rendimiento, vistas actualiza…

Leer artículo →
Desarrollo de software

Interfaz TypeScript versus tipo: diferencias reales, probadas con el compilador

Interfaz TypeScript versus tipo, verificado con el compilador real: qué pueden hacer ambos, qué puede hacer solo uno, fusión de declaraciones, exten…

Leer artículo →
Desarrollo de software

Python *args y **kwargs explicados: funciones flexibles con ejemplos claros

Python *args y **kwargs explicados con el código que ejecutamos: empaquetado y desempaquetado, orden de parámetros, argumentos solo de palabras clav…

Leer artículo →
Desarrollo de software

Funciones Lambda de Python: sintaxis, usos reales y cuándo no utilizarlas

Funciones lambda de Python explicadas con el código que ejecutamos: sintaxis, clasificación con clave, mapa y filtro, cierres, trampa de enlace tard…

Leer artículo →
Inteligencia artificial

¿Qué son los agentes de IA? Cómo funcionan, con un bucle de agente simple que puedes ejecutar

¿Qué son los agentes de IA? Una guía sencilla sobre el bucle del agente, las herramientas, la memoria y las barreras de seguridad, con un pequeño bu…

Leer artículo →
DevOps

Monitoreo versus observabilidad: la verdadera diferencia, con registros, métricas y seguimientos

Explicación del monitoreo versus observabilidad: fallas conocidas y desconocidas, registros, métricas y seguimientos, un recorrido por incidentes de…

Leer artículo →
DevOps

Docker Volumes versus Bind Mounts: persistir los datos del contenedor de la manera correcta

Se explican los volúmenes de Docker frente a los montajes de enlace: por qué desaparecen los datos del contenedor, volúmenes con nombre, montajes de…

Leer artículo →
Automatización de pruebas

TDD vs BDD: diferencias clave, una función creada en ambos sentidos y cuándo usar cada una

TDD vs BDD explicado con una característica de descuento construida en ambos sentidos: refactor rojo-verde con el código que ejecutamos, escenarios …

Leer artículo →
Pruebas de software

Pruebas de Aceptación de Usuario (UAT): Proceso, Lista de Verificación y Ejemplos Reales

Explicación de las pruebas de aceptación del usuario: quién las ejecuta, en qué se diferencia del control de calidad, un proceso de siete pasos, una…

Leer artículo →
Bases de datos y SQL

Valores NULL de SQL explicados: IS NULL, COALESCE, NULLIF y las trampas que se deben evitar

Los valores NULL de SQL se explican con las consultas que ejecutamos: lógica de tres valores, IS NULL, COALESCE, NULLIF, cómo los agregados, las uni…

Leer artículo →
Bases de datos y SQL

Declaración SQL CASE WHEN: sintaxis, ejemplos reales y errores comunes

CASO SQL CUANDO se explicó con las consultas que ejecutamos: formularios simples y buscados, orden de condiciones, pivotes con SUMA, trucos COUNT, c…

Leer artículo →
Desarrollo de software

¿Qué es JWT? Tokens web JSON explicados con un ejemplo práctico

¿Qué es JWT? JSON Web Tokens explicó: las tres partes, un token creado y manipulado en el código que ejecutamos, JWT vs sesiones, almacenamiento, to…

Leer artículo →
Desarrollo de software

Explicación del bucle de eventos de JavaScript: pila de llamadas, microtareas y temporizadores con ejemplos

El bucle de eventos de JavaScript explicado con el código que ejecutamos: pila de llamadas, colas de tareas y microtareas, por qué setTimeout 0 no e…

Leer artículo →
Desarrollo de software

Explicación de los generadores y el rendimiento de Python: ahorre memoria con ejemplos reales

Los generadores de Python y el rendimiento se explican con el código que ejecutamos: cómo se pausan y reanudan, midieron el ahorro de memoria, canal…

Leer artículo →
Inteligencia artificial

¿Qué son las incrustaciones? Los vectores y la similitud del coseno se explican de forma sencilla

¿Qué son las incrustaciones? Una guía en lenguaje sencillo sobre vectores, similitud de cosenos y búsqueda semántica, con un pequeño ejemplo que eje…

Leer artículo →
DevOps

Implementación azul-verde versus implementación canaria: diferencias, compensaciones y cómo elegir

Explicación de la implementación azul-verde versus canaria: cómo funciona cada uno, costo, riesgo y reversión, agrupación estable de usuarios que pr…

Leer artículo →
Automatización de pruebas

Pruebas inestables: qué las causa y cómo solucionarlas para siempre

Pruebas inestables explicadas con demostraciones que realizamos: las causas principales, cómo confirmar y diagnosticar una, correcciones adecuadas p…

Leer artículo →
Pruebas de software

Pruebas de carga frente a pruebas de estrés: diferencias, métricas y ejemplos de k6

Explicación de las pruebas de carga frente a las pruebas de estrés: qué prueba cada una, pruebas de picos y de absorción, las métricas que importan,…

Leer artículo →
Pruebas de software

Caso de prueba frente a escenario de prueba: diferencias clave, ejemplos y cuándo utilizar cada uno

Caso de prueba versus escenario de prueba explicado: definiciones claras, una tabla en paralelo, una función de restablecimiento de contraseña tomad…

Leer artículo →
Bases de datos y SQL

Optimización de consultas SQL: lea planes de ejecución y corrija consultas lentas, con tiempos

Optimización de consultas SQL probada en un millón de filas: lea planes de ejecución, agregue los índices correctos, corrija filtros no sargables, u…

Leer artículo →
Bases de datos y SQL

SQL UNION vs UNION ALL: diferencias, ejemplos y rendimiento probado

SQL UNION vs UNION ALL explicado con consultas que ejecutamos: duplicados, las reglas que siguen ambos, un error de datos real, rendimiento medido, …

Leer artículo →
Desarrollo de software

Tutorial de JavaScript Fetch API: GET, POST, manejo de errores y tiempos de espera

Un tutorial de JavaScript Fetch API probado en un servidor local: GET y POST, por qué 404 no arroja, un asistente reutilizable, cadenas de consulta,…

Leer artículo →
Desarrollo de software

Manejo de archivos Python: lectura, escritura, CSV, JSON y pathlib con ejemplos

El manejo de archivos Python se explica con el código que ejecutamos: modos abiertos, lectura de archivos grandes, CSV, JSON, pathlib, archivos bina…

Leer artículo →
Desarrollo de software

Clases y objetos de Python: tutorial de programación orientada a objetos con ejemplos reales

Clases y objetos de Python explicados con el código que ejecutamos: __init__, métodos, atributos de clase versus instancia, herencia, propiedades, m…

Leer artículo →
Inteligencia artificial

¿Qué es un modelo de lenguaje grande? Cómo funcionan los LLM, explicados sin exageraciones

¿Qué es un modelo de lenguaje grande? Los LLM explicados en lenguaje sencillo: tokens, incrustaciones, atención, entrenamiento, ventanas de temperat…

Leer artículo →
DevOps

Comandos de Linux para principiantes: la guía esencial de terminal con ejemplos

Comandos de Linux para principiantes, agrupados por tarea: navegación, archivos, visualización de registros, grep, canalizaciones, permisos, proceso…

Leer artículo →
Automatización de pruebas

Selenium vs Playwright: diferencias clave, comparación de códigos y cuál elegir

Comparación de Selenium vs Playwright: arquitectura, espera, soporte de navegador e idioma, depuración, la misma prueba en ambas herramientas, conse…

Leer artículo →
Pruebas de software

Partición de equivalencia: técnica de diseño de pruebas explicada con ejemplos resueltos

Explicación de la partición de equivalencia: cómo encontrar particiones válidas e inválidas, ejemplos prácticos para edades, contraseñas y cupones, …

Leer artículo →
Pruebas de software

Severidad vs Prioridad en Pruebas de Software: Diferencias, Matriz y Ejemplos Reales

Explicación de gravedad versus prioridad en las pruebas de software: definiciones claras, una matriz de cuatro vías con ejemplos, escalas de niveles…

Leer artículo →
Bases de datos y SQL

Tutorial de subconsultas SQL: tipos, subconsultas correlacionadas y EXISTENCIAS con ejemplos

Un tutorial de subconsultas SQL con consultas que ejecutamos: subconsultas escalares, IN, FROM y SELECT, subconsultas correlacionadas, EXISTS, la tr…

Leer artículo →
Bases de datos y SQL

Transacciones SQL y ACID explicados: COMMIT, ROLLBACK y niveles de aislamiento

Transacciones SQL y ACID explicadas con una transferencia bancaria que ejecutamos: COMMIT, ROLLBACK, puntos de guardado, bloqueos, niveles de aislam…

Leer artículo →
Desarrollo de software

Git merge vs rebase: diferencias, ejemplos y cuándo usar cada uno

Git merge vs rebase explicado con salida real del log, una tabla comparativa, la regla de oro del rebase y un flujo de trabajo seguro para equipos.

Leer artículo →
Desarrollo de software

List comprehension en Python: sintaxis, ejemplos y cuándo evitarla

List comprehension en Python explicada: sintaxis, filtros, if-else, bucles anidados, tiempos medidos y cuándo es mejor un bucle for normal.

Leer artículo →