关于布尔表达式(A&&B)||A的MC/DC测试用例数量及相关疑问
布尔表达式
(A&&B)||A的MC/DC测试用例分析 首先明确MC/DC的核心规则:每个输入变量必须能独立影响最终决策结果——即存在至少一组测试用例,仅改变该变量的值、其余变量保持不变时,决策结果发生翻转。
表达式逻辑拆解
(A&&B)||A本质等价于A:
- 当
A=T时,无论B取T或F,(A&&B)的结果不影响最终||A的输出,决策始终为T; - 当
A=F时,(A&&B)必然为F,最终||A的输出也为F。
由此可见,变量B是冗余输入,它的取值完全不会改变决策结果。
测试用例分析
你给出的2个测试用例已经满足MC/DC的强制要求:
- 用例1:
A=T, B=F→ 决策T - 用例2:
A=F, B=T→ 决策F
这两组用例仅改变A的取值,决策结果从T翻转到F,完整覆盖了A对决策的独立影响。而B无论如何取值,都无法引发决策结果的翻转,因此MC/DC规则不需要为B额外设计测试用例。
关于加入与门真真组合的用例
如果你想加入A=T, B=T的测试用例(即与门的真真组合),这完全不违反MC/DC规则——这个用例只是补充覆盖了B=T的场景,但它并非MC/DC的必要用例。因为该用例与用例1相比,仅改变B的取值,决策结果并未发生翻转,无法体现B对决策的独立影响。
结论
- 满足MC/DC要求的最小测试用例数为2个;
- 可以额外加入
A=T, B=T的测试用例,用于覆盖与门的真真组合,且不会违反MC/DC规则。
内容的提问来源于stack exchange,提问作者mohammed ahmed
相关产品推荐
相关产品推荐

