快乐由心
用例设计之因果图法(1)
上一篇 /
下一篇 2012-06-01 19:09:42
/ 个人分类:软件测试理论
七因果图法
7-1因果图法产生的背景
等价类划分法和边界值分析法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。
7-2因果图法设计测试用例思想
首先从程序规格说明书的描述中,找到因(输入条件)和果(输出结果或者程序状态的改变)。然后通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。
7-3因果图法的定义
因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
图7-1因果图定义
通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。
7-4主要原因与结果之间的关系
图7-2原因与结果之间的关系
Ø 恒等:若C1是1,则E1也为1,否则E1为0
Ø 非:若C1是1,则E1是0,否则E1为1
Ø 或:若C1或C2或C3是1,则E1是1,否则E1为0,“或”可有任意个输入
Ø 与:若C1和C2都是1,则E1为1,否则E1为0,“与”也可有任意个输入
7-5约束
在实际问题当中输入状态相互之间还可能存在某些依赖关系,称为“约束”
图7-3约束
Ø E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1;
Ø I约束(或):a、b、c中至少有一个必须是1,即a、b、c不能同时为0;
Ø O约束(唯一):a和b必须有一个且仅有一个为1;
Ø R约束(要求):a是1时,b必须是1;
Ø M约束(强制):若结果a是1,则结果b强制为0;
7-6因果图法设计测试用例步骤
² 分析程序规格说明书描述的语义内容,找出“原因”和“结果”,将其表示成连接各个原因与各个结果的“因果图”
² 由于语法或环境限制,有些原因与原因之间或与结果之间的组合情况不能出现,用记号标明约束或限制条件
² 将因果图转换成决策表
² 根据决策表中的每一列设计测试用例
7-7使用因果图的优点
² 考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系
² 能够帮助测试人员按照一定的步骤,高效率的开发测试用例
² 因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性
7-8举例
有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”,“雪碧”或“红茶”按钮,响应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
² 分析原因与结果
原因 | C1:投入1元5角硬币; C2:投入2元硬币; C3:按“可乐“按钮 C4:按“雪碧“按钮 C5:按“红茶“按钮; |
中间状态 | 11:已投币 12:已按钮 |
结果 | A1:退还5角硬币; A2:送出“可乐“饮料; A3:送出“雪碧“饮料; A4:送出“红茶“饮料; |
表7-1举例分析
收藏
举报
TAG: