因果图、判定表法
一、应用场合
在界面中有多个控件,控件之间有组合或限制关系,不同的输入组合会对应不同的输出结果,如果想弄清楚不同的输入组合到底对应哪些输出结果,可以使用因果图/判定表法。(因果图/判定表法比较适合测试组合数量较少的情况,一般少于20种)二、因果图
因(原因):输入条件 果(结果):输出结果 因果图:就是通过画图的方式来表示输入条件(因)和输出结果(果)之间的关系。三、因果图中的图
1、 因果图之4种因果关系
(注:0表示某状态不出现,1表示某状态出现)
恒等:若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为02、 因果图之5种约束关系
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,即a为1时,b不能为0。M约束(强制):若结果a为1,则结果b强制为0。四、测试步骤
被测程序:交通一卡通充值模拟系统 步骤1:了解需求,找出所有的输入条件(因) 投币50元 投币100元 充值50元 充值100元 步骤2:找出所有的输出结果(果) 成功充值并退卡 找零 错误提示并退卡 将因和果填入《判定表》中
步骤3:找出输入条件之间的组合和限制关系。
步骤4:明确不同的输入组合会产生怎样的输出结果,画因果图,填判定表。(在实际工作中可以只填判定表,不画因果图)
五、总结
1、测试步骤
步骤1:分析需求,找出所有的输入条件
步骤2:找出所有的输出结果
步骤3:找出输入条件中的所有组合和限制关系
步骤4:明确每种输入组合对应的输出结果,填判定表,画因果图(熟练后,画因果图可以省略)
说明:
1)画因果图只是一种辅助工具,通过分析最终得到判定表,再通过判定表编写测试用例。但是有时画因果图比较麻烦,影响测试效率,所以在应用熟练之后,可以省略画因果图直接填判定表,进而编写测试用例。
2)判定表的缺点:判定表中输入条件的限制关系不好体现。
如何解决:可以在判定表中添加备注,将限制关系写入备注部分。
步骤5:根据判定表,编写测试用例
每1列表示1种组合,写1条用例
2、因果图/判定表适合测试控件的组合情况,而且适合测试组合数量比较少的情况。常见的控件有:按钮(按/不按),单选按钮(选/不选),复选框(选/不选),选项较少的下拉列表等
3、判定表的特点:
1)输入条件的顺序是无关紧要的
2)输出结果的顺序是无关紧要的
3)先测哪种组合,后测哪种组合是无关紧要的
4)每种组合之间是相互独立的
4、介绍判定表的组成项: