在因果图中,约束关系 “E“(Exclusive,互斥)表示:**两个(或多个)条件不能同时为真*
在因果图中,约束关系 “E”(Exclusive,互斥)表示:两个(或多个)条件不能同时为真。即,若存在 E 约束于条件 a 和 b,则 a 和 b 不能同时取值为 1(真),但可以同时为 0(假)。这区别于“异或”(XOR),因为 XOR 要求有且仅有一个为真,而 E 约束仅禁止“全为真”,允许“全为假”。
因此,正确答案是:
B. 两个条件不能同时为真 ✅
在因果图(Cause-Effect Graphing)方法中,约束(Constraints)用于描述输入条件(原因)之间的逻辑限制关系,确保生成的测试用例符合实际业务或系统规则。以下是三种核心约束关系的明确定义:
“I”约束(Inclusive,包含):
表示至少有一个指定的条件必须为真(即“或”关系)。
例如:对原因 a、b、c 施加 I 约束,含义是:a ∨ b ∨ c = true;
✅ 允许一个、两个或全部为真;
❌ 仅当三者全为假时,违反该约束。“O”约束(Only One,唯一):
表示有且仅有一个指定的条件为真(即“异或” XOR 的多变量推广)。
例如:对 a、b、c 施加 O 约束,含义是:(a ∧ ¬b ∧ ¬c) ∨ (¬a ∧ b ∧ ¬c) ∨ (¬a ∧ ¬b ∧ c) = true;
✅ 恰好一个为真,其余必须为假;
❌ 全假、两真或三真均违反约束。“R”约束(Requires,要求):
是单向蕴含关系,形式为 “a → b”,读作“若 a 为真,则 b 必须为真”。
等价于逻辑表达式:¬a ∨ b;
✅ 允许:a=0(无论b为何值)、a=1且b=1;
❌ 仅当 a=1 且 b=0 时违反约束(即“a出现则b必须存在”)。
💡 补充说明:
- 所有约束均作用于原因(输入条件)之间,不直接约束结果(效应);
- 实际建模中常与“恒等”“非”“或”“与”等布尔关系联用,最终通过机械步骤(如判定表转换、最小化)生成无冗余的测试用例。
