MC/DC (cobertura de condición/decisión modificada): definición, ejemplo y equivalente en inglés
MC/DC, cobertura de condición/decisión modificada, exige mostrar que cada condición de una decisión afecta por sí sola al resultado: para cada condición, un par de pruebas que difieren solo en esa condición y dan decisiones distintas.
MC/DC combina tres requisitos: cada decisión toma los dos valores, cada condición toma los dos valores y cada condición tiene un par de independencia. Una decisión con n condiciones necesita por tanto al menos n + 1 casos de prueba, muchos menos que los 2 elevado a n de la tabla completa, y por eso la adoptaron los estándares aeronáuticos y otros de seguridad. El criterio detecta errores que las coberturas de decisión y de condición no ven, como una condición presente en la expresión pero combinada de modo que nunca llega a importar.
El artefacto de esta página es la regla de entrada (member OR invited) AND NOT banned, verdadera en las filas 2, 4 y 6. Un par de independencia para invited se lee de las dos asignaciones que informan las comprobaciones: el contraejemplo de tautología member = FALSE, invited = FALSE, banned = FALSE da la decisión FALSE, el testigo de satisfacible member = FALSE, invited = TRUE, banned = FALSE la da TRUE, y las dos difieren solo en invited. Los pares de member y banned se encuentran igual en la tabla.
MC/DC se exige en los niveles más críticos del software aeroespacial y se usa en estándares de automoción y médicos; fuera de esos campos es el nombre más conocido de «probar cada condición, no solo el conjunto». El motor calcula pares de independencia para cada entrada de una regla. El término se confunde con la cobertura de condición múltiple, que necesita todas las combinaciones, y con la cobertura de condición, que carece del requisito de independencia.
Ejemplo
allow := (member OR invited) AND NOT banned · salida
Comprobaciones exactas
Tabla de verdad (8 filas)
| # | member | invited | banned | allow |
|---|---|---|---|---|
| 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
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
El error habitual
Elegir casos de prueba que invierten dos condiciones a la vez. Si member y banned cambian entre dos pruebas, un resultado distinto no prueba nada de ninguna; un par de independencia debe mantener fijas todas las demás condiciones. La página del error sobre cobertura frente a corrección añade que ni un MC/DC completo prueba que la regla sea correcta.
Preguntas
¿Cuántas pruebas necesita MC/DC para esta regla?
Al menos cuatro para tres condiciones, porque cada par de independencia comparte casos con los demás. La página de pruebas que explica MC/DC construye un conjunto así para una regla como esta, y la página de ejercicios da práctica.
Relacionado
Véase también
- 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
- Par de independencia: definición, ejemplo y equivalente en inglés
- Cobertura de condición: definición, ejemplo y equivalente en inglés
- Ejercicios de MC/DC
- La cobertura no es corrección: las pruebas siguen necesitando resultados esperados
Glosario
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.