测试用例设计之因果图法

定义

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

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

应用范围

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

时间: 2024-08-03 08:55:23

测试用例设计之因果图法的相关文章

测试用例设计——场景分析法

转载 测试用例设计——场景分析法 定义 分析软件应用的场景,从用户的角度出发,从场景的角度来设计测试用例,是一种面向用户的测试用例设计方法. 关心用户做什么,而不是关心产品做什么 优点:实用性强,有效,设计出来的用例有价值 缺点:可能使用的场景不一定能对事件系列进行全面的分析,设计出来的用例不完整. 场景分析是通过描述流经用例路径来确定的过程,这个流经过程要从用例开始到结束遍历其中所有基本流 :直黑线表示基本流,是最基本.最简单的路径:(软件功能按照正确的事件流实现的一条正确流程无任何错,程序从

测试用例设计之正交表法详解

正交实验法的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称为拉丁方. 什么是n阶拉丁方? 用n个不同的拉丁字母排成一个n阶方阵(n<26 ),如果每行的n个字母均不相同,每列的n个字母均不相同,则称这种方阵为n*n拉丁方或n阶拉丁方.每个字母在任一行.任一列中只出现一次. 什么是正交拉丁方? 设有两个n阶的拉丁方,如果将它们叠合在一起,恰好出现n2个

【转】黑盒测试用例设计方法--场景法

场景法 1.定义 场景法是通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法. 场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景.场景主要包括4种主要的类型:正常的用例场景,备选的用例场景,异常的用例场景,假定推测的场景. 2.基本流备用流 上图为,用例基本流和备选流(注意:备选流的起止点) 基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束) 备选流:采用不同颜色表

测试用例设计方法---场景法

掌握场景法设计测试用例 掌握场景法的使用范围 1.为什么学习场景法用户角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用 测试人员角度:平时测试的都是单个功能点进行测试,为了保证测试的全面性,也要从用户的角度出发也要对产品多个功能的组合进行测试. 2.场景法是什么场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况. 3.场景法中两个重要的概念 基本流按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)备选流导致程序出现错误的操作流程(模拟错误的操作流程

测试用例设计之边界值法

定义 测试经验丰富的前辈们告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查处更多的错误. 应用范围 常和等价类配合起来使用,即先划分等级类,根据不同的等价类来选取边界进行测试. 使用步骤 1) 划分等价类 2) 根据等价类, 进行边界值设置 案例 继续同上---http://www.emoney.cn/product/ggzd.html 个股诊断 备注: n : 表示当前报表的总行数. 总结 边界值分析方法的原则: 1)

测试用例设计之等价类法

定义 等价类是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例,等价类分为有效等价类和无效等价类. 有效等价类就是由那些对程序的规格说明有意义的.合理的输入数据所构成的集合: 无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合. 等价类划分原则: 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有

测试用例设计方法-因果图(鱼骨图)

因果图,又叫鱼骨图 输入与输入之间的关系 异:所有输入条件中最多有一个为真,也可以一个也没有 或:所有输入条件中最少有一个为真,或者多个,或者所有 唯一:所有输入条件中,有且只有一个条件为真 要求:所有输入条件中,只要有一个产生,其他也跟着产生 输入与输出之间的关系 恒等 当输入条件发生时,结果一定发生 当输入条件不发生时,结果一定不会出现 非 当输入条件发生时,结果一定不会出现 当输入条件不发生时,结果一定出现 与 当多个输入条件时,必须所有输入条件都发生,结果才会出现 或 当多个输入条件时,

黑盒测试用例设计技术概述

1.等价类划分法 1.1 测试中的疑问 做加法器功能测试时,测试了1+1,1+2 , 1+3和1+4之后,还有必要测试I+ 5和1 +6吗,能否放心地认为它们是正确的? 1.2 等价类划分 1.把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例 2.每类的代表性 数据在测试中的作用等价于这一类中的其他值,如果某一 类中的一个例子发现了错误,这一 等价类中的其他例子也能发现同样的错误.反之,如果某-类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误 1.3 基

【tool】运用因果图法设计象棋中马行走路线的测试用例

因果图法设计用例 需求规格: 1.如果落点在棋盘外,则不移动棋子; 2.如果落点与起点不构成日字型,则不移动棋子; 3.如果落点处有自己方棋子,则不移动棋子; 4.如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5.如果不属于1-4条,且落点处无棋子,则移动棋子; 6.如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7.如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束. 一.原因条件: 1. 落点在棋盘上; 2. 落点与起点构