以中国象棋中走马的测试用例设计为例学习因果图的使用方法

合集下载

测试用例设计之因果图方法

测试用例设计之因果图方法

测试用例设计之因果图方法一.方法简介1.定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

2.因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。

这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

3.因果图介绍1) 4种符号分别表示了规格说明中向4种因果关系。

2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。

左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

3) Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。

Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

4.因果图概念1)关系①恒等:若ci是1,则ei也是1;否则ei为0。

②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。

“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。

“与”也可有任意个输入。

前面两者①,②,考虑的是单个输入(原因)和输出(结果)之间的关系:也就是输入为真(假)时,输出的值为真还是假的对应关系,很自然的,我们很容易想到有两种情况:一种和输入同真同假,一种和输入相反。

后面两者③,④,考虑的是多个输入之间的组合输入和输出之间的关系:我们也很容易想到:一种是组合关系为或(or),一种组合关系为组合(and),满足这种组合关系得出的输出才为真,否则为假2)约束输入状态相互之间还可能存在某些依赖关系,称为约束。

例如, 某些输入条件本身不可能同时出现。

因果图法

因果图法

测试用例设计—因果图法1.引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。

考虑输入条件之间的相互组合,可能会产生一些新的情况。

但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。

因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。

这就需要利用因果图(逻辑模型)。

因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。

其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。

因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。

2.因果图介绍图例说明1、4种符号分别表示了规格说明中向4种因果关系。

如图2-1所示。

图2-1 因果图关系2、因果图中使用了简单的逻辑符号,以直线联接左右结点。

左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。

ci 和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

因果图概念1、关系(图2-1 因果图关系)①恒等:若ci是1,则ei也是1;否则ei为0。

②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。

“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。

“与”也可有任意个输入。

2、约束输入状态相互之间还可能存在某些依赖关系,称为约束。

例如,某些输入条件本身不可能同时出现。

输出状态之间也往往存在约束。

在因果图中,用特定的符号标明这些约束。

如图2-2所示。

图2-2因果图约束A.输入条件的约束有以下4类:① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

第6篇:测试用例设计之因果图分析法

第6篇:测试用例设计之因果图分析法
第6篇:测试用例设计之因果图分析法
一、方法简介
1、定义
一种利用图解法分析输入的各种组合情况的测试用例设计方法,适合于检查程序输入条件的各种组 合情况。
2、意义
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、 输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多 个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考 虑采用一种适合于描述多种条件组合、相应产生多个动作的方法进行测试用例的设计,这就 需要利用因果图(逻辑模型)。
3、因果图介绍
一、方法简介 1、定义 2、意义 3、因果图介绍 4、因果图概念 5、采用因果图法设 计测试用例的步骤
二、实战演习 案例一 案例二 案例三
1) 4种符号分别表示了4种因果关系。 2)因果图中使用了简单的逻辑符号,以直线连接左右结点。左结点表示输入状态(或称原 因),右结点表示输出状态(或称结果)。 3)Ci表示原因,通常置于图的左部;Ei表示结果,通常在图的右部。Ci和Ei均可取值0或 1:0表示某状态不出现,1表示某状态出现。
若单据不处于提交审批状态,则不处理 若单据处于提交审批状态且数据完整率达到 80%,则处理 若单据处于提交审批状态且经过业务员确认,则处理
3、画出因果图
4、将因果图转换为判定表
条件
中间结果 动作
12345678 C1 0 0 0 0 1 1 1 1 C2 0 0 1 1 0 0 1 1 C3 0 1 0 1 0 1 0 1 T0 1 1 1 0 1 1 1 E1 0 0 0 0 0 1 1 1
A、输入条件的约束有以下4类: ① E约束(互斥/异或):a和b中至多有一个可能为1,即a和b不能同时为1。 ② I约束(或/包含):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。 ③ O约束(唯一);a和b必须有一个,且仅有一个为1。 ④ R约束(要求):a是1时,b必须是1,即不可能a是1时,b是0。

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

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

测试用例设计-因果图方法一.方法简介定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

因果图法产生的背景:等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。

这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

因果图介绍4种符号分别表示了规格说明中向4种因果关系。

