测试用例设计之因果图法

Posted 1737623253zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试用例设计之因果图法相关的知识,希望对你有一定的参考价值。

定义

因果图法就是从程序规格说明书的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表,最后为判定表中的每一列设计一个测试用例。

首先我们来了解一下因果图的基本符号:

技术图片
 

 

技术图片
 

 

应用范围

更复杂的条件组合,2^n,n比较多的时候

使用步骤

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

2) 将“因”和“果”表示成 “因果图”;

3) 在因果图上使用若干个约束符号来标明约束条件;

4) 将得到的因果图转换成判定表;

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、 移动并战胜对方。

2) 将“因”和“果”表示成 “因果图”,并标明约束条件;

 

技术图片
 

 

3) 将得到的因果图转换成判定表;

11这个结点称做中间结点,是为了让因果图的结构更加明了,简化因果图导出的判定表。分析得出以下两个结论:

只有1、2、3、4都不成立时,产生11,跟5、6、7结合分别得出22、23、24三个结果;

不管5、6、7哪个成立,只要1、2、3、4有一个成立,就产生结果21;再加上落点有自方棋子的状况。

可以得到判定表如下:

技术图片
 

 

  进一步分析,将各种不可能产生的组合情况,取消掉,图中用灰色表示。这些都是之前没有写的一些约束条件导致的。比如落点在棋盘外,那么落点就不可能在对方棋子上了。

4) 为判定表中每一列所表示的情况设计一个测试用例。

5. 总结

  因果图常和判定表结合起来使用,先用因果图后用判定表.

以上是关于测试用例设计之因果图法的主要内容,如果未能解决你的问题,请参考以下文章

自动化测试之-测试用例设计方法总结

软件测试用例设计“八法归一”——因果阵

测试用例习题

测试用例设计方法

测试用例设计白皮书--因果图方法

目前主要的测试用例设计方法是什么?