测试用例设计_因果图和判定表

合集下载

黑盒测试-因果图、判定表

黑盒测试-因果图、判定表

2
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
因果图介绍
恒等 c1 e1

c1 c1
e1

c2 c3 c1
V
e1
与 c2

e1
3
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
条件的约束 • 输入条件约束
9
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
例子 • 根据因果图建立如下的判定表: 根据因果图建立如下的判定表:
条 件 1 2 3 11 22 21 23 1 1 1 1 //// //// // // // //// 2 1 1 0 //// //// // // // //// 3 1 0 1 1 0 1 0 A3 A8 4 1 0 0 1 0 0 1 AM A 5 0 1 1 1 0 1 0 B5 B4 6 0 1 0 1 0 0 1 BN B 7 0 0 1 0 1 0 0 C2 X6 8 0 0 0 0 1 0 1 DY P: : 原 因
5
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
步骤
①分析程序规格说明的描述中,哪些是原因,哪 分析程序规格说明的描述中,哪些是原因, 些是结果。 些是结果。原因常常是输入条件或是输入条件 的等价类。而结果是输出条件。 的等价类。而结果是输出条件。 分析程序规格说明的描述中语义的内容, ②分析程序规格说明的描述中语义的内容,并将 其表示成连接各个原因与各个结果的“因果图” 其表示成连接各个原因与各个结果的“因果图” 由于语法或环境的限制, ③由于语法或环境的限制,有些原因和结果的组 合情况是不可能出现的。 合情况是不可能出现的。为表明这些特定的情 况,在因果图上使用若干个特殊的符号标明约 束条件。 束条件。 把因果图转换成判定表。 ④把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。 ⑤把判定表中每一列表示的情况写成测试用例。

测试用例设计-错误推测法、判定表、因果图

测试用例设计-错误推测法、判定表、因果图

2.判定表
举例3: 分析— 条件桩:1. 导入单位工程为清单计价;
2. 当前工程为定额计价工程,存在“导入清单计价工程”菜单; 3. “导入措施项目”勾选; 4. 导入窗口点“确定”; 5. 提示窗口点“确定” 动作桩:21. 执行导入清单计价工程操作; 22. 选择的项目工程文件或单位工程的定额计价工程,则给提示; 23. 选择的项目工程文件或单位工程的定额计价工程,系统自动弹出导 入GBQ的选项窗口; 24. 措施项目不被导入,提示导入成功; 25. 措施项目被导入,提示导入成功; 26. 退出提示窗口
25 N N N N N N N N N N N N N N N N
26 N N N N N N N N N N N N N N N N
2.判定表
举例3: 简化判定表—
1
2
3
5
6
7
9
17 25
条件 1 桩2
Y
Y
Y
Y
Y
Y
Y
NN
Y
Y
Y
Y
Y
Y
N
Y
N
3
Y
Y
Y
N
N
N ———
4
Y
Y
N
Y
Y
N ———
5
Y
N—
况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制 条件; 转换:把因果图转换为判定表; 输出:把判定表的每一列拿出来作为依据,设计测试用例
3.因果图
举例1: 需求—
“……对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器
,应给予优先的维修处理……”
Y
N ————

测试用例设计方法之判定表和因果图

测试用例设计方法之判定表和因果图