因果图中使用了简单的逻辑符号,以直线联接左右结点。

左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。

Ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

因果图概念关系①恒等:若ci是1,则ei也是1;否则ei为0。

②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。

“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。

“与”也可有任意个输入。

约束输入状态相互之间还可能存在某些依赖关系,称为约束。

例如, 某些输入条件本身不可能同时出现。

输出状态之间也往往存在约束。

在因果图中,用特定的符号标明这些约束。

输入条件的约束有以下4类:① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

③ O约束(唯一);a和b必须有一个,且仅有1个为1。

④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。

输出条件约束类型输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

测试用例设计方法之因果图法

测试用例设计方法之因果图法

测试用例设计方法之因果图法(一)因果图法的来源➢大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等;➢但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例;➢因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。

(二)因果图法的特点➢考虑输入条件间的组合关系;➢考虑输出条件对输入条件的信赖关系,即因果关系;➢测试用例发现错误的效率高;➢能检查出功能说明中的某些不一致或遗漏;➢因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。

(三)因果图法基本步骤1.分割功能说明书对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。

我们可以把它划分为若干部分,然后分别对每个部分使用因果图。

例如,测试编译程序时,可以把每个语句作为一个部分。

2.识别出“原因”和“结果”,并加以编号所谓原因,是指输入条件或输入条件的等价类;而结果则是指输出条件或输出条件的等价类。

每个原因或结果都对应于因果图中的一个节点。

当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。

例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。

若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

分析这一段说明,我们可以列出原因和结果。

原因如下:✧投入1元硬币;✧投入5角硬币;✧按下“橙汁”按钮;✧按下“啤酒”按钮结果✧退还5角钱;✧送出“橙汁”饮料;✧送出“啤酒”饮料3.根据功能说明书中规定的原因和结果之间的关系画出因果图因果图的基本符号如图1所示:1.因果图的基本符号图中左边的节点表示原因,右边的节点表示结果。

恒等、非、或、与的含义:✧恒等:若a=1,则b=1;若a=0,则b=0;✧非:若a=1,则b=0,若a=0,则b=1;✧或:若a=1或b=1或c=1,则d=1;若a= b= c=0,则d=0;✧与:若a= b= c=1,则d=1;若a=0或b=0或c=0,则d=0。

测试用例设计_因果图和判定表教学内容

测试用例设计_因果图和判定表教学内容

测试用例设计方法 之
判定表
判定表
1、判定表: 判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。 2、优点: 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因 此,利用判定表能够设计出完整的测试用例集合。 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即 :针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类 问题。
因果图
采用因果图法设计测试用例的步骤: 1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类), 那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2) 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间 对应的关系,根据这些关系,画出因果图。 3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不 可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。 4) 把因果图转换为判定表。 5) 把判定表的每一列拿出来作为依据,设计测试用例。
判定表
4、规则及规则合并 规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判 定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条 件取值,也就有多少条规则,既条件项和动作项有多少列。 化简:就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间 存在着极为相似的关系。
3、组成:
判定表
1) 条件桩(Condition Stub): 列出了问题得所有条件。通常 认为列出的条件的次序无关紧 要。 2) 动作桩(Action Stub): 列出了问题规定可能采取的操 作。这些操作的排列顺序没有 约束。 3) 条件项(Condition Entry):列出针对它左列条件 的取值。在所有可能情况下的 真假值。 4) 动作项(Action Entry): 列出在条件项的各种取值情况 下应该采取的动作。

课堂练习-中国象棋走马

课堂练习-中国象棋走马
课堂练习

分析中国象棋中走马的实际情况(下面未注明的 均指的是对马的说明)
1、如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿), 则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将), 则移动棋子并除去对方棋子; 7如果不属于1-4条,且落点处为对方老将,则移动棋子, 并提示战胜对方,游戏结束。
因果分析


