zl程序教程

您现在的位置是:首页 >  其他

当前栏目

软件测试用例设计之因果图

软件 设计 测试用例 因果
2023-09-11 14:22:10 时间

软件测试用例设计之因果图

自动贩卖机功能测试

若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;

若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币;

橙汁与啤酒均为5角钱一瓶。

Step1、如果需求是文字描述,将文字转化为图形

Step2、需求中包含1个独立功能 —— 贩卖功能

Step3、针对打印功能开展需求分析              

界面可见输入参数:橙汁、啤酒、投币              

界面不可见输入参数: 电量、货源

Step4、分析界面可见输入参数之间的关系及特点

等价类 ——不存在无效规则(点橙汁是对的,不点是错的?)

边界值 —— 不存在区间范围

判定表 —— 参数之间存在逻辑关系√,不同组合输出不同结果√                        

                        不存在一个是什么另外一个必须是什么

正交试验 —— 不全是有效的,存在无效(投币存在无效)

流程分析法 —— 不跨界面

状态迁移图 —— 不全是有效的,存在无效×                              

                        参数之间存在约束关系(点橙汁不能点啤酒)√

参数之间存在逻辑关系,不同逻辑组合会输出不同结果

参数之间存在约束关系,输出结果不确定          —— 因果图

 因果关系

恒等:条件C满足要求时,一定会输出结果E      

例如:投5毛点橙汁,一定会输出橙汁  

非:条件C满足要求时,一定不会输出结果E      

例如:投5毛点橙汁,一定不会输出啤酒

或:条件C1、C2、C3任何一项满足要求时,就会输出结果E      

例如:测试管理工具QC、禅道、Jira中会使用任何一款工具即会被录用  

与:条件C1、C2、C3同时满足要求时,才会输出结果E      

例如:同时会使用禅道、SVN、selenium三款工具才会被录用

原因与原因之间的关系

异:原因a、b中只能有一个为真(只有2个条件)      

例如:两支笔(签字笔、白板笔)中有且只有一支是白板笔

或:原因a、b中至少有一个为真(a为真,b也可以为真)      

例如:两支笔(白板笔)中至少有一支是白板笔

唯一:在多组判定条件中,有且只有一个为真(多个条件)      

例如:在多人的间谍游戏中,有且只有一个是间谍

要求:原因a满足条件时,原因b一定满足条件      

例如:面试穿正装(约束,共同努力完成一件事情)

结果与结果之间的关系

强制:结果a出现时,结果b一定不出现      

例如:橙汁出现时,啤酒一定不出现

 1. 某软件规格说明书包含这样的要求:

第一列字符必须是A或B,第二列字符必须是一个数字, 在此情况下进行文件的修改,

但如果第一列字符不正确,则给出信息L; 如果第二列字符不是数字,则给出信息M。

根据题意,原因和结果如下:

原因:

1——第一列字符是A;

2——第一列字符是B;

3——第二列字符是一数字。

结果:

21——修改文件;

22 ——给出信息L;      

23——给出信息M。

 【例】 有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下。

① 若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。(每次只投入一个硬币,只按下一种饮料的按钮。)

② 如投入5角的硬币,按下按钮后,总有饮料送出。

③ 若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。

④ 若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

 

 以中国象棋中马的走法为例子,具体说明:

1、如果落点在棋盘外,则不移动棋子;

2、如果落点与起点不构成日字型,则不移动棋子;

3、如果落点处有自己方棋子,则不移动棋子;

4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;

5、如果不属于1-4条,且落点处无棋子,则移动棋子;

6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;

7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

 案例分析--因果图

1)  根据程序规格说明书描述的语义内容,分析并确定“因”和“果”;

原因:

1、  落点在棋盘外;

2、  不构成日字;

3、  落点有自方棋子;

4、  绊马腿;

5、  落点无棋子;

6、  落点为对方棋子;

7、  落点为对方老将。

结果:

21、 不移动;

22、移动;

23、移动己方棋子消除对方棋子;

24、  移动并战胜对方。

因果图的优缺点

优点:

1.充分考虑了输入条件之间的组合,对组合情况覆盖充分。

2.最终每个用例覆盖多种输入情况,有利于提高测试效率。

3.设计过程中,对输入条件间的约束关系做了考虑,避免了无效用例,用例的有效性高。

4.能够同时得出每个测试项目的预期输出

缺点:

1.当被测试特性输入较多时,判定表的规模会非常大。

2.输入之间的约束条件不能有效区分输入是否确实需要进行组合测试,会造成不需要组合测试的输入做了组合,从而产生用例冗余。