软件工程中的因果图
先决条件 - 黑盒测试
基于因果图的技术是一种使用图形来表示输入条件组合情况的技术。然后将该图转换为决策表以获得测试用例。使用因果图技术是因为边界值分析和等价类划分方法不考虑输入条件的组合。但是,由于在考虑输入条件的某些组合时可能需要测试一些关键行为,这就是使用因果图技术的原因。
使用这种技术派生测试用例的步骤是:
- 规格划分:
由于大规格的因果图很复杂,因此很难使用它们,因此将规格分成小的可工作部分,然后分别转换为因果图。 - 确定因果关系:
这涉及识别规范中的原因(不同的输入条件)和影响(输出条件)。 - 将规格转换为因果图:
使用布尔表达式将因果联系在一起以获得因果图。如果可能,还会在原因和结果之间添加约束。 - 转换为决策表:
然后将因果图转换为有限进入决策表。如果您不了解决策表的概念,请查看此链接。 - 导出测试用例:
决策表的每一列都被转换为一个测试用例。
因果图中使用的基本符号:
这里c代表原因, e代表结果。
在原因和结果之间总是使用以下符号:
- 恒等函数:如果 c 为 1,则 e 为 1。否则 e 为 0。
- NOT函数:如果 c 为 1,则 e 为 0。否则 e 为 1。
- OR函数:如果 c1 或 c2 或 c3 为 1,则 e 为 1。否则 e 为 0。
- AND函数:如果 c1 和 c2 和 c3 都为 1,则 e 为 1。否则 e 为 0。
为了表示一些不可能的原因组合或不可能的结果组合,使用了约束。因果图中使用了以下约束:
- 排他性约束或E 约束:此约束存在于原因之间。它指出 c1 或 c2 都可以为 1,即 c1 和 c2 不能同时为 1。
- 包容性约束或I 约束:此约束存在于原因之间。它指出 c1、c2 和 c3 中的至少一个必须始终为 1,即 c1、c2 和 c3 不能同时为 0。
- One and Only One 约束或O 约束:此约束存在于原因之间。它指出 c1 和 c2 中只有一个必须为 1。
- 需要约束或R 约束:此约束存在于原因之间。它指出,要使 c1 为 1,c2 必须为 1。c1 为 1 而 c2 为 0 是不可能的。
- 蒙版约束或M 约束:此约束存在于效果之间。它指出如果效果 e1 为 1,则效果 e2 被强制为 0。