大家好,又见面了,我是你们的朋友全栈君。
一、应用场合
界面中有多个控件,控件之间存在组合和限制关系,不同输入条件组合会对应不同的输出结果,为了理清每种输入条件组合和输出结果之间的对应关系,可以使用因果图/判定表法。注意:因果图/判定表法适合测试组合数量较少的情况,如果组合数量较多时,适合使用正交排列法。(更高效)
二、因果图法基础
1、因果图法
因:输入条件
果:输出结果
因果图法:用画图的方式表示输入条件(因)和输出结果(果)之间的关系。
2、图形符号(了解)
1)基本图形符号
说明:表示因–果之间的关系
(1)恒等(一个因)
含义:真:1,假:0
当a=1时,b=1;当a=0,b=0
说明:当输入条件成立时,输出结果也成立;当输入条件不成立时,输出结果也不成立。
(2)与(至少两个因)(^:与的关系)
含义:全1为1,有0为0
(3)或(至少两个因)(v:或的关系)
含义:全0为0,有1为1
(4)非
含义:取反
说明:如果:a=1,那么b=0;
如果:a=0,那么b=1;
2)限制图形符号
说明:要么因之间,要么果之间的关系(内部)
(1)互斥(E–exclude)
单选按钮(radio)
含义:可以不选,如果选择只能选1个。
(2)唯一(O–only)
含义:有且只有1个选择
唯一和互斥的区别:互斥可以不选,但是唯一必须选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也可能是0)
三、测试步骤
被测系统:交通一卡通自动充值模拟系统
步骤1:分析需求,找出所有的输入条件(因)
1)投币50元
2)投币100元
3)充值50元
4)充值100元
步骤2:找出所有的输出结果(果)
A)充值成功并退卡
B)找零
C)错误提示并退卡
将因和果填入判定表中。
步骤3:分析输入条件(因)中有哪些组合和限制关系,将它们列出来。
组合关系:
1、投币50元,充值50元
2、投币100元,充值50元
3、投币100元,充值100元
4、投币50元,充值100元
5、投币50元
6、投币100元
7、充值50元
8、充值100元
限制关系:
1、投币50元,投币100元
2、充值100元,充值50元
因果图/判定表法(2)
步骤4:分析,确认每个输入条件组合对应的输出结果,画因果图,填《判定表》。
说明:在实际应用中(熟练之后),画因果图这一辅助分析工具,可以被省略。
2)填判定表:
选择(真):1或者T(true)
不选择(假):0或者F(false)或者不填
3)判定表的缺点:判定表方便表示输入条件之间的组合关系,但是限制关系(例如:互斥等)不好再表格中表示。
解决方法:再判定表中添加备注信息,讲限制关系写在备注中。
步骤5:根据判定表可以编写测试用例
再判定表中每1列代表1种组合情况,编写1条测试用例。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170414.html原文链接:https://javaforall.cn