Prueba con tabla de decisión, ejemplo resuelto (estilo ISTQB Foundation 4.2.3)
Un diseño de pruebas con tabla de decisión resuelto al estilo de la sección del temario ISTQB Foundation sobre pruebas con tablas de decisión: tres condiciones, una regla de envío gratuito, ocho combinaciones, y un conjunto menor de casos de prueba que cubre todas las reglas de negocio.
La regla es (over_50 OR prime) AND NOT oversized: el envío es gratuito para un pedido de más de cincuenta o de un cliente Prime, salvo que el paquete sea voluminoso. Con tres condiciones booleanas, la tabla de decisión completa tiene ocho columnas, una por combinación, y la tabla de verdad del motor de abajo es exactamente esa tabla con la fila de acciones calculada en lugar de rellenada a mano. Tres columnas dan envío gratuito: más de cincuenta y no voluminoso, Prime y no voluminoso, y las dos cosas y no voluminoso.
El método del temario es escribir las condiciones como filas, enumerar las combinaciones como columnas, rellenar las acciones, y después colapsar las columnas cuyo resultado no depende de una condición. Aquí, toda columna con paquete voluminoso tiene la misma acción sean cuales sean las otras dos condiciones, así que las cuatro columnas voluminosas colapsan en una regla: voluminoso significa sin envío gratuito. Las otras cuatro columnas siguen siendo distintas: ninguna de las dos cosas, más de cincuenta, Prime, las dos cosas.
Cada columna superviviente se convierte en al menos un caso de prueba con su resultado esperado tomado del enunciado de la regla, no de ejecutar el código. Eso da cinco casos de prueba donde la prueba exhaustiva usaría ocho; para una regla con seis condiciones la diferencia es sesenta y cuatro frente a un puñado. Las comprobaciones exactas de la página confirman que la regla es contingente y muestran una fila testigo, y la página del patrón de reglas de elegibilidad tiene la misma forma con dos condiciones más.
Ejemplo
free_shipping := (over_50 OR prime) AND NOT oversized · salida
Comprobaciones exactas
Tabla de verdad (8 filas)
| # | over_50 | prime | oversized | free_shipping |
|---|---|---|---|---|
| 0 | FALSO | FALSO | FALSO | FALSO |
| 1 | FALSO | FALSO | VERDADERO | FALSO |
| 2 | FALSO | VERDADERO | FALSO | VERDADERO |
| 3 | FALSO | VERDADERO | VERDADERO | FALSO |
| 4 | VERDADERO | FALSO | FALSO | VERDADERO |
| 5 | VERDADERO | FALSO | VERDADERO | FALSO |
| 6 | VERDADERO | VERDADERO | FALSO | VERDADERO |
| 7 | VERDADERO | VERDADERO | VERDADERO | FALSO |
Lectura en lenguaje claro
Principiantefree_shipping es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. al menos uno entre over_50 y prime es verdadero (pueden serlo ambos)
2. oversized es falso
En todos los demás casos, free_shipping es falso.
Sobre los operadores:
- AND (Y) solo es verdadero cuando todas sus partes son verdaderas.
- OR (O) es inclusivo: es verdadero en cuanto al menos una parte es verdadera, también cuando lo son varias.
- NOT (NO) invierte un valor: lo verdadero pasa a ser falso y lo falso, verdadero.
Intermediofree_shipping es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. al menos uno entre over_50 y prime es verdadero (pueden serlo ambos)
2. oversized es falso
En todos los demás casos, free_shipping es falso.
Avanzadofree_shipping es verdadero exactamente cuando se cumplen las dos condiciones siguientes [conjunción ∧]:
1. al menos uno entre over_50 y prime es verdadero (pueden serlo ambos) [disyunción inclusiva ∨]
2. oversized es falso [negación ¬]
En todos los demás casos, free_shipping es falso.
Notación formal: (over_50 ∨ prime) ∧ ¬oversized
Diagrama lógico
El error habitual
Colapsar una columna a ojo porque la condición «parece irrelevante». Cuando Voluminoso es VERDADERO, las otras condiciones son irrelevantes para el resultado; cuando es FALSO, importan. Colapsa comparando resultados a lo largo de la tabla de verdad, que es para lo que sirve la tabla del motor.
Preguntas
¿Por qué no probar simplemente las ocho combinaciones?
Con tres condiciones puedes, y la tabla del motor da los resultados esperados. El método importa cuando las condiciones se multiplican: la tabla colapsada mantiene el número de pruebas cerca del número de reglas de negocio distintas y no de 2 elevado a n.
¿De dónde salen los resultados esperados?
Del enunciado de la regla. La tabla de verdad es el enunciado de la regla hecho exhaustivo; un conjunto de pruebas cuyas expectativas se produjeron ejecutando la implementación aprobaría con una implementación errónea.
Relacionado
Véase también
- Tabla de decisión frente a tabla de verdad: cuándo usar cada una
- Reglas de elegibilidad: el patrón, las excepciones habituales y las pruebas
- Derivar casos de prueba de una tabla de verdad sin probar todas las filas
- Regla de envío gratis: (mas_de_50 OR prime) AND NOT voluminoso AND nacional
- Ejercicios de tablas de decisión (estilo ISTQB)
- Tabla de decisión: definición, ejemplo y equivalente en inglés
- La cobertura no es corrección: las pruebas siguen necesitando resultados esperados
Pruebas y reglas
- Tabla de decisión frente a tabla de verdad: cuándo usar cada una
- MC/DC explicado: cobertura de condición/decisión modificada para reglas booleanas
- Pares de independencia MC/DC, ejemplo resuelto con el informe de cobertura del motor
- MC/DC frente a cobertura de condición y cobertura de condición múltiple
Generado a partir del motor de Tangibool, semántica tangibool-semantics/1, motor 1.0.0, compilación . Cada tabla, mapa, simplificación y veredicto de estas páginas lo calculó el motor de Tangibool al compilar el sitio, y cada afirmación la volvió a comprobar el mismo verificador exacto que usa la app. Los límites se indican donde aplican. © 2026 Foreranger LTD.