版权声明:未经本人同意不得转载 https://blog.csdn.net/object_oriented_/article/details/88356851
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。
因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
“因”——输入条件
“果”——输出结果
因果图法要注意考虑:
考虑输入条件的相互制约及组合关系
考虑输出条件对输入条件的依赖关系
因果图符号:
符号 | 图示 | 含义说明 | 举例 |
恒等(连接线) | 若原因出现,则结果出现;若原因不出现,则结果也不出现。 |
若c1=1,则e1=1 取钱才能打印凭条 若c1=0,则e1=0 不取钱无法打印凭条 |
|
非(~) | 若原因出现,则结果不出现;若原因不出现,则结果出现。 | 若c1=1,则e1=0 若c1=0,则e1=1 搜索联系人,如果有就不提示错误,如果没就提示错误 |
|
或(v) | 若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。 |
若c1=1或c2=1或c3=1,则e1=1 若c1=c2=c3=0,则e1=0 努力、认真、听话-->成绩好 |
|
与(^) | 若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现。 |
若c1=1并且c2=1,则e1=1 若c1=0或c2=0,则e1=0 杯子、玻璃材质、无色-->水杯 |
判断表法
场景法
流程分析法
正交表法