测试方法因果图法
因果图法

测试用例设计—因果图法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。
因果图测试法附简单实例经典实用

C3 选择可乐
Cm3
投入5元
I
Cm4
Cm2
出货
投入3元
C4 选择冰红茶 E
C5 选择冰雪碧
因果图测试法附简单实例
实例分析
完整的因果图
投入3张一元纸币 C1
E 投入1张五元纸币 C2
I
选择可乐
C3
Cm3
投入5元
Cm2
投入3元
Cm4
出货
选择冰红茶
C4
E
选择冰雪碧 C5
Cm1
选择了饮料
因果图测试法附简单实例
E1 退还两元零钱 E2 可乐出货 E3 冰红茶 E4 雪碧出货
实例分析 (4)转换为判定表
c c c c c
因果图测试法附简单实例
实例分析 (5)根据判定表设计测试用例
这只是个很简单的例子
如果你能直接写出判定表也可 以不画因果图直接写出判定表 ->测试用例。比如这个例子。
实例分析 自动售货机售卖可乐、冰红茶和雪碧三种饮料,单价都 是3元。自动售货机只接受面值五元或一元的钞票。 若投入3张一元钞票,按下“可乐、冰红茶或雪碧”按钮后, 饮料自动送出; 若投入1张五元的钞票,则在送出饮料后退还两元零钱。
因果图测试法附简单实例
实例分析
自动售货机售卖可乐、冰红茶和雪碧三种饮料,单价都是3元。自动售货机 只接受面值五元或一元的钞票。 若投入3张一元钞票,按下“可乐、冰红茶或雪碧”按钮后,饮料自动送出;若 投入1张五元的钞票,则在送出饮料后退还两元零钱。
因果图测试法附简单实例
什么是因果图测试法?
·黑盒测试法的一种
·是一种利用图解法分析输入的各种组合情况,从而设
计测试用例的方法
黑盒测试技术4-因果图法

e1 原因中有一个不出现,结果就不出现。 如图,若c1和c2都是1,则ei为1;否则ei为0。 “与” 可有任意个输入。
因果图的约束符号
输入条件的 4 种约束类型:
a
E
b (Exclusive)
❖ E 约束(异/互斥): 表示几个原因不会同时成立; 可能他们都不成立,但最多有一个成立。
定义
用于描述输入之间,输入输出之 用于表达多逻辑条件下执行不
间的约束关系和因果关系
同操作的情况的工具
区别
本质
考虑输入条件之间的联系、各种 考虑输入条件之间的各种组合, 组合,相应产生多个动作。 相应产生多个动作。
当输入条件 用例数量相对少(无效用例) 会产生大量测试用例 过多时 可以覆盖到条件之间的先后关系 不能覆盖条件之间的先后关系
• 根据题意,原因和结果如下:
原因
1:A < B+C 2:B < A+C 3:C < A+B 4:A = B 5:A = C 6:B = C
结果
21:不能构成三角形 22:等边三角形 23:等腰三角形 24:一般三角形
步骤2:画出因果图
原因
结果
1
1:A < B+C
21:不能构成三 角形
2
2:B < A+C 22:等边三角形 3
如图,a和b中至多有一个可能为1,即a和b不 能同时为1。
❖ I 约束(或/包含):
a 表示几个原因中至少有一个必须成立,当然也
I
b 可能都成立。
(In)
c 如图,a、b和c中至少有一个必须是1,即 a、b
和c不能同时为0。
黑盒测试-因果图法

