Saltar al contenido

Cobertura de condición: definición, ejemplo y equivalente en inglés

La cobertura de condición se alcanza cuando cada condición atómica dentro de una decisión ha tomado el valor TRUE y el valor FALSE durante las pruebas. Mira dentro de la expresión, pero no cómo afecta cada condición al resultado.

Una condición es una subexpresión booleana sin operador booleano en su interior: armed, door, window. La cobertura de condición exige que cada una sea verdadera en alguna prueba y falsa en otra, lo que dos casos bien elegidos consiguen para cualquier número de condiciones invirtiéndolas todas a la vez. Esa es su debilidad: puede cumplirse sin que la decisión cambie nunca de valor y sin que ninguna condición se muestre relevante. La cobertura de condición múltiple, en el otro extremo, exige todas las combinaciones, la tabla de verdad completa.

El artefacto es armed AND (door OR window), verdadera en las filas 5, 6 y 7. Los dos casos armed = TRUE, door = FALSE, window = TRUE y armed = FALSE, door = TRUE, window = FALSE dan a cada condición los dos valores, alcanzando la cobertura de condición, sin mostrar que door afecte a la alarma. El par de independencia del motor para door muestra lo que añade MC/DC: armed = TRUE, door = FALSE, window = FALSE frente a armed = TRUE, door = TRUE, window = FALSE, alarma de FALSE a TRUE, solo door cambiada.

La cobertura de condición aparece en los informes de las herramientas de cobertura y en el temario ISTQB como el escalón entre la cobertura de decisión y MC/DC. En la práctica rara vez es un objetivo por sí sola, porque el criterio combinado, cobertura de condición/decisión, cuesta las mismas dos pruebas y añade el resultado de la decisión. El término se confunde con la cobertura de decisión (la expresión entera) y con MC/DC, que es la cobertura de condición más el requisito de independencia.

Ejemplo

alarm := armed AND (door OR window) · salida

Comprobaciones exactas

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

Tabla de verdad (8 filas)

Cobertura de condición: definición, ejemplo y equivalente en inglés
#armeddoorwindowalarm
0FALSOFALSOFALSOFALSO
1FALSOFALSOVERDADEROFALSO
2FALSOVERDADEROFALSOFALSO
3FALSOVERDADEROVERDADEROFALSO
4VERDADEROFALSOFALSOFALSO
5VERDADEROFALSOVERDADEROVERDADERO
6VERDADEROVERDADEROFALSOVERDADERO
7VERDADEROVERDADEROVERDADEROVERDADERO

Lectura en lenguaje claro

Principiantealarm es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. armed es verdadero
2. al menos uno entre door y window es verdadero (pueden serlo ambos)
En todos los demás casos, alarm 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.
Intermedioalarm es verdadero exactamente cuando se cumplen las dos condiciones siguientes:
1. armed es verdadero
2. al menos uno entre door y window es verdadero (pueden serlo ambos)
En todos los demás casos, alarm es falso.
Avanzadoalarm es verdadero exactamente cuando se cumplen las dos condiciones siguientes [conjunción ∧]:
1. armed es verdadero
2. al menos uno entre door y window es verdadero (pueden serlo ambos) [disyunción inclusiva ∨]
En todos los demás casos, alarm es falso.
Notación formal: armed ∧ (door ∨ window)

MC/DC

EntradaEstadoPar de independencia (solo esa entrada cambia)
armedfoundarmed=F, door=F, window=T → F  |  armed=T, door=F, window=T → T
doorfoundarmed=T, door=F, window=F → F  |  armed=T, door=T, window=F → T
windowfoundarmed=T, door=F, window=F → F  |  armed=T, door=F, window=T → T

El error habitual

Suponer que la cobertura de condición implica la de decisión. Dos pruebas pueden invertir todas las condiciones mientras la decisión queda en FALSE las dos veces, como hacen armed = TRUE, door = FALSE, window = FALSE y armed = FALSE, door = TRUE, window = TRUE para esta alarma. Cada criterio debe comprobarse por separado.

Preguntas

¿Qué añade MC/DC a la cobertura de condición?

El requisito de mostrar que cada condición cambia por sí sola la decisión: un par de pruebas que difieren solo en esa condición con resultados distintos. Los pares de independencia de esta página son esas pruebas, un par para cada una de armed, door y window.

Relacionado

Véase también

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.