码迷,mamicode.com
首页 > 其他好文 > 详细

测试用例设计之因果图法

时间:2019-05-13 22:54:33      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:不可   自己   中马   移动   就是   例子   测试用例设计   导出   棋盘   

定义

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

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

技术图片
 

 

技术图片
 

 

应用范围

更复杂的条件组合,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. 总结

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

测试用例设计之因果图法

标签:不可   自己   中马   移动   就是   例子   测试用例设计   导出   棋盘   

原文地址:https://www.cnblogs.com/1737623253zhang/p/10859459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!