结果: 1、该类型的房间被打开,且提醒房款支付不足 2、单人间已经被开启 3、双人间已经被开启 4、豪华间已经被开启
当支付房间全款(即预期入住天数内所有房款)或支付房间房款不足(仅支付定金),选择"单人间"、"双人间"或"豪华间",则相应类型 的房间被开启。若游客支付房款不足,则在开启房门的同时系统提示房款支付不足。
问题:采用因果图进行测试用例设计 第一步:首先分析需求说明,找出原因和结果
原因: 1、游客支付房间全款
A2+B2==(管理人员优秀表现)
C2==2类奖 金
A2+B1+B3==(管理人员普通表 C3==3类奖
现,且有特殊贡献)
金
A2+B2+B3==(管理人员普通表 C4==4类奖
现,且有特殊贡献)
金
原因
结果
A1+B1==(普通员工表现普通)
C5==5类奖 金
A1+B2==(普通员工表现优秀)
C6==6类奖 金
员工类别:普通员工A1 管理人员A2
变现类别:普通B1 优秀B2 特殊贡献B3 奖金类别:1类奖金C1 2类奖金C2
.................................... 测试用例如下表:
原因
结果
A2+B1==(管理人员普通表现)
C1==1类 奖金
应用场合:
当软件的输入条件较多的时候,可以考虑用因果图法来设计测试用例。考虑输入的所有排列组合情况,防止遗漏。 因果图的局限性: 假如有n个条件。每个条件有真或假两种取值,理论上就有2的n次方钟排列组合。大大增加了测试用例的个数,不便于维护。
7因果图法详解

找出因(输入条件)和果(输出结 果或者程序状态的改变), 然后通过因果图转换为判定表,最 后为判定表中的每一列设计一个 测试用例.
因果图法的定义:
是一种利用图解法分析输入的各
种组合情况,从而设计测试用例 的方法,它适合于检查程序输入 条件的各种组合情况。
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei 表示结果,各结点表示状态,可取值 “0”或“1”。“0”表示某状态不出 现,“1”表示某状态出现。
(b)
(c)
E约束(异):a和b中最多有一个可能 为1,即a和b不能同时为1;
a E
异
b
I约束(或):a、b、c中至少有一个必 须是1,即a、b、c不能同时为0;
a I 或 b c
O约束(唯一):a和b必须有一个且仅 有一个为1;
a O 唯一 b
R约束(要求):a是1时,b必须是1;
a R b 要求
M约束(强制):若结果a是1,则结果b 强制为0。
a M b 强制
对于输入条件的约束有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;
因果图法举例
程序的规格说明要求:输入的第一个字符 必须是“#”或“*”,第二个字符必须是 一个数字,在此情况下进行文件的修改; 如果第一个字符不是“#”或“*”,则给 出信息N;如果第二个字符不是数字,则 给出信息M。
步骤:
软件测试用例之因果图法