测试⽤例设计⽅法之判定表和因果图⼀、判定表等价类边界值分析法主要关注单个或者多个输⼊类条件的测试,并未考虑到输⼊条件之间的各种组合,输⼊条件与输出结果之间有相互制约关系的测试1、概念: 存在多个输⼊条件、多个输出结果,输⼊和输⼊之间有组合关系,输⼊和输出之间有依赖或者制约关系2、判定表的组成: -条件桩:所有输⼊条件、如⽋费状态、关机状态 -动作桩:所有的可能的输出结果,如允许主被叫、不允许主被叫 -条件项:单个条件的取值范围,⼀般都是有效等价类和⽆效等价类 -表⽰⽅式 -字符: -真/有效等价类/Y -假/⽆效等价类/N -数字 -真/有效等价类/Y -假/⽆效等价类/N -动作项:基于每⼀种条件的组合,得到确认的结果,如打不通、打得通3、设计测试⽤例的步骤: 1、明确条件桩(找到所有的属兔条件) 2、明确动作桩(找到所有的输出结果) 3、对条件桩进⾏组合 4、明确每个组合对应的动作桩(每个输⼊条件组合的情况下的输出结果) 5、设计测试⽤例,每⼀⾏对应⼀条测试⽤例4、判定表的应⽤场景: -多输⼊组合场景,即输⼊与输⼊之间有组合案例⼀、若⽤户⽋费或者关机则不允许主被叫; 步骤:1、找到所有的输⼊条件 2、找到输⼊条件的组合 3、找到组合对应的输出结果案例⼆、订单状态订单检查,如果⾦额⼤于500元,⼜未过期,则发出批准单和提货单;如果⾦额⼤于500元,但过期了,则不发批准单与提货单;如果⾦额⼩于500元,则不论是否过期都发出批准单和提货单;在过期的情况下,不论⾦额⼤⼩还需要发出通知单。

案例三、⽂件修改如果想对⽂件进⾏修改,输⼊的第⼀列字符必须是A/B,第⼆列字符必须是⼀个数字,如果第⼀列字符不正确,则给出信息L;如果第⼆列字符不正确,则给出信息M。

⼆、因果图(扩展) ------------------ ⼀般直接⽤判定表 因果图设计⽅法是对判定表的扩展 -概念:⽤图解的⽅法表⽰输⼊的各组合关系,写出判定表,进⽽设计测试⽤例的⼀种⽅法 -适⽤范围:适⽤于分析程序输⼊条件的各种组合情况,以及输⼊和输出之间的依赖关系 -核⼼: -因:即输⼊条件 -果:即输出结果 -基本符号(重点掌握) -恒等:条件成⽴,结果成⽴ -⾮(~)NOT: 条件成⽴,结果不成⽴,条件不成⽴,结果成⽴ -或(V)OR:只要有⼀个条件成⽴,结果就成⽴;所有条件都不成⽴时,结果才不成⽴ -与 ^ and:多个条件必须同时成⽴,结果成⽴;只要有⼀个条件不成⽴,结果就不成⽴。

[黑盒测试基本方法]之因果图与判定表

[黑盒测试基本方法]之因果图与判定表

测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。

因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。

1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。

因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。

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

采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。

因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。

1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。

2)非关系:与恒等关系相反。

3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。

4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。

特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。

2)或(I):所有输入中至少一个输入条件发生。

3)唯一(O):所有输入中有且只有一个输入条件发生。

4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。

特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

单项案例-因果图法设计测试用例-3

单项案例-因果图法设计测试用例-3
12. 过失是否严重 结果:21.扣年终风险金的4%
22.扣年终风险金的2% 23.扣当月薪资的8% 24.扣当月薪资的4%
(2)画出因果图。所有原因结点列在左边,所 有结果结点列在右边。
21
11 22
12
23
24
条件: 员工是否为年薪制 过失是否严重
动作: 扣年终风险金的4% 扣年终风险金的2% 扣当月薪资的8% 扣当月薪资的4%
使用因果图法设计测试用例
某软件的一个模块的需求规格说明书中描述:
(1)年薪制员工:严重过失,扣年终风险金的 4%;过失,扣年终风险金的2%。
(2)非年薪制员工:严重过失,扣当月薪资的 8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测 试用例。
(1)分析这一段说明,列出原因和结果。 原因:11. 员工是否为年薪制
Y
Y
N
N
பைடு நூலகம்
Y
N
Y
N
√ √ √ √

判定表+因果图法测试用例设计

判定表+因果图法测试用例设计

