假设我给tool任何逻辑表达式作为每个信号定义的输入,tool应该能够生成MCDC
真值表(用于Avionics V&V
)。如果可能的话,我们能实现定时和鲁棒性吗?
例如:
##工具输入输入:
Logical Expression: OUT = (C1 ||(C2 && C3 && (C4 || C5 || C6)))
工具的预期输出
Truth Table:
TC C1 C2 C3 C4 C5 C6 INIT **OUT**
1 T F T T F F F **T**
1 F F T T F F T **T**
2 F T T T F F F **T**
2 F T F T F F T **F**
3 F T T F T F F **T**
3 F T T F F F T **F**
4 F F T T F F F **F**
5 F T T F F T F **T**
- 为表达式生成一个真值表(在这种情况下是2^6个事例)
- 从真值表中选择适合MCDC的案例。让我们以你的表达为例。对于C1:选择只有C1和OUT改变状态的情况(从TRUE到FALSE);其他条件不会改变状态
看看这些工具用C#和C++编写。
是的,您可以创建一个工具来创建truthtable和创建测试向量。我在C++中就是这么做的。你可以在这里找到:
MCDC
布尔表达式将被解析、编译为虚拟机并进行评估。这给出了一个真值表。奎因&麦克罗斯基被用来产生一个无冗余的正规形式
并且,该工具显示所有MCDC测试对,包括Msking和"唯一原因+掩蔽"