软件测试⽤例之因果图法
简介
从⽤⾃然语⾔书写的程序规格说明的描述中找出因(输⼊条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,⼜叫特性要因图、⽯川图或鱼翅图,它是由⽇本东京⼤学教授⽯川馨提出的⼀种通过带箭头的线,将质量问题与原因之间的关系表⽰出来,是分析影响产品质量的诸因素之间关系的⼀种⼯具。
作⽤
因果图法是⼀种适合于描述对于多种输⼊条件组合的测试⽅法,根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件涉及的各种组合情况。
因果图法⼀般和判定表结合使⽤,通过映射同时发⽣相互影响的多个输⼊来确定判定条件。
因果图法最终⽣成的就是判定表,它适合于检查程序输⼊条件的各种组合情况。
采⽤因果图法能帮助我们按照⼀定的步骤选择⼀组⾼效的测试⽤例,同时,还能指出规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输⼊条件的各种组合,每种组合条件就是“因”,它必然有⼀个输出的结果,这就是“果”。
基本步骤
利⽤因果图导出测试⽤例⼀般要经过以下⼏个步骤:
1)分析软件规格说明的描述中哪些是原因,哪些是结果。
原因是输⼊或输⼊条件的等价类,结果是输出条件。
给每个原因和结果并赋予⼀个标识符,根据这些关系,画出因果图。
2)因果图上⽤⼀些记号表明约束条件或限制条件。
3)对需求加以分析并把它们表⽰为因果图之间的关系图。
4)把因果图转换成判定表。
5)将判定表的每⼀列作为依据,设计测试⽤例。
名词解释 因果图法
名词解释因果图法因果图法(drawing)亦称因果连环图,是德国心理学家艾宾浩斯(H。
Ebbinghauer, 1849-- 1919)提出来的一种最基本的思维图形模式。
他把观察到的数据依照一定的顺序在纸上画成直线,用圆圈表示数据,根据图形所表示的因果关系来推论原来未知的因素。
对于每个事件来说,可以从许多方面去探究,找出其中的原因。
不管问题有多复杂,总能从中找出最主要的原因,并分析这些因素之间的因果关系,再进行科学的解释和论证。
这是一种最基本的思维图形模式。
从概念上讲,有两层意思:一是构成思维图形的因素之间存在因果关系;二是因果关系反映了客观事物内部普遍联系的规律性。
简单地说,就是把引起某种现象的诸因素按照时间顺序排列在一张图表上,并把前后的因果关系用线条穿起来。
最初研究因果关系的人是德国心理学家艾宾浩斯。
他在1885年开始采用图表作为研究工具,在因果图法的基础上发展了不少有关研究心理的方法。
他的著名论文《记忆的研究》就是运用这种方法写成的。
他还提出了“不平衡规律”这个概念,并认为人们保持信息不只靠瞬间的记忆,而是要保持过去经验的痕迹,如果忘掉过去的信息,新的信息也就无法进入记忆。
这篇论文标志着人类思维发展史上的重大转折,被称为20世纪最伟大的心理学实验。
生活中有很多很多类似的现象,但并非所有都适合于因果图法,它需要与其他思维方法配合使用,才能取得良好的效果。
1、11。
艾宾浩斯遗忘曲线:艾宾浩斯通过对遗忘的研究,绘制出一条遗忘的规律曲线,叫做艾宾浩斯遗忘曲线,即著名的遗忘曲线。
2。
艾宾浩斯记忆测试:利用艾宾浩斯遗忘曲线,精确掌握记忆规律。
记忆的过程大致可以分为4个阶段: a、记住无关紧要的材料。
b、进行信息登记,即暂时记住。
c、保持和回忆。
d、再次编码。
3。
艾宾浩斯记忆法:根据艾宾浩斯遗忘曲线进行的记忆方法。
12。
艾宾浩斯效应:艾宾浩斯在研究人的记忆过程中,最早发现的一种现象,他把这种现象称为艾宾浩斯效应。
软件测试第四章--因果图讲解
(4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。
3.6.3 因果图法测试举例
实例 用因果图法测试以下程序。
程序的规格说明要求:输入的第一个字符必须是#或*, 第二个字符必须是一个数字,此情况下进行文件的修改;如 果第一个字符不是#或*,则给出信息N,如果第二个字符不 是数字,则给出信息M。
和果(输出结果或程序状态的改变),画出因果图。
(2)将得到的因果图转换为判定表。 (3)为判定表中每一列所表示的情况设计一个测试用例。
因果图法的简介(续)
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间的 相互制约关系。
(2)能够帮助测试人员按照一定的步骤,高效率的开发测试 用例。
a
R
b
要求
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
因果图(续)
因果图中用来表示约束关系的约束符号:
a
M
b
强制
M约束(强制):若结果a为1,则结果b强制为0。
因果图(续)
因果图中用来表示约束关系的约束符号:
E 异
a
I
b 或
a
a
O
b b
唯一
c
a
a
R
M
要求
b
强制
b
因果图(续)
因果图法最终生成的是决策表。利用因果图生成测试用例的 基本步骤如下:
(1)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原因 和结果赋予一个标识符。
测试方法因果图法40页PPT
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
测试方法因果图法
11、用道德的示范来造就一个人,显然比用法律来约束他更有价值。—— 希都不徇私情。—— 托马斯
13、公正的法律限制不了好的自由,因为好人不会去做法律不允许的事 情。——弗劳德
14、法律是为了保护无辜而制定的。——爱略特 15、像房子一样,法律和法律都是相互依存的。——伯克
Thank you
11、因果图法
11、因果图法因果图法的定义因果图法是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各种组合情况特点:(1)考虑输⼊条件的相互制约及组合关系(2)考虑输出条件对输⼊条件的依赖关系因果图的核⼼因果图法⽐较适合输⼊条件⽐较多的情况,测试所有的输⼊条件的排列组合。
所谓的原因就是输⼊,所谓的结果就是输出。
因果图的“因”—输⼊条件因果图的“果”—输出结果因果图法要注意考虑:所有输⼊/输出条件的相互制约关系以及组合关系输出结果对输⼊条件的依赖关系,也就是什么样的输⼊组合会产⽣怎样的输出结果,即“因果关系”因果图中的基本符号通常在因果图中⽤Ci表⽰原因,⽤Ei表⽰结果,各结点表⽰状态,可取值“0”或“1”。
“0”表⽰某状态不出现,“1”表⽰某状态出现。
因果图中的约束条件利⽤因果图导出测试⽤例需要经过以下⼏个步骤:①找出所有的原因,原因即输⼊条件或输⼊条件的等价类。
②找出所有的结果,结果即输出条件。
③明确所有输⼊条件之间的制约关系以及组合关系。
哪些条件不能组合到⼀起,哪些条件可以组合到⼀起④明确所有输出条件之间的制约关系以及组合关系。
哪些输出结果不能同时输出,哪些输出结果可以同时输出⑤找出什么样的输⼊条件组合会产⽣哪种输出结果⑥把因果图转换成判定表/决策表。
⑦为判定表/决策表中的每⼀列表⽰的情况设计测试⽤例。
案例:交通⼀卡通⾃动充值软件系统需求-系统只接收50、100元纸币,⼀次只能使⽤⼀张纸币,⼗次充值⾦额只能为50元或100元。
-若输⼊50元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功;-若输⼊50元纸币,并选择充值100元,提⽰输⼊⾦额不⾜,并退回50元;-若输⼊100元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功,找零50元;-若输⼊100元纸币,并选择充值100元,完成充值后退卡,提⽰充值成功;-若输⼊纸币后在规定时间内不选择充值按钮,退回输⼊的纸币,并提⽰错误;-若选择充值按钮后不输⼊纸币,提⽰错误结果:分析:1、找到所有输⼊条件编号2、找到所有输出条件编号3、找出所有输⼊、输出的制约关系根据因果图再制作出对应的“表格”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要的原因与结果之间的关系
c1 c1 (a)恒等 e1 c1 e1 c2 c3 (c)或 V e1 c1 V c2 (d)与 e1
~
(b)非
恒等: 也为1, 恒等:若c1是1,则e1也为 , 是 , 也为 否则e1为 ; 否则 为0;
c1 e1
非:若c1是1,则e1为0,否 是 , 为 , 则e1为1; 为 ;
使用因果图法的优点: 使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个 ) 输入情况之间的相互制约关系。 输入情况之间的相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高 )能够帮助测试人员按照一定的步骤, 效率的开发测试用例。 效率的开发测试用例。 (3)因果图法是将自然语言规格说明转化成 ) 形式语言规格说明的一种严格的方法, 形式语言规格说明的一种严格的方法,可以 指出规格说明存在的不完整性和二义性。 指出规格说明存在的不完整性和二义性。
(1)分析原因及结果 )
原因
c1:投入 元5角硬币; 投入1元 角硬币 角硬币; 投入 c2:投入 元硬币; 投入2元硬币 投入 元硬币; c3:按“可乐”按钮; 按 可乐”按钮; c4:按 雪碧”按钮; c4:按“雪碧”按钮; c5:按“ቤተ መጻሕፍቲ ባይዱ茶”按钮 按 红茶”按钮; 11:已投币 : 12:已按钮 : a1:退还 角硬币; 退还5角硬币 退还 角硬币; a2:送出“可乐”饮料; 送出“ 送出 可乐”饮料; a3:送出“雪碧”饮料; 送出“ 送出 雪碧”饮料; a4:送出“红茶”饮料 送出“ 送出 红茶”饮料;
a1:退还5 a1:退还5角硬币 退还 a2:送出 可乐” 送出“ a2:送出“可乐”饮料 √ a3:送出 雪碧” 送出“ a3:送出“雪碧”饮料 a4:送出 红茶” 送出“ a4:送出“红茶”饮料
(4)设计测试用例 )
用例编号 1 2 3 4 5 6 测试用例 投入1 投入1元5角,按“可乐” 可乐” 投入1元5角,按“雪碧” 投入1 雪碧” 投入1 投入1元5角,按“红茶” 红茶” 投入2 投入2元,按“可乐” 可乐” 投入2 投入2元,按“雪碧” 雪碧” 投入2 投入2元,按“红茶” 红茶” 预期输出 送出“可乐” 送出“可乐”饮料 送出“雪碧”饮料 送出“雪碧” 送出“红茶” 送出“红茶”饮料 找5角,送出“可乐” 送出“可乐” 找5角,送出“雪碧” 送出“雪碧” 找5角,送出“红茶” 送出“红茶”
黑盒测试用例设计 ——因果图法 因果图法
因果图法产生的背景
等价类划分法和边界值分析方法 都是着重考虑输入条件, 都是着重考虑输入条件,但没有考虑 输入条件的各种组合、 输入条件的各种组合、输入条件之间 的相互制约关系。 的相互制约关系。这样虽然各种输入 条件可能出错的情况已经测试到了, 条件可能出错的情况已经测试到了, 但多个输入条件组合起来可能出错的 情况却被忽视了。 情况却被忽视了。
因果图法的定义: 因果图法的定义: 是一种利用图解法分析输入的各 种组合情况, 种组合情况 , 从而设计测试用例 的方法, 的方法 , 它适合于检查程序输入 条件的各种组合情况。 条件的各种组合情况。
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因, 通常在因果图中用Ci表示原因,用Ei 表示原因 表示结果,各结点表示状态, 表示结果,各结点表示状态,可取值 “0”或“1”。“0”表示某状态不出 表示某状态出现。 现,“1”表示某状态出现。
E约束(异):a和b中最多有一个可能为 ,即a和b不 约束( ): 和 中最多有一个可能为 中最多有一个可能为1, 约束 和 不 能同时为1; 能同时为 ; I约束(或): 、b、c中至少有一个必须是 ,即a、b 约束( ):a、 、 中至少有一个必须是 中至少有一个必须是1, 约束 、 c不能同时为 ; 不能同时为0; 不能同时为 O约束(唯一): 和b必须有一个且仅有一个为 ; 约束( ):a和 必须有一个且仅有一个为 必须有一个且仅有一个为1; 约束 唯一): R约束(要求): 是1时,b必须是 ; 约束( ):a是 时 必须是1; 约束 要求): 必须是
中间状 态 结果
(2)画出因果图 )
(3)决策表 )
1 c1:投入1 c1:投入1元5角硬币 投入 c2:投入 投入2 c2:投入2元硬币 c3:按 可乐” c3:按“可乐”按钮 c4:按 雪碧” c4:按“雪碧”按钮 c5:按 红茶” c5:按“红茶”按钮 11: 11:已投币 12: 12:已按钮 1 0 1 0 0 1 1 2 1 0 0 1 0 1 1 3 1 0 0 0 1 1 1 4 1 0 0 0 0 1 0 5 0 1 1 0 0 1 1 √ √ √ √ 6 0 1 0 1 0 1 1 √ √ √ 7 0 1 0 0 1 1 1 √ 8 0 1 0 0 0 1 0 9 0 0 1 0 0 0 1 10 0 0 0 1 0 0 1 11 0 0 0 0 1 0 1
因果图法举例
程序的规格说明要求: 程序的规格说明要求:输入的第一个字符 必须是“ 或 必须是“#”或“*”,第二个字符必须是 ” 一个数字,在此情况下进行文件的修改; 一个数字,在此情况下进行文件的修改; 如果第一个字符不是“#”或“*”,则给 如果第一个字符不是“ 或 ” 出信息N;如果第二个字符不是数字, 出信息 ;如果第二个字符不是数字,则 给出信息M。 给出信息 。
10为导出结果的中间原因 为导出结果的中间原因
(2)因果图 )
c1 V 10 c2 ~ V a2 a1
c3
~
因果图表示
a3
带有E约束的因果图 带有 约束的因果图
c1 E c2 V 10 ~ V a2 a1
c3
~
a3
具有E约束的因果图表示 具有 约束的因果图表示
将因果图转化为判定表
1 1 1 1 2 1 1 0 3 1 0 1 1 √ √ √ √ #3 #B *7 *M C2 CM 4 1 0 0 1 5 0 1 1 1 √ √ √ 6 0 1 0 1 7 0 0 1 0 √ 8 0 0 0 0 √
a E 异 b
I约束(或):a、b、c中至少有一个必 约束( ): 、 、 中至少有一个必 约束 须是1, 不能同时为0; 须是 ,即a、b、c不能同时为 ; 、 、 不能同时为
a I 或 b c
O约束(唯一): 和b必须有一个且仅 约束(唯一):a和 必须有一个且仅 约束 ): 有一个为1; 有一个为 ;
c1 ~ e1
或:若c1或c2或c3是1,则e1 或 或 是 , 是1,否则 为0,“或”可有任 ,否则e1为 , 意个输入; 意个输入;
c1 c2 c3 V e1
都是1, 与:若c1和c2都是 ,则e1为1, 和 都是 为 , 否则e1为 , 否则 为0,“与”也可有任意 个输入。 个输入。
c1 V c2 e1
案例分析1 案例分析
有一个处理单价为1元5角的盒装饮料的 有一个处理单价为 元 角的盒装饮料的 自动售货机软件。若投入1元 角硬币 角硬币, 自动售货机软件。若投入 元5角硬币, 按下“可乐” 雪碧” 红茶”按钮, 按下“可乐”,“雪碧”或“红茶”按钮, 相应的饮料就送出来。 相应的饮料就送出来。若投入的是两元硬 在送出饮料的同时退还5角硬币 角硬币。 币,在送出饮料的同时退还 角硬币。
习题1 习题
某软件的一个模块的需求规格说明书中描述: 某软件的一个模块的需求规格说明书中描述: (1)年薪制员工:严重过失,扣年终风险金的 )年薪制员工:严重过失, 4%;过失,扣年终风险金的 ;过失,扣年终风险金的2%。 。 (2)非年薪制员工:严重过失,扣当月薪资的 )非年薪制员工:严重过失, 8%;过失,扣当月薪资的4%。 ;过失,扣当月薪资的 。 请绘制出因果图和判定表,并给出相应的测试用例。 请绘制出因果图和判定表,并给出相应的测试用例。
对于输出条件的约束只有M约束 对于输出条件的约束只有 约束
M约束(强制):若结果a是1,则结果 强制为 。 约束(强制):若结果 是 ,则结果b强制为 强制为0。 约束 ):若结果
因果图法设计测试用例步骤: 因果图法设计测试用例步骤:
分析程序规格说明书描述的语义内容, 分析程序规格说明书描述的语义内容,找出 原因” 结果” “原因”和“结果”,将其表示成连接各个原 因与各个结果的“因果图” 因与各个结果的“因果图”。 由于语法或环境限制, 由于语法或环境限制,有些原因与原因之间或 与结果之间的组合情况不能出现, 与结果之间的组合情况不能出现,用记号标明 约束或限制条件; 约束或限制条件; 将因果图转换成决策表; 将因果图转换成决策表; 根据决策表中每一列设计测试用例
在实际问题当中输入状态相互之间还可能 存在某些依赖关系,称为“约束” 存在某些依赖关系,称为“约束”
a E 异 b I 或 a b c O 唯一 b 要求 (d) a R b 强制 (e) b a a M
(a)
(b)
(c)
E约束(异):a和b中最多有一个可能 约束( ): 和 中最多有一个可能 约束 不能同时为1; 为1,即a和b不能同时为 ; , 和 不能同时为
C1 C2 C3 10 a1 a2 a3
不可能
测试 用例
(4)设计测试用例 设计测试用例
最左边两列,原因c1和c2同时为 不可能,排除掉, 最左边两列,原因 和 同时为1不可能,排除掉, 同时为 不可能 根据表可设计出6个测试用例 个测试用例。 根据表可设计出 个测试用例。
Test1:输入数据-#3 预期输出--修改文件 :输入数据- 预期输出-- --修改文件 Test2:输入数据-#B 预期输出--给出信息 预期输出--给出信息M --给出信息 :输入数据- Test3:输入数据-*7 预期输出--修改文件 预期输出-- --修改文件 :输入数据- Test4:输入数据-*M 预期输出--给出信息 预期输出--给出信息M --给出信息 :输入数据- Test5:输入数据-C2 预期输出--给出信息 预期输出--给出信息N --给出信息 :输入数据- Test6:输入数据-CM 预期输出--给出信息M和N :输入数据- 预期输出--给出信息 和 --给出信息