第三部分任务3-3附2因果图法附2作业:因果图法测试作业.1、象棋游戏规则(针对棋子“馬”):1)如果落点在棋盘外,则不移动棋子2)如果落点与起点不构成日字型,则不移动棋子。

3)如果落点处有自己方棋子,则不移动棋子。

4)如果落点方向的临近交叉点有棋子(绊马腿),则不移动棋子。

5)如果不属于1-4条,且落点处无棋子,则移动棋子。

6)如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子。

7)如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。

注意分析原因之间、结果之间是否有约束关系。

(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的。

参考步骤:(1)分析数据原因:1————2————。

结果:A————B————。

(2)因果图(3)判定表(4)测试用例测试用例格式可参照下表2(附加)、有一个处理单价为5角钱的饮料的自动售货机,相应规格说明如下:若投入5角钱或1元钱的硬币,按下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

(每次只投入一个硬币,只押下一种饮料的按钮)如投入5角的硬币,按下按钮后,总有饮料送出。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。

若有零钱找,则显示〖零钱找完〗的红灯不会亮,若投入 1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

(1)使用因果图法列出原因和结果(2)画出因果图,修改为最简洁的图。

注意分析原因之间、结果之间是否有约束关系。

(3)根据因果图列出判定表(4)根据判定表的中得出的输入数据,写出规范的测试用例。

参考步骤:(1)分析数据原因:1————2————。

结果:A————B————。

(5)因果图(6)判定表(7)测试用例测试用例格式可参照下表。

测试用例(因果图法)

测试用例(因果图法)

测试⽤例(因果图法)⼀、应⽤场合在⼀个界⾯中,有多个输⼊条件,输⼊之间存在组合关系,不同的输⼊组合会产⽣不同的输出结果的组合,为了弄清输⼊和输出的关系,使⽤因果图 (控件组合)⼆、核⼼概念1、因——原因,输⼊动作。

2、果——结果,输出结果。

使⽤画图的⽅法找出输⼊(因)和输出(果)的关系 因果图法需要考虑:所有输⼊条件的相互制约关系以及组合关系输出结果对输⼊条件间的依赖关系。

也就是什么样的输⼊组合会产⽣怎样的输出结果。

即“因果关系”三、图形符号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 2、约束(限制)符号——约束的永远都是同⼀类型:要不然同时限制⼏个输⼊之间的关系,要不然同是限制⼏个输出之间的关系。

互斥(E)*含义:表⽰a、b、c三个原因不会同时成⽴;最多有⼀个可能成⽴。

a、b、c不能同时为 1,即a/b/c中⾄多只有1包含(I)含义:表⽰a、b、c三个原因中⾄少有⼀个必须成⽴a、b、c⾄少有有⼀个1,即a,b,c中不能同时为0唯⼀(O)*含义:表⽰a、b、c三个原因中必须有⼀个成⽴,且仅有⼀个成⽴(唯⼀和互斥⾮常接近,就差⼀个默认值) 说明:互斥和唯⼀的区别:⼀般有默认选项—唯⼀,没有默认选项—互斥要求(R)*含义:表⽰a 出现时,则b 必须出现若a = 1 ,则b 必须= 1,即不可能a = 1 且 b = 0 屏蔽(M)含义:若a = 1 ,则b 必须= 0,若a = 0 时则 b 的值不⼀定重点要求: 互斥、唯⼀、要求 屏蔽⼀般在输出中常⽤。

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表判定表法判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。

判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。

使用判定表的一般思路是:1、需求分析,分析出条件和结果之间的各种组合2、将条件和结果分别填入判定表3、讲条件和结果进行二进制排列4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。

在合并判定表时,如果条件之中只有一个不同,则可以合并。

如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。

5、每一列生成一个测试用例以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。

而其无效用例不易发现,更不能覆盖条件之间的先后关系。

因此,在一定情况下,使用判定表还需要因果图的帮忙。

--------------------------------------------------------------------------------因果图因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。

因果图与判定表往往结合使用,使用因果图可以得到判定表。

使用因果图的方法:1、分析输入输出并进行标识2、分析输入和输入、输入和输出之间的关系3、将得到的关系使用因果图的方法表示出来4、根据因果图得到判定表5、依据判定表生成测试用例这里分析一个自动售货机的因果图分析方法:条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。

如果有零钱,则出饮料并找5角钱。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

因果图-约束
2)输出条件约束:输出条件的约束只有M约束(强制):若结果a是1,则
结果b强制为0。
因果图
采用因果图法设计测试用例的步骤: 1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类), 那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2) 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间 对应的关系,根据这些关系,画出因果图。 3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不
判定表
5、规则合并举例
如下图左端,两规则动作项一样,条件项类似,在1、2条件项分别取Y、N时 ,无论条件3取何值,都执行同一操作。即要执行的动作与条件3无关。于是可合
并。“-”表示与取值无关。
判定表
6、判定表的建立步骤:(根据软件规格说明)
1) 确定规则的个数。假如有n个条件。每个条件有两个取值(0,1),有 2^n种规则。
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即
:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类 问题。
判定表
3、组成:
1) 条件桩(Condition Stub): 列出了问题得所有条件。通常 认为列出的条件的次序无关紧 要。 2) 动作桩(Action Stub): 列出了问题规定可能采取的操 作。这些操作的排列顺序没有 约束。 3) 条件项(Condition Entry):列出针对它左列条件 的取值。在所有可能情况下的 真假值。 4) 动作项(Action Entry): 列出在条件项的各种取值情况 下应该采取的动作。
c3
因果图-因果关系
4)与(^):若c1和c2都是1,则e1为1;否则e1为0,“与”也可有任意个输入
c1
e1 c2
因果图-约束
2、约束
输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条 件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的
符号标明这些约束。4)与(^):若c1和c2都是1,则e1为1;否则e1为0,“与”也
测试用例设计方法 之 因果图
引言
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考
虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种 输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能
出错的情况却被忽视了。
如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将 是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应 产生多个动作的形式来进行测试用例的设计,这就需要利用因果图。
可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
4) 把因果图转换为判定表。 5) 把判定表的每一列拿出来作为依据,设计测试用例。
测试用例设计方法 之 判定表
判定表
1、判定表: 判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。 2、优点: 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因 此,利用判定列出所有的条件桩和动作桩。
3) 填入条件项。 4) 填入动作项。等到初始判定表。 5) 简化.合并相似规则(相同动作)。
使用各种测试方法的综合策略
1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出
测试用例发现程序错误的能力最强。】 2) 必要时用等价类划分方法补充一些测试用例。
3) 用错误推测法再追加一些测试用例。
4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达 到要求的覆盖标准,应当再补充足够的测试用例。 5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因 果图法。
均可取值0或1,0表示某状态不出现,1表示某状态出现。
因果图-因果关系
1)恒等关系:若c1是1,则e1也是1;否则e1为0
c1
e1
2)非:若c1是1,则e1是0;否则e1是1
c1
e1
因果图-因果关系
3)或(V):若c1或c2或c3是1,则e1是1;否则e1为0,“或”可有任意个输 入 c1
c2
e1
判定表
4、规则及规则合并
规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判 定表中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条
件取值,也就有多少条规则,既条件项和动作项有多少列。
化简:就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间 存在着极为相似的关系。
可有任意个输入
因果图-约束
1)输入条件约束:异E、或I、唯一O、要求R
因果图-约束
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。
因果图
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测
试用例的方法,它适合于检查程序输入条件的各种组合情况。
因果图-因果关系
1、因果关系
4种符号分别表示了规格说明中向4种因果关系 说明:
因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状
态(或称原因),右结点表示输出状态(或称结果)。 C1表示原因,通常置于图的左部;e1表示结果,通常在图的右部。C1和e1
相关文档
最新文档