第6讲 因果图/判定表法

一、应用场合

界面中有多个控件,控件之间存在组合或限制关系,不同的输入组合会对应不同的输出结果,为了理清楚每个组合所对应的输出结果,可以使用因果图或判定表法。

注意:因果图或判定表法适合测试组合数量较少的情况。如果组合数量多可以使用正交排列法测试。

二、因果图法

、解析因果图

因:输入条件

果: 输出结果

因果图法:就是用画图的方式表示输入条件(因)和输出结果(果)之间的关系。

、图形符号(了解)

)基本图形符号

说明:表示因与果之间的关系(因果双方)

(1)恒等(单个输入条件)

如果(输入条件)a=1(成立),那么(输出结果)b=1;

反之 如果a=0(不成立),那么b=0;

      

python绘制因果图 因果图 判定表_测试用例

 

(2)与(多个输入条件)

含义:全1为1,有0为0.

       

python绘制因果图 因果图 判定表_互斥_02

 

(3)或(多个输入条件)

含义:全0为0,有1为1

      

python绘制因果图 因果图 判定表_测试用例_03

 

(4)非(相反)

如果a=1,那么b=0

反之

如果a=0,那么b=1

     

python绘制因果图 因果图 判定表_图形符号_04

 

 

)限制图形符号

说明:表明要么因之间,要么果之间的限制关系。(单方面)

(1)互斥 (E-exclude)

含义:可以不选,如果选只能选择1个

   

python绘制因果图 因果图 判定表_python绘制因果图_05

 

(2)唯一(O-only)

含义:有且只有1个选择(不能不选)

唯一与互斥的区别:

互斥可以不选,唯一必须要选1个。

      

python绘制因果图 因果图 判定表_互斥_06

 

包含 (I-include)

至少选择1个(支持多选,不能不选)

      

python绘制因果图 因果图 判定表_python绘制因果图_07

 

(4)要求(R-required)

含义:

如果a=1,那么要求b必须是1,反之 如果a=0,那么b的值无所谓。

      

python绘制因果图 因果图 判定表_图形符号_08

 

(5)屏蔽(M-masked)

含义:如果a=1,那么b必须是0;如果a=0,那么b的值有可能是1,也有可能是0

       

python绘制因果图 因果图 判定表_python绘制因果图_09

 

三、因果图/判定表法的测试步骤

被测系统:一卡通充值模拟系统

步骤1:分析需求,找出所有的输入条件(因)。

)投币50元

)投币100元

)充值50元

)充值100元

步骤2:找出输出结果(果)。

充值成功并退卡充值成功并退卡

错误提示并退卡

)找零

步骤3:分析输入条件中有哪些组合和限制关系。

组合:

限制:

 

步骤4:确定每个输入组合对应的输出结果,画因果图,填判定表。(在实际应用中因果图有时可以省略不画)

选择:T (True 真)、 1

不选:F (False 假)、 0

总结:

(1)因果图只是一种辅助分析的工具,如果通过判定表就可以分析清楚组合及对应结果 并且编写用例,那么因果图是可以省略不画的。

(2)判定表的缺点:在判定表中限制关系在表中不容易表示。

解决办法:在判定表中添加备注信息,通过文字的方式说明限制关系。

步骤5:根据判定表,编写测试用例。

每1列表示1个组合,编写1条测试用例。