测试用例之因果图/判定表
测试用例 因果图和判定表(网上搜集的案例,不喜勿喷)
一、 适应场合:
在一个界面中有多个控件,如果控件之间存在组合关系或者限制关系,不同的控件组合会产生不同的输出结果,为了弄清楚不同的输入组合会产生怎样的输出结果,可以使用因果图或判定表
二、因果图法的技术核心:
因(原因):输入条件
果(结果);输出结果
因果图:就是通过画图的方式表达输入条件和输出结果之间的关系。
三、因果图的图形符号:
1、基本图形符号:
表达的是输入条件(因)-- 输出结果(果)之间的关系
1) 恒等
如果a=1 那么b=1
如果a=0 那么 b=0
2) 与
全1为1,有0出0
说明:如果几个输入条件都出现,结果才出现;如果其中有输入条件不出现,则结果不出现
3) 或(了解)
全0为0,有1出1
说明:输入条件中有任何一个成立,结果都会出现;当输入条件都不成立时,结果不出现
4) 非(了解)
说明:当a=1时b=0
当a=0时 b=1
2、限制图形符号
表达:要么限制的是因,要么限制的是果
1) 互斥(E-exclude)
说明:可以不选,如果选只能选一个
2) 唯一(O-only)
说明:必须要选一个,只能选一个
唯一与互斥的区别:
唯一:必须要选一个,不能不选
互斥:可以不选,如果选只能选一个
3) 包含(I-include)
说明:至少选一个,可以多选
4) 要求(R-required)
说明:如果a=1,那么要求b必须为1,反之如果a=0,那么b的值无所谓
5) 屏蔽:(M-masked)
说明:当a=1时,要求b必须为0,而当a=0时,b的值不一定
四、因果图判定表表法的操作步骤(自网上搜集)
案例:交通一卡通自动充值模拟系统
步骤1:找出所有的输入条件(因)
1) 投币50元
2) 投币100元
3) 充值50元
4) 充值100元
步骤2:找出所有的输出结果(果)
A)充值成功并退卡
B)找零
C)提示错误并退卡
将输入条件和输出结果填入《判定表》中
步骤3:找出输入条件(因)的所有组合和限制关系
步骤4:明确不同的输入组合会产生怎样不同的输出结果,画因果图,写判定表(实际工作中可以只写判定表,不画因果图)
说明:
1)判定表的缺点:输入条件之间的限制关系不好表达,可以在判定表中加备注来表达输入条件的限制关系
2) 画因果图是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但有时画因果图非常麻烦,影响效率,所以在应用熟练以后,可以直接写判定表,省略因果图。
步骤5:编写测试用例:每一列是一种组合,可以编写1条测试用例
六、因果图/判定表测试的步骤:
步骤:
步骤1:找出所有的输入条件
步骤2:找出所有的输出结果
步骤3:分析,列出输入条件之间所有的组合和限制条件
步骤4:确定每组输入条件的组合会产生怎样的输出结果,画因果图,填写判定表
(实际工作中因果图可以省略)
步骤5:编写测试用例 每一列代表一种组合,编写一条测试用例
因果图/判定表的特点:
1) 输入条件的排列顺序无关紧要
2) 输出条件的排列顺序无关紧要
3) 先测哪种组合后测哪种组合无关紧要
4) 每种组合是独立的