小马的测试用例那些事 测试用例设计之因果图法

老马 · 2018年11月09日 · 1613 次阅读

定义

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

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

应用范围

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

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

备注说明:
该文应该是搜集整理过来的,只是觉的定义和解释的比较规范,非本人原创.若有不当,请联系我,更新援引说明.

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册