软件测试(04)——因果图和判定表

时间:2024-03-19 22:20:42

因果图

1、背景

1)等价类划分法和边界值分析法着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系,这样虽然各种输入条件可能出错情况已经测试到了,但多个输入条件组合起来可能出错的情况被忽视。

2)如果测试时必须考虑输入条件的各种组合,则可能组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,需要利用因果图。

2、概念

因——>输入条件

果——>输出结果

适用于输入条件之间有相互制约、相互依赖的情况

3、因果图中的基本符号

恒等(因出现,果出现)

非 ~(因不出现,果出现;因出现,果不出现)

或 v(几个原因有一个出现,果出现;几个原因都不出现,果不出现)

与 (几个原因都出现,果出现;有一个原因不出现,果不出现)

4、因果图中的约束条件

互斥(最多有一个成立,如下拉菜单)

包含(至少有一个必须成立,如下拉菜单)

屏蔽(a成立时,b不成立;a不成立时,b不一定成立,如元旦不上班:不是元旦,不一定上班)

唯一(几个原因只有一个成立如下拉菜单)

要求(一个出现,另一个一定出现)

5、因果图导出测试用例步骤

1)找出所有原因(输入条件的等价类)

2)找出所有结果(输出条件)

3)明确输入条件之间的制约关系和组合关系(哪些能组合,哪些不能组合)

4)明确输出结果之间的制约关系和组合关系(哪些能同时输出,哪些不能)

5)找出什么样的输入条件组合会产生哪种输出结果

6)因果图转化为判定表/决策表

7)为判定表/决策表的每一列情况设计测试用例

案例:交通一卡通自动充值软件系统需求

1、只接受50、100元纸币,一次充值只能50元或100元

2、输入50元纸币,选择充值50元,完成充值退卡,提示充值成功

3、输入50元纸币,选择充值100元,提示输入金额不足,并退回50元

4、输入100元纸币,选择充值50元,完成充值退卡,提示成功,找零50

5、输入100元纸币,选择充值100元,完成充值退卡,提示充值成功

6、输入纸币后不在时间内选择充值按钮,退回输入纸币,提示错误

7、选择充值按钮后不输入纸币,提示错误

分析:找输入条件编号、输出条件编号、输入输出制约关系

 

软件测试(04)——因果图和判定表

 

软件测试(04)——因果图和判定表

 

软件测试(04)——因果图和判定表

因果图只是中间步骤,为了生成判定表。

判定表:

   

测试用例

   

1

2

3

4

5

6

7

8

条件桩

输入50

1

1

   

1

     

输入100

   

1

1

 

1

   

选择50

1

 

1

     

1

 

选择100

 

1

 

1

     

1

动作桩

完成充值并退卡

1

 

1

1

       

提示充值成功

1

 

1

1

       

找零

 

1

1

 

1

1

   

提示错误

 

1

   

1

1

1

1

是否bug

                 

组成部分:

条件桩:所有条件

动作桩:所有结果

条件项:针对条件桩的取值

动作项:针对动作桩的取值

注:如果出现‘-’,代表此项不影响最终结果