Saltar al contenido

Lista de revisión de reglas de decisión (para analistas y revisores)

Una lista de revisión para una regla de decisión antes de ponerla en producción, escrita para analistas y revisores más que para programadores. Cada punto nombra una página de esta referencia donde el motor muestra la comprobación, y la regla de entrada de abajo lleva los pares de independencia en los que se apoyan la mayoría de los puntos.

Nombres y significado. Cada condición tiene un nombre que se lee como un enunciado y una descripción de una línea en el glosario; no hay dos nombres que se parezcan o difieran solo en mayúsculas; los umbrales son entradas de umbral con su comparación registrada, o condiciones con nombre decididas fuera de la regla, y las fechas se deciden fuera de la regla. Estructura. Cada grupo mixto de AND y OR está entre paréntesis; cada excepción es un AND NOT en el nivel sobre el que debe prevalecer; «o» es inclusivo salvo que la regla diga otra cosa; «solo si» y «a menos que» se tradujeron con la condición en el lado correcto de la flecha.

Comportamiento. La regla no es ni siempre verdadera ni siempre falsa, y las comprobaciones lo dicen sin marca de vacuo; los supuestos, si los hay, son consistentes; las filas VERDADERAS de la tabla de verdad coinciden con la lista del dueño de quién cumple, y sus filas FALSAS con la lista de quién no; cualquier versión anterior se comparó y las filas que difieren se revisaron contra la petición de cambio. Pruebas. Cada condición tiene un par de independencia (el informe de abajo muestra los pares de la regla de entrada, cuatro escenarios para tres condiciones); los resultados esperados vinieron del requisito; los contraejemplos pasados están en el conjunto de pruebas; una ejecución de mutación no deja ningún mutante no equivalente superviviente.

Entrega. El código exportado lleva el resumen criptográfico de la regla de la que se generó; un resultado «No determinado» en cualquier punto de la cadena se trata como un fallo al decidir, no como un aprobado; el dueño de la regla ha confirmado la lectura en lenguaje natural. Ninguno de estos puntos exige que quien revisa calcule nada: el motor calcula, quien revisa compara.

Ejemplo

allow := (member OR invited) AND NOT banned · salida

Comprobaciones exactas

¿Siempre verdadera (tautología)? No Contraejemplo: member = F, invited = F, banned = F · Exhaustively checked and solver cross-checked · 1 filas
¿Siempre falsa (contradicción)? No Contraejemplo: member = F, invited = V, banned = F · Exhaustively checked and solver cross-checked · 3 filas
¿Puede ser verdadera? Sí Asignación de ejemplo: member = F, invited = V, banned = F · Exhaustively checked and solver cross-checked · 3 filas

Tabla de verdad (8 filas)

Lista de revisión de reglas de decisión (para analistas y revisores)
#memberinvitedbannedallow
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOVERDADERO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOVERDADERO
5VERDADEROFALSOVERDADEROFALSO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROFALSO

Lectura en lenguaje claro

Principianteallow es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. al menos uno entre member e invited es verdadero (pueden serlo ambos)
2. banned es falso
En todos los demás casos, allow 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.
Intermedioallow es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. al menos uno entre member e invited es verdadero (pueden serlo ambos)
2. banned es falso
En todos los demás casos, allow es falso.
Avanzadoallow es verdadero exactamente cuando se cumplen las dos condiciones siguientes [conjunción ∧]:
1. al menos uno entre member e invited es verdadero (pueden serlo ambos) [disyunción inclusiva ∨]
2. banned es falso [negación ¬]
En todos los demás casos, allow es falso.
Notación formal: (member ∨ invited) ∧ ¬banned

Diagrama lógico

A review checklist for decision rules (for analysts and reviewers) A review checklist for decision rules (for analysts and reviewers) member invited banned allow AND OR NOT
A review checklist for decision rules (for analysts and reviewers) A review checklist for decision rules (for analysts and reviewers) member invited banned allow AND OR NOT

MC/DC

EntradaEstadoPar de independencia (solo esa entrada cambia)
memberfoundmember=F, invited=F, banned=F → F  |  member=T, invited=F, banned=F → T
invitedfoundmember=F, invited=F, banned=F → F  |  member=F, invited=T, banned=F → T
bannedfoundmember=F, invited=T, banned=F → T  |  member=F, invited=T, banned=T → F

El error habitual

Revisar la regla leyéndola y asintiendo. Cada punto de la lista es una comparación entre lo que la regla hace y lo que alguien quería decir, y la primera mitad de esa comparación es una tabla que quien revisa no tuvo que construir.

Preguntas

¿Qué puntos pueden automatizarse?

Los de comportamiento y pruebas: comprobaciones, consistencia, comparación de versiones, pares de independencia y ejecuciones de mutación son todos salida del motor, y la CLI los ejecuta en integración continua. Los nombres, el significado y la confirmación del dueño son trabajo humano.

¿Qué es lo imprescindible para una regla pequeña?

Poner entre paréntesis los grupos mixtos, confirmar las filas VERDADERAS con el dueño, y conservar una prueba por par de independencia. Para tres condiciones son cuatro pruebas, y el informe de la regla de entrada de abajo es la plantilla.

Relacionado

Véase también

Pruebas y reglas

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.