一、适用场合
在一个界面中有多个控件,如果控件之间有组合关系或者限制关系,不同的控件输入组合会产生不同的输出结果。为了弄清不同的输入结果会产生怎样的输出结果,可以使用因果图或者判定表法。(一般适合测试组合数量较少的情况)
二、关于因果图的基础知识
1、因果图
因(原因):输入条件
果(结果):输出结果
因果图:用画图的方式表达输入条件和输出结果之间的关系。
2、因果图的图形符号
1)基本图形符号
表示:因与果之间的关系
(1)恒等
如果a=1,那么b=1
如果a=0,那么b=0
(2)与
与的含义:所有条件都为1(true)时结果才为1,如果有任何一个条件为0(false)(或者所有条件均为0)那么结果为0。(简化:全1为1,有0为0)
理解:如果多个输入条件都出现,结果才出现。
(3)或
或的含义:所有条件都为0,结果为0(false),有任何一个条件为1(或者所有条件均为1)结果为1(true)。(简化:全0为0,有1为1)
(4)非
含义:取反
如果a=1 那么b=0
如果a=0 那么b=1
2)限制关系图形符号
表示:要么输入条(因)之间,要么输出结果(果)之间的限制关系
(1)互斥(E-exclude)
含义:如果选只能选1个,但可以不选
(2)唯一(O-Only)
含义:必须选,且只能选1个
唯一与互斥的区别:唯一是必须要选一个;互斥是可以不选,如果选只能选一个
(3)包含(I-include)
含义:至少要选1个(可以多选但不能不选)
(4)要求(R-required)
含义:如果a=1,则要求b必须是1,反之如果a=0时,b的值无所谓
(5)屏蔽关系(M-masked)
含义:当a=1时,要求b必须为0;而当a=0时,b的值不一定
三、因果图法的测试步骤:
1、分析需求,找出所有的输入条件(因)
2、找出所有的输出结果(果),将因和果写到《判定表》中
3、找输入条件之间的组合和限制关系
4、明确不同的输入组合会产生什么对应的输出结果,画因果图,填写判定表(实际工作中可以只写判定表,省略因果图)
说明:
1)画因果图只是一种辅助分析工具,通过分析得到判定表,再通过判定表编写测试用例。但有时画因果图非常麻烦,影响测试效率,所有在应用数量了以后,可以直接写判定表,省略因果图。
2)判定表的缺点:输入条件之间的限制关系不好表达
解决办法:可以通过在判定表中添加备注的方式解决
3 ) 一般图形符合(表示因和果的关系):恒等、与、或、非
恒等和非对应1个输入条件;
与和或对应多个输入条件;
恒等 a=1 b=1;a=0 b=0
非 a=1 b=0 ;a=0 b=1
与 全1则1,有0则0
或 全0为0,有1为1
4 ) 限制关系图形符合:互斥(E)、唯一(O)、包含(I)、要求(R)、屏蔽(M)
互斥和唯一为单选,互斥可以不选,唯一必须
包含为多选,不能不选
要求:当a=1,要求b=1,当a=0,b不要求
屏蔽:当a=1,b=0;当a=0,b无所谓