原因: 1、落点在棋盘上; 2、落点与起点构成日字; 3、落点方向的邻近交叉点无棋子; 4、落点处为自己方棋子; 5、落点处无棋子; 6、落点处为对方棋子(非老将); 7、落点处为对方老将。 结果: E1、不移动棋子; E2、移动棋子; E3、移动棋子,并除去对方棋子; E4、移动棋子,并提示战胜对方,结束游戏。
不移动棋子
不移动棋子 不移动棋子 不移动棋子 移动棋子
落点在棋盘上且构成日字,没有自己方棋子且不绊马腿, 移动棋子,并除去 落点处有对方棋子(非老将) 对方棋子 移动棋子,并提示 落点在棋盘上且构成日字,没有自己方棋子且不绊马腿, 战胜对方,结束游 落点处有对方老将 戏
8
画出因果图
添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表 1 ~ 2 3 4 5 E 6 7 ~ ~ ~ V V
E1
以对其施加唯一约束O。 原因5、6、7不能同时发生,所以对其施加异约束E.
将因果图转换成如下所示的决策表
0 1 0 0 0
11 E1
1 0
0 1
0 1
0 1
0 1

第02章_因果图法解析

第02章_因果图法解析

案例2
某软件规格说明书包含这样的要求:第一列字符必须
是A或B,第二列字符必须是一个数字,在此情况下进 行文件的修改,但如果第一列字符不正确,则给出信 息N;如果第二列字符不是数字,则给出信息M。
用因果图法测试上述程序。
步骤1:分析原因和结果
根据题意,原因和结果如下:
原因 结果
某软件规格说明书包含这样的 要求:第一列字符必须是A或B,
判定表法
联系
程序的输入条件存在不同的组合,执行相应的操作 弥补了等价类、边界值的不足
把程序功能的描述性语言形象的图表(直观、清晰) 二者往往结合使用,使用因果图可以得到判定表,它可以看作 判定表法的前期阶段,也可以直接应用判定表。 用于描述输入之间,输入输出之 用于表达多逻辑条件下执行不 间的约束关系和因果关系 同操作的情况的工具 考虑输入条件之间的联系、各种 考虑输入条件之间的各种组合, 组合,相应产生多个动作。 相应产生多个动作。
I 约束(或/包含):
a
I
b c
表示几个原因中至少有一个必须成立,当然 也可能都成立。
如图,a、b和c中至少有一个必须是1,即 a 、b 和c不能同时为0。
因果图法设计用例步骤
需求 分析
1. 找出输入输出并进行标识 2. 分析输入输出的关系
关联
转换
3. 画出因果图
4. 因果图转换为判定表
输出
5. 生成测试用例
因果图提供了一个把需求转化为判定表的系统化方法 因果图法最终生成的就是判定表,它适合于检查程序输
入条件的各种组合情况。
原因:输入条件
结果:输出
因果图的关系符号
左边的节点表示原因
右边的节点表示结果
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以中国象棋中走马的测试用例设计为例学习因果图的使用方法。

分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)
1如果落点在棋盘外,则不移动棋子;
2、如果落点与起点不构成日字型,则不移动棋子;
3、如果落点处有自己方棋子,则不移动棋子;
4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;
5、如果不属于1-4条,且落点处无棋子,则移动棋子;
6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;
7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

原因:结果:
1、落点在棋盘上;
2、落点与起点构成日字;
3、落点处为自己方棋子;
4、落点方向的邻近交叉点无棋子;
5、落点处无棋子;
6、洛点处为对方棋子(非老将);
7、洛点处为对方老将。

21、不移动棋子;
22、移动棋子;
23、移动棋子,并除去对方棋子;
24、移动棋子,并提示战胜对方,结束游戏。

L2345678
111110000
2]101I00
3L3101c10
11111100
2200001
2101000
23(.1010]
测试
用例
A3
A8
AR
A?
R5
B4
RN
ur
Cl
X6
SD
PS
考虑结果不能同时发生,所以对其施加唯一约束施加异约束E。

根据因果图建立判定表:(分为两表)0。

原因5、6、7不能同时发生,所以对其
添加中间节点11,目的是作为导出结果的进一步原因,简化因果图导出的判定表
注:1、以上判定表中由于表格大小限制没有列出最后所选的测试用例;2、第2表中部分列被合并表示不可能发生的现象;3、通过中间节点将用例的判定表简化为两个小表。

减少工
作量。

四、根据判定表写测试用例表(略)。

相关文档
最新文档