因果图和判定表.docx
黑盒测试-因果图、判定表
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 ————
自动售货机问题因果图
【例】有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:“若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
”▪分析这一段说明,列出原因和结果原因: 1.售货机有零钱找 3.投入5角硬币 5.押下啤酒按钮2.投入1元硬币 4.押下橙汁按钮结果:21. 售货机〖零钱找完〗灯亮24. 送出橙汁饮料22. 退还1元硬币25. 送出啤酒饮料23. 退还5角硬币▪画出因果图,如图5.17所示。
所有原因结点列在左边,所有结果结点列在右边。
建立两个中间结点,表示处理的中间状态。
中间结点:11. 投入1元硬币且押下饮料按钮12. 押下〖橙汁〗或〖啤酒〗的按钮13. 应当找5角零钱并且售货机有零钱找14. 钱已付清图5.17 因果图▪由于2 与3 ,4 与5 不能同时发生,分别加上约束条件E。
▪转换成判定表:图5.18 由因果图得到的判定表在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。
因果图方法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了分析。
测试方法选择的综合策略Myers提出了使用各种测试方法的综合策略:▪首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效的方法。
▪在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
▪采用错误推断法再追加测试用例,这需要依靠测试工程师的智慧和经验。
▪对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
黑盒测试_判定表因果图
出现
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
a E b I a b c O b a R b b a a M
E(互斥)
I(包含)
O(惟一) R(要求) M(屏蔽)
因果图法设计测试用例的步骤
利用因果图导出测试用例需要经过以下几个步骤:
① 分析程度规格说明的描述中,哪些是原因,哪些是结
~
e3
因果图法测试举例(续)
(3)将因果图转换成如下所示的决策表:
选项 规则
1 1 1 1
2 1 1 0
3 1 0 1 1
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
√ √
条件: C1 C2 C3 10 动作: e1 e2 e3 不可能 测试用例
√ √ √ √ #3 #A
√ √ *6 *B A1
GT
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例: 测试用例编号 1 输入数据 #3 预期输出 修改文件
2
3 4 5 6
#A
*6 *B A1 GT
给出信息M
修改文件 给出信息M 给出信息N 给出信息N和信息M
因果图法实例
某电力公司有A、B、C、D四类收费标准, 并规定: 居民用电 <100度/月 按A类收费 ≥100度/月 按B类收费 动力用电 <10000度/月,非高峰,B类收费 ≥10000度/月,非高峰,C类收费 <10000度/月, 高峰,C类收费 ≥10000度/月, 高峰,D类收费
判定表的缺点及解决方法
判定表的缺点
不能表达重复执行的动作,例如循环结构
因果图判定表综合示例1-自动售货机
一、测试项要求如下:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。
其规格说明如下:若投入5角钱或1元钱灯是亮的,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红二、分析以上要求,得出原因和结果:原因:1、售货机有零钱找2、投入1元钱3、投入5角钱4、选择橙汁5、选择啤酒结果:21、售货机“零钱找完”灯亮22、退还1元钱23、找回5角钱24、送出橙汁饮料25、送出啤酒饮料三、因果图如下:思路:逐个分析条件,看它与其它哪些条件之间有制约关系,都会影响哪些结果,把这种制约影响关系画出四个角度着手画因果图。
又由于条件1为真和为假时导致的结果不同,所以为真和为假两种情况下的因果图都要画出来,否因果图中出现的中间节点为:11、需要找回5角钱12、选择了橙汁或啤酒13、售货机能够找出5角钱14、钱已结清,可以送出饮料四、根据因果图画出判定表1、条件2、3不能同时为1123456789101有零钱找1111111111四、根据状态图完成判定表12=or(4,5)11=and(2,12)13=and(1,11)14=or(3,13)21=not(1)22=and(11,not(1))23=1324=and(4,14)五、将这16条规则分别转化测试用例其它用例略1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。
当售货机没有零钱找,则一个显示〖零零钱找,则显示〖零钱找完〗的红灯不会亮,在送出饮料的同时退还5角硬币。
系画出来,直到所有条件都被分析、所有结果都被覆盖。
本例中,条件1、2、4;1、2、5;3,4;3,5之间存在情况下的因果图都要画出来,否则覆盖不到所有结果。
1234567892012345678111111000000000000示〖零钱找完〗的红间存在制约关系,从这。
[黑盒测试基本方法]之因果图与判定表
测试用例设计方法之因果图法与判定表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。
测试用例设计方法2——因果图判定表
测试用例设计方法2——因果图判定表判定表法判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。
判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。
使用判定表的一般思路是:1、需求分析,分析出条件和结果之间的各种组合2、将条件和结果分别填入判定表3、讲条件和结果进行二进制排列4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。
在合并判定表时,如果条件之中只有一个不同,则可以合并。
如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。
5、每一列生成一个测试用例以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。
而其无效用例不易发现,更不能覆盖条件之间的先后关系。
因此,在一定情况下,使用判定表还需要因果图的帮忙。
--------------------------------------------------------------------------------因果图因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。
因果图与判定表往往结合使用,使用因果图可以得到判定表。
使用因果图的方法:1、分析输入输出并进行标识2、分析输入和输入、输入和输出之间的关系3、将得到的关系使用因果图的方法表示出来4、根据因果图得到判定表5、依据判定表生成测试用例这里分析一个自动售货机的因果图分析方法:条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。
如果有零钱,则出饮料并找5角钱。
因果图判定表工程方法
因果图判定表工程方法目录1.概述 (4)2.适用范围 (4)3.工程方法定义 (5)3.1.因果图 (5)3.2.判定表 (6)4.接口描述 (6)4.1.工程方法使用环境 (6)4.2.输入 (7)4.3.输出 (7)5.应用分析及指导 (7)5.1.应用分析 (7)5.2.应用指导 (7)6.测试分部的应用及案例 (9)6.1.无线测试分部简化实例 (9)6.1.1.工程方法的输入 (9)6.1.2.标识输入与输出 (9)6.1.3.画出因果图 (9)6.1.4.转换为判定表 (9)6.1.5.判定表简化 (10)6.1.6.生成测试项目 (10)7.相关表格 (10)8.工具需求 (10)9.附录 (11)10.参考文档 (11)因果图、判定表工程方法关键词:阶段、活动、工程方法、SDV/SIT、因果图、判定表摘要:本文详细描述了测试设计过程中因果图、判定表工程方法缩略语清单:1. 概述因果图、判定表是一种充分考虑系统输入之间的组合、约束以及和输出因果关系的用例设计方法。
因果图用于描述系统的输入、输出,以及输入和输出之间的因果关系,输入和输入之间的约束关系,因果图的绘制过程是对被测试系统外部特征的建模过程。
判定表可以由因果图转换得到,它用于对所有输入进行组合和筛选,并得到对应的输出。
因果图和判定表两种方法在实际使用中结合紧密,往往同时使用,此时可以理解因果图为判定表的前置过程。
此外,对于一些简单的系统,或输入与输出已经非常明确的系统,判定表可以单独使用。
因果图和判定表的方法在业界广泛使用,是非常成熟的两种工程方法。
它们不仅应用在测试设计过程中,同时在开发设计过程中也有应用。
2. 适用范围适用阶段:因果图和判定表的工程方法适用于测试方案设计阶段的特性测试设计活动中使用适用业务:因果图和判定表的方法是一种通用的测试设计方法,可以适用于所有类型的业务以下情况下不适宜使用本工程方法:1.输入和输出不明确,或输入与输出因果关系不明确的情况下。
实验4_因果图法
上机指导因果图法测试用例的编写。
布置作业
实验后记
实验4 因果图法
一:分析
缘故:
1,投入1元5角硬币;
2:投入2元硬币;
3:按“可乐”按钮
4:按“雪碧”按钮;
5:按“红茶”按钮
中间状态:
1:已投币
2:已按钮
结果:
1:退还5角硬币:
2:送出“可乐”饮料
3:送出“雪碧”饮料
4:送出“红茶”饮料
0
0
已按钮
(12)
1
1
1
0
1
1
1
0
1
1
1
输
出
退还
1
1
1
0
0
0
0
送出“可乐”饮料
(22)
1
0
0
0
1
0
0
0
0
0
0
送出“雪碧”饮料
(23)
0
1
0
0
0
1
0
0
0
0
0
送出“红茶”饮料
(24)
0
0
1
0
0
0
1
0
0
0
0
实验4因果图法
实验重点:
掌握软件测试因果图法测试用例的编写。
实验难点:
软件测试因果图法测试用例的编写。
有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。
要求:用因果图法(列出原因和结果,画出因果图,制定决策表)来设计测试用。
因果分析图(1)
查
询
操作复杂,不易掌握
系统功能不健
与员工沟通不便 全
员工只能到
人事部查询 信息不易于查
询
法
环
周
期 信息更新不及时 签到单不能及时被收集
意外停电 培训不规范
过
没有专用机器
员工信息不准确
长
物
2024/8/7
11
实践练习
以在一家公司里感到“事业无成”为中心画一个因
果分析图
机
机器性能不好
人
混口饭吃就行了
懒得钻
关系网 机器运行不稳定
竞争太激烈
事 业
无
成
傻干
系统功能不健全
没空调
信息不易于查询
培训不到位
法
环
物
2024/8/7
12
系统功能不健全
与员工沟通不便
员工只能到 人事部查询
信息不易于查询
信息更新不及时
期
意外停电
员工信息不准确
过
培训不规范 没有专用机器 签到单不能及时被收集
长
法
环
物
2024/8/7
8
基本介绍
4.用5W1H帮助寻找更多更深层次的原因。
5W1H
WHY: 为什么 What: 什么 When: 何时
原则:
打破砂锅问到底,还 要知道砂锅在哪里。
6
基本介绍
3.在支干上画出相关次支干,并用头脑风暴法写 出原因,次支干与支干互为因果关系。 对每一个原因都应该问一声:为什么会发生
2024/8/7
7
基本介绍
机
人
一台电脑单机操作
缺少技术支持
录入人员短缺
标准鱼骨图带内容模板(因果、辞职、管理)
鱼骨图(因果图)
测量
标本不足 分析仪超出校准范围
房间太热 房间太冷
大自然
用料
冰不足 塑料袋不符合标准
人手
无法采购标本 患者不在房间
订单延误 讯息延迟 礼貌拜访 识别不佳
方法
没有离心机 缺乏分析仪
机器
注意:在此分析中使用了6M方法,将原因分为人力,材料,度量,母性,方法和机器。
实验结果 延迟
辞职的原因(鱼骨图)
人员的闲置
固定资产的闲置
生产经营 要素闲置
应付业绩
应付问题
应付检查
目标指标 不合理
计划执行
计划编制
不严肃
无依据
管理无“理”可依
管理问题
以上这些问题在日常管理中是经常存在的,但是又是难以度量的,它不象出现废品那样直观,因此而形成的管理成本的隐性 浪费经常被忽视,甚至被视之为理所当然,难以形成消除浪费的动力。因此,我们必须对消除浪费活动的艰巨性和长期性要
有清醒的认识。从消除点滴的管理浪费做起,向着彻底消除浪费的目标一步一步地走下去。
公司名称/作者
关系 与同事
管理
工作量
环境
福利
薪水
不同概念
雇主 缺少通讯
没有激励 苛刻管理
苛刻 高压力
误解
没有晋升
太多工作
因果图法+判定表+正交试验法自我学习(转)
因果图法+判定表+正交试验法⾃我学习(转)1. 因果图法考虑到输⼊组合的情况有3个部分:1. 因=输⼊条件2. 中间结点=输出值必须的前提条件3. 果=输出条件通过有4种符号:1. 恒等,即因=1,果=1;因=0,果=0。
即果跟随因的变化⽽变2. ⾮,即因=1,果=0;因=0,果=1。
即因和果是对⽴的,永远不会统⼀3. 或,即有N个因中有1个因=1(⾄少有2个因),即果=1。
即只要有⼀个因达到规定的需求,果就能出现4. 与,即有N个因中(⾄少有2个因),每因都必须=1,果才会出现。
即只有全部的因都符合条件了,果才会出现与程序语⾔做⽐较:1. 恒等等于=2. ⾮等于!=3. 或等于||4. 与等于&&4种约束条件:1. E(互斥),相当于“⾮”2. I(包含),相当于“或”3. O(惟⼀),表⽰a和b当中必须有⼀个成⽴,且只有⼀个成⽴4. R(要求),相当于“恒等”5. M(屏蔽),表⽰当a=1时,b=0;⽽a=0时,b的值不确定通⽤因果图画法:1. 判定表驱动法由4个部分组成:1. 条件桩:列出问题的所有条件,次序⽆所谓2. 动作桩:列出问题规定可能采取的操作,顺序⽆约束3. 条件项:列出针对该问题所列条件的取值,在所有可能情况下的真假值4. 动作项:列出在条件项的各种取值情况下应该采取的动作5. 规则:任何⼀个条件组合的特定取值及其相应要执⾏的操作因果图与判定表的关系:因果图法是找出因和果,通过因果图转换为判定表1. 正交试验法正交试验设计⽅法是从⼤量的试验数据中挑选适量的、有代表性的点,即使⽤已经造好的表格“—”正交表来安排试验并进⾏数据分析例:为提⾼某化⼯产品的转化率,选择了三个有效因素进⾏条件试验,A=反应温度,B=反应时间,C=⽤碱量,且A:80~90度B:90~150分钟C:5%~7%⽬的:弄清因⼦A,B,C哪个对转化率,是主要的,次要的,从⽽确定最适合的条件,即在试验范围内选取三个⽔平:A:A1=80度,A2=85度,A3=90度B:B1=90分钟,B2=120分钟,B3=150分钟C:C1=5%,C2=6%,C3=7%当然选择因⼦是可以定量的,可以根据因⼦间的各⽔平距离⽽确定第1种—全⾯试验法优点:对各因⼦与指标间的关系剖析的⽐较清楚,但试验次数太多第2种—简单对⽐法1. ⾸先固定B、C于B1、C1,使A变化:B1C1——A1——A2——A3(好结果)若结果A3最好,则固定A于A3,C还是C1,使B变化依次下去对⽐优点:试验次数少,但选战代表性差故:我们就兼顾这2种⽅法的优点。
黑盒测试-因果图、判定表
因果图
因果图方法(Cause-Effect graphics):一种黑盒测试方法。考虑输入条件之间的联系, 各种组合,相应产生多个动作来设计测试用例。
方法的依据:
需求规格说明中的因果关系。
因果图介绍
恒等
c1
e1
非
c1 c1
e1
或
c2 c3 c1V来自e1与 c2∧
e1
条件的约束
输入条件约束
判定表驱动测试
是分析和表达多逻辑条件下执行不同操作的情况下的工具,通常作为程序开发的辅助工具. 规格说明以判定表形式给出,或很容易转换成判定表 .
判定表的组成
规则
条件桩(Condition stub) 动作桩(Action stub) 条件项(Condition Entity) 动作项(Action Entity)
1 问 题 你觉得疲倦吗? 你对内容感兴趣吗? 请回到本章开头重读
2
3 Y N Y
4 Y N N
5 N Y Y X
6 N Y N X
7
8
Y
Y X
Y
Y N X
N
N Y
N
N N
书中内容使你糊涂吗? Y
建 议 继续读下去 跳到下一章去读
X X X
X
停止阅读,请休息
规则化简
化简 就是规则和并
有两条和多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
考虑到原因之间必须有一个且仅有一个为1因此在因果图上施加g约束2122因果图实例具有e约束的因果图212210111213141516优点1因果图法能够帮助我们按照一定步骤高效的选择测试用例设计多个输入条件组合用例
因果图与判定表
1
E ∨
22 11
~
∧
2
21
3
~
23
判定表
1
条件 (原 因)
2 1 1 0
3 1 0 1 1 0 1 0 A2
4 1 0 0 1 0 0 1 AV
5 0 1 1 1 0 1 0 B4
6 0 1 0 1 0 0 1 BT
7 0 0 1 0 1 0 0 V4
8 0 0 0 0 1 0 1 RW
1 2 3 11 22 21 23
例2:NextData函数判定表测试运用
采用判定表法则可以通过使用“不可能动作”的概念表示 条件的不可能组合,来强调这种依赖关系。 为了获得下一个日期,NextDate函数需要执行的操作只有 如下5种: ① day变量值加1; ② day变量值复位为1; ③ month变量值加1; ④ month变量值复位为1; ⑤ year变量值加1。
- Y N
Y N -
N N -
建议
请回到本章开头重读
继续读下去 跳到下一章去读
停止阅读,请休息
X X
X
(15) (26) (34) (78)
例1:构造判定表
问题要求:“对功率大于50马力的机器、维 修记录不全且已运行10年以上的机器,应给 予优先的维修处理… …”。这里假定优先维 修:只要功率大于50马力;或记录不全且运 行10年以上;
[黑盒测试基本方法]之因果图与判定表
测试用例设计方法之因果图法与判定表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。