决策表 因果图
因果图法
测试用例设计—因果图法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。
因果关系图 (NXPowerLite)
出納付款作業
廠商資料提供錯誤
廠商資料輸入錯誤 系統當機
多層主管核定
公文傳送遺失
公文傳送遺失 列表機故障 系統當機 審核疏失 帳務錯誤
作費 業用 成支 本出 高
費用動支作業
會計審核作業
绘制鱼骨图
廠商基本資料 費用報銷作業
列表機故障 系統當機 原始憑證取得錯誤 列表機故障 系統當機 付款錯誤 支票傳送遺失 未依權責送主管核定 主管核定\操作錯誤 列表機故障 系統當機
出納付款作業
廠商資料提供錯誤
廠商資料輸入錯誤 系統當機
作費 業用 成支 本出 高
費用動支作業
會計審核作業
鱼骨图的优势
能够集中于问题的实质内容,而不是问题 的历史或不同的个人观点。 使组员了解项目小组在围绕某个问题时产 生的集体智慧和意见,有助于找到有效的 解决方案。 使项目小组聚焦于问题的原因,而不是问 题的症状。
資料輸入錯誤 三的规则(The rule of Three) 多層主管核定
支票傳送遺失 如果在你的计划中你不能想出 3个有可能出错的地方,那么 作費 公文傳送遺失 業用 你的想法就有什么地方出错了。 成支 未依權責送主管核定 預估支用金額低於 實際金額重新輸入 資料輸入錯誤 主管核定\操作錯誤 列表機故障 系統當機
出納付款作業
廠商資料提供錯誤
廠商資料輸入錯誤 系統當機
公文傳送遺失 列表機故障 系統當機 審核疏失 帳務錯誤
作費 業用 成支 本出 高
應付傳票須會計主管蓋章
費用動支作業
會計審核作業
绘制鱼骨图
廠商基本資料 費用報銷作業
列表機故障 系統當機 原始憑證取得錯誤 主管核定\操作錯誤 多層主管核定 公文傳送遺失 列表機故障 系統當機 付款錯誤 支票傳送遺失 未依權責送主管核定 預估支用金額低於 實際金額重新輸入 主管核定\操作錯誤 列表機故障 系統當機
因果图实例讲解
1.引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。
其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。
因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
2.因果图介绍2.1图例说明1、4种符号分别表示了规格说明中向4种因果关系。
如图2-1所示。
图2-1 因果图关系2、因果图中使用了简单的逻辑符号,以直线联接左右结点。
左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。
3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。
ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。
2.2因果图概念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。
软件测试第四章--因果图讲解
(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)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原因 和结果赋予一个标识符。
T4测试用例设计因果图与决策表
•优化后的决策表
1
2
3
4
>1000元 Y
Y
Y
N
信誉好
Y
N
N
>20年
Y
N
优惠
X
X
正常
X
X
wangchunxiu@
根据决策表设计测试用例
>1000元 信誉好 >20年 优惠 正常 测试用例
1
2
3
4
Y
Y
Y
N
Y
N
N
Y
N
X
X
X
X
1200,好,-
1200,不好 ,25年
1200,不好 ,12年
• 要求使用所学的方法设计测试用例,怎 么做?
wangchunxiu@
因果图/决策表法
1. 因果图 2. 决策表
wangchunxiu@
1. 因果图法
把输入条件视为“因”,把输出条件 视为“果”,将黑盒看成是从因到果的网 络图,采用逻辑图的形式来表达功能说明 书中输入条件的各种组合与输出的关系。 根据这种关系可选择高效的测试用例。
判断表(Decision Table)
例1:一图书销售系统,其中一加工为“优惠处 理”,条件是:顾客的营业额大于1000元,同 时必须信誉好,或者虽然信誉不好,但是20年 以上的老主顾。
•条件框
•条件条目
>1000元 信誉好 >20年
优惠 正常
12 3 45678 Y Y Y YNNNN Y Y N NY YNN YN Y NYNYN XX X
决策表测试
• 在所有的黑盒测试方法中,基于决 策表的测试是最严格的、最具有逻 辑性的测试方法。
因果分析图(1)
➢ 因果分析图就是将造成某项结果的众多原因,以系统 的方式图解,也就是以图表的方式来表达结果与原因 的关系,因其图象鱼骨,所以也叫鱼骨图。
➢ 鱼骨图可以使用在管理及工程的各个阶段,特别是在 明确问题的初期,此图在近代管理及工程上引用甚广, 效果相当好,是一种既简单又实用的管理工具。
2024/7/2
员工数量剧增
查
询
操作复杂,不易掌握
系统功能不健
与员工沟通不便 全
员工只能到
人事部查询 信息不易于查
询
法
环
周
期 信息更新不及时 签到单不能及时被收集
意外停电 培训不规范
过
没有专用机器
员工信息不准确
长
物
2024/7/2
11
实践练习
以在一家公司里感到“事业无成”为中心画一个因
果分析图
机
机器性能不好
人
混口饭吃就行了
懒得钻
关系网 机器运行不稳定
竞争太激烈
事 业
无
成
傻干
系统功能不健全
没空调
信息不易于查询
培训不到位
法
环
物
2024/7/2
12
注意事项
1.要记入事实原因,不可以想当然的捏造出因果关系来。 2.当因果支干太多时,则要选取重要的给予优先对策。 3.每一个问题都要刨根问底,直到找到真正原因。 4.要解决主干,就得先解决支干,要解决支干,又得先
1
基本介绍
➢ 根据所需的详细程度和问题的难易,约需半个小时至4 个小时。
➢ 最好的结果应该是2至10人。 他们应该是一个团队。 因果分析图是头脑风暴法的一种补充。
2024/7/2
2
因果图法的简介
因果图法的简介
缺点 1、输入条件与输出结果的因果关系,有时 难以从软件需求规格说明书得到。
2、即使得到了这些因果关系,也会因为因 果关系复杂导致因果图非常庞大,测试用 例数目及其庞大。
因果图介绍
恒等
0:某状态不出现
1:某状态出现 c1=1 c1=0 c1=1 c1=0 e1=1 e1=0 e1=0 e1=1
1 原因 c11 c12 c2 结果 e1 0 0 0 0 2 0 0 1 0 3 0 1 0 0 4 0 1 1 1 5 1 0 0 0 6 1 0 1 1 7 1 1 0 8 1 1 1
e2
e3
1
0
1
0
0
1
0
0
0
1
0
0
无此 无此 可能 可能
设计测试用例:根据决策表,列出有效的状态组 合和结果,给出对应的测试用例,可以单独画一 个表,也可以直接加到决策表中。如下图:
I
或
b c
输入交通方式(至少一种): 铁路、公路、航线
因果图
• 因果图法最终生成的是决策表。利用因果图生成测试用例 的基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原 因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原 因与原因之间对应的关系, 根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与 结果之间的组合情况不可能出现。为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。
12、押下〖橙汁〗或〖啤酒〗的按钮
13、应当找5角零钱并且售货机有零钱找 14、钱已付清
软件测试第四章--因果图
7. 落点处为对方老将。
添加中间节点11,目的是作为导出结果的进一步原因,简化因果 图导出的判定表
1 ~ 2 ~ ~ V V E1
3 4
5 E 6 7 V ~ V V 11
E2
E3
E4
决策表分解
规则 选项 1 2 3 4 11 E1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 5 0 0 0 1 0 1 1 6 0 0 0 0 0 1
因果图法的简介(续)
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个输入情况之间的 相互制约关系。 (2)能够帮助测试人员按照一定的步骤,高效率的开发测试 用例。 (3)因果图法是将自然语言规格说明转化成形式语言规格说 明的一种严格的方法,可以指出规格说明存在的不完整性 和二义性。
错误推测法
人们也可以靠经验和直觉推测程序中可能存在 的各种错误,从而有针对性地编写检查这些错 误的例子。这就是错误推测法。
错误推测法的基本想法是:列举出程序中所有 可能有的错误和容易发生错误的特殊情况,根 据它们选择测试用例。
错误推测法
案例: 电话簿复制过程中来电,是否会破坏数据库的完整性 ? 如果两位学生的名字相同,电话簿能否正确查询。 忽然断电了,输入了一半的数据是否能找回? 正常的压缩文件手动破坏后是否能修复? 配置文件手动修改一下是否能被软件正确解析? 如果我离开计算机忘了锁定当前软件,别人是否也能 用?
因果分析图
两图一表
排列图------把握关键问题关键事项,不要平均使力,更不要事无巨细, 排列图 眉毛胡子一把抓(2/8原则)。 鱼刺图(因果图)------把握根本原因(Root cause),确定根本解。 鱼刺图(因果图 对策表
把握两个关键和二个一一对应原则
5
排列图
品质
Document
早班
Category
2
问题
坦然地面对问题,但要及时及早审视,力求及早查觉问题所在,及早 解决掉(及时纠偏,事先预防),而不要等到破败不堪,灾难临头才 大切大悟(事后诸葛亮)。如果…… 更在于问题帮助我们揭示管理控制的缺失所在, 并借此提供了一个绝 佳的改善机会…….
杠杆 持续改善
支点/引爆点
品質
上半部两个“斤”,意味“斤斤计效 斤 斤斤计效”; 斤斤计效 下半部一个“貝”,通解为“钱”。 貝 钱
因果图与排列图 分层法 调查表、相关图 直方图和控制图 因果图 排列图、分层法 调查表 相关图 直方图 控制图 排列图 分层法、调查表 相关图、直方图 控制图等常 用而简单的一些统计分析方法------被广泛应用于质量管理改善当中, 因此被统称为QC七种工具 七种工具。 七种工具
因果图主要籍参与者的头脑风爆,集思广益,把对问题有影响的一 因果图 些重要的因素加以分析和分类,并在同一张图上把它们的关系用箭 头表示出来,以此来分析、寻找问题产生的原因和主要原因 主要原因。 主要原因
因果分析图(鱼刺图) 因果分析图(鱼刺图)
版权所有: Yu Shao Zhong
问题(制造原因、流出原因) 问题(制造原因、流出原因) 不接收不合格品;不制造不合格品;不放行 不合格品;(过程要受控) 现象≠问题(不要被表象迷惑,不要被假象蒙 蔽)真正的问题是什么? 1. 深入分析事件(解剖,一层层细细剥开) 问 题 和 对 策 2. 深入到未端原因,即深层次原因(再三发 问技巧或业集法或关联图法) 3. 掌握二图一表(排列图/因果图/对策表) 4. 把握好两个关键 5. 根本解 Vs 替代解 6. 不仅仅局限于事件或问题本身而是反观整 个系统
因果图法
因果图(续)
因果图中的约束 在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依
赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束 ,对于输出条件的约束只有M约束。 ➢ 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。 ➢ M约束(强制):若结果a为1,则结果b强制为0。
4 测试方法的选择
通常,在确定测试方法时,应遵循以下原则: ➢ 根据程序的重要性和一旦发生故障将造成的损失来确定
测试等级和测试重点。 ➢ 认真选择测试策略,以便能尽可能少的使用测试用例,
发现尽可能多的程序错误。因为一次完整的软件测试过 后,如果程序中遗留的错误过多并且严重,则表明该次 测试是不足的,而测试不足则意味着让用户承担隐藏错 误带来的危险,但测试过度又会带来资源的浪费。因此 测试需要找到一个平衡点。
(3)将因果图转换成如下所示的决策表:
选项
条件:
C1 C2 C3 10
规则
12
1
11
1
00
10
11
56
00 11 10 11
78
00 00 10 00
动作: e1 e2 e3
不可能
测试用例
√
√
√
√
√
√
√
√
√
#3 #A *6 *B A1 GT
因果图法测试举例(续)
(4)根据决策表中的每一列设计测试用例:
请绘制出因果图和判定表,并给出相应的测试用例。
实验三 黑盒测试—决策表法、因果图法
实验3、黑盒测试:决策表法、因果图法及测试用例设计
一、实验目的
1、掌握决策表法、因果图的概念。
2、掌握决策表法、因果图测试用例设计法。
二、实验内容
有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下:
若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。
用程序模拟该自动售货机(注:用屏幕输入、输出来模拟售货机的动作),然后用因果图法测试该程序。
三、实验步骤:
1)分析原因与结果
2)画出因果图
3)转化为决策表
4)根据决策表设计测试用例,得到测试用例表
代码:
#include <stdio.h>
main(){
float i;
char j;
printf("请投入硬币:\n");
scanf("%f",&i);
printf("请选择所需饮料:\na:橙汁 or b:啤酒\n");
scanf("%s",&j);
if(i==0.5){
printf("出货成功");
}
else{
printf("找零%.2f元\n出货成功",i-0.5);
}
}
答:。
测试用例设计因果图和判定表标准版资料
因果图
因果图法是一种利用图解法分析输入的各种组合情况,从而设计测 试用例的方法,它适合于检查程序输入条件的各种组合情况。
因果图-因果关系
1、因果关系
I约束〔或〕:a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
3能〕够或将〔复V杂〕的:问4假种题设按c符1照或各c号2种或分可c3能是别的1,情表那况么全示e部1了列是举1规;出来格,说简明明并防中止向遗漏4。种因果关系
2〕输出条件约束:输出条件的约束只有M约束〔强制〕:假设结果a是1,那么结果b强制为0。 C1和e1均可取值0或1,0表示某状态不出现,1表示某状态出现。 2〕输出条件约束:输出条件的约束只有M约束〔强制〕:假设结果a是1,那么结果b强制为0。
之 否那么e1为0,“与〞也可有任意个输入
1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标 识符。
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。
因果图-约束
2〕输出条件约束:输出条件的约束只有M约束〔强制〕:假设结果a是1, 那么结果b强制为0。
因果图
采用因果图法设计测试用例的步骤: 1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类), 那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。 2) 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间 对应的关系,根据这些关系,画出因果图。 3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不 可能出现,为说明这些特殊情况, 在因果图上用一些记号说明约束或限制条件。 4) 把因果图转换为判定表。 5) 把判定表的每一列拿出来作为依据,设计测试用例。
决策表 因果图
等价类、边界值:判定输入条件项的合法性决策表、因果图:判定输入条件项的逻辑关系决策表(判定表)优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
适用条件:B. Beizer 指出了适合使用判定表设计测试用例的条件:①规格说明以判定表形式给出,或很容易转换成判定表。
②条件的排列顺序不会也不影响执行哪些操作。
③规则的排列顺序不会也不影响执行哪些操作。
④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。
B. Beizer提出这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。
其实对于某些不满足这几条的判定表,同样可以借以设计测试用例,只不过尚需增加其它的测试用例罢了。
因果图前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系。
如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。
因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
因果图方法最终生成的就是决策表。
它适合于检查程序输入条件的各种组合情况。
利用因果图生成测试用例的基本步骤是:▪分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
▪分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。
▪由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
▪把因果图转换决策定表。
▪把决策表的每一列拿出来作为依据,设计测试用例。
通常,在因果图中,用Ci表示原因,Ei表示结果,其基本符号如图5.15所示。
各结点表示状态,可取值“0”或“1”。
听课笔记2:因果图与决策表
听课笔记2:因果图与决策表听课笔记2:因果图与决策表对于独⽴的输⼊数据,边界值法和等价类法简单有效,覆盖也很全⾯,但是对于有联系的输⼊来说上⾯两种⽅法明显不能很好的反映输⼊间的相互关系,或者说约束。
因果图顾名思义,因果图是将说明书中提到的输⼊和结果直接表⽰成图像,直观的反映了程序所需的⼀个因果关系。
因果图需要将各种可能的输⼊和输出分别列出,⽤0或者1表⽰在⼀次操作中该条件是否存在,通过规定的符号来表⽰各种条件之间和条件与结果之间的对应关系。
因果图基本的符号有1)恒等2)⾮ 3)或4)且;约束的表⽰有EIORM五种,分别表⽰exclusive, inclusive, only, require, mask.通过因果图设计测试⽤例⼀般要经历5个步骤,分别是:1. 列出输⼊输出,即condition, effecting2. 根据说明画出因果图3. 画出决策表4. 化简决策表5. 设计测试⽤例这就是通过因果图设计测试⽤例的⽅法。
⾃动售货机的例⼦1. 原因与结果原因: c1,投⼊1元5⾓c2,投⼊2元c3,按可乐c4,按雪碧c5,按红茶结果: e1,弹可乐e3,弹雪碧e3,弹红茶e4,找5⾓根据上⾯的决策表,可以看出,有10,11,13,18,19,21这六个有效测试⽤例,其他的测试⽤例都是⽆效的。
可以看出,即使条件和结果并不是很复杂,也会有很多规则的出现。
在不考虑约束的情况下,如果有n个原因就会有2^n中规则,即使考虑了约束,也不会减少很多。
在具体情况下,为了防⽌三个按钮被同时按下的情况,可以把这个功能做到硬件的设计上,⽐如给每种饮料编号,每次只能输⼊⼀个数字,这就解决刚才的问题,⽽且还利于饮料种类的扩展。
决策表对于输⼊条件很多,约束关系也⽐较复杂的时候,话因果图⽐较困难,不如直接话决策表并化简。
需要单独指出的是,决策表并不是因果图的辅助⼯具,相反,决策表是早就使⽤的设计⿊盒测试⽤例的最为严格的⼯具。
2-4 因果图与决策表1
(a)
(b)
(c)
因果图中的基本符号
输入状态之间的关系: ¦E约束(异,排他):a和b中最多有一 个可能为1,即a和b不能同时为1;
a
E
异 b
因果图中的基本符号
输入状态之间的关系: I约束(或,包含):a、b、c中至少 有一个必须是1,即a、b、c不能同时 为0;
a b 或 c
I
因果图中的基本符号
原因与结果之间的关系:
因果图中的基本符号
原因与结果之间的关系:
• 恒等:若c1是1,则e1也为1,否则e1为0;
c1
e1
因果图中的基本符号
原因与结果之间的关系:
• 非:若c1是1,则e1为0,否则e1为1;用符号 “~”表示。 c1 e1
~
因果图中的基本符号
原因与结果之间的关系:
• 或:若c1或c2或 c3是1,则e1是1, 否则e1为0, “或”可有任意 个输入;用符号 “V”表示。 c1 c2 V e1
e1 ~ e2 V
~
V
c
c2
带有E约束的因果图
c3
e3
因果图
实例1
步骤三:把因果图转换成判定表。
1 C1 C2 C3 C E1 E2 E3 1 1 1 2 1 1 0 3 1 0 1 1 4 0 1 1 1 5 1 0 0 1 6 0 1 0 1 7 0 0 1 0 √ 8 0 0 0 0 √ √
用例设计步骤
①分析并列出需求或规格说明书中原因和结果。 ②找出关系,将原因和结果连接成因果图。 ③把因果图转换成判定表。 ④把判定表中每一列表示的情况写成测试用例。
• 因:输入条件 • 果:输出结果或者程序状态的改变 • 关系:原因与结果的关系,原因与原因之间的关系
因果图ppt课件
C3
C4
V 12
C5
V V
V V
E1 E2 E3 E4
30
(3)决策表
1234
c1:投入1元5角硬币 1 1 1 1
c2:投入2元硬币
0000
c3:按“可乐”按钮 1 0 0 0
c4:按“雪碧”按钮 0 1 0 0
c5:按“红茶”按钮 0 0 1 0
11:已投币
1111
12:已按钮
1110
a1:退还5角硬币
5
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei表 示结果,各结点表示状态,可取值“0” 或“1”。“0”表示某状态不出现,“1” 表示某状态出现。
6
主要的原因与结果之间的关系
c1
e1
(a)恒 等
c1 ~ e1
(b) 非
c1 c2 V e1
c3
(c) 或
V
c1 e1
c2
(d) 与
3
因果图法设计测试用例思想
• 首先从程序规格说明书的描述中,找出因 (输入条件)和果(输出结果或者程序状态的 改变)
• 然后通过因果图转换为判定表,最后为判定 表中的每一列设计一个测试用例.
4
因果图法的定义:
• 是一种利用图解法分析输入的各种组 合情况,从而设计测试用例的方法, 它适合于检查程序输入条件的各种组 合情况。
• 由于语法或环境限制,有些原因与原因之 间或与结果之间的组合情况不能出现,用 记号标明约束或限制条件;
• 将因果图转换成决策表; • 根据决策表中每一列设计测试用例
20
因果图法举例
• 程序的规格说明要求:输入的第一个 字符必须是“#”或“*”,第二个字符 必须是一个数字,在此情况下进行文 件的修改;如果第一个字符不是“#” 或“*”,则给出信息N;如果第二个 字符不是数字,则给出信息M。
整理好的排列图因果图对策表
PDCA循环与统计技术学习数据主要内容:一、PDCA循环的定义与组成二、PDCA循环在质量管理过程中的意义三、PDCA循环的四个阶段,八个步骤四、两图一表(排列表、因果表、对策表)一、PDCA循环的定义与组成1.PDCA循环的组成PDCA是英语单词Plan(计划)、Do(执行)、Check(检查)和Action(处理)的第一个字母,PDCA循环就是按照这样的顺序进行质量管理,并且循环不止地进行下去的科学程序。
2、PDCA循环的定义PDCA循环又叫戴明环,是美国质量管理专家戴明博士首先提出的,它是全面质量管理所应遵循的科学程序。
二、PDCA循环在质量管理过程中的意义全面质量管理活动的运转,离不开管理循环的转动,这就是说,改进与解决质量问题,赶超先进水平的各项工作,都要运用PDCA循环的科学程序。
不论提高产品质量,还是减少不合格品,都要先提出目标,即质量提高到什么程度,不合格品率降低多少?就要有个计划;这个计划不仅包括目标,而且也包括实现这个目标需要采取的措施;计划制定之后,就要按照计划进行检查,看是否达到预期效果,有没有达到预期的目标;通过检查找出问题和原因;最后就要进行处理,将经验和教训制订成标准、形成制度。
三、PDCA循环的四个阶段,八个步骤PDCA循环作为全面质量管理体系运转的基本方法,其实施需要搜集大量数据资料,并综合运用各种管理技术和方法。
如图所示,一个PDCA循环一般都要经历以下4个阶段(图1所示)、8个步骤(如图2所示):1、找主要质量问题:排列图计划计划2、找原因:头脑风暴会议、因果图3、找要因:排列图、计分法、验证4、制定对策(计划)措施:对策表2. D:执行(实施)执行5、实施对策措施3、C:执行(检查)执行6、检查实施效果:排列图、因果图4、A:处理(总结)7、标准化处理处理8、遗留问题转下一循环四、两图一表1、排列图•定义:又叫帕累托图,它将质量改进项目最重要到最次要进行排列而采用的一种简单的图示技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等价类、边界值:判定输入条件项的合法性
决策表、因果图:判定输入条件项的逻辑关系
决策表(判定表)
优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。
适用条件:
B. Beizer 指出了适合使用判定表设计测试用例的条件:
①规格说明以判定表形式给出,或很容易转换成判定表。
②条件的排列顺序不会也不影响执行哪些操作。
③规则的排列顺序不会也不影响执行哪些操作。
④每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
⑤如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。
B. Beizer提出这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。
其实对于某些不满足这几条的判定表,同样可以借以设计测试用例,只不过尚需增加其它的测试用例罢了。
因果图
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系。
如果在测试时必须考虑输入条件的各种组合,可能的组合数将是天文数字。
因此必须考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要利用因果图。
因果图方法最终生成的就是决策表。
它适合于检查程序输入条件的各种组合情况。
利用因果图生成测试用例的基本步骤是:
▪分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
▪分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。
▪由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。
为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
▪把因果图转换决策定表。
▪把决策表的每一列拿出来作为依据,设计测试用例。
通常,在因果图中,用Ci表示原因,Ei表示结果,其基本符号如图5.15所示。
各结点表示状态,可取值“0”或“1”。
“0”表示某状态不出现,“1”表示某状态出现。
▪恒等:若原因出现,则结果出现。
若原因不出现,则结果也不出现。
▪非:若原因出现,则结果不出现。
若原因不出现,反而结果出现。
▪或(∨):若几个原因中有一个出现,则结果出现,几个原因都不出现,结果不出现。
▪与(∧):若几个原因都出现,结果才出现。
若其中有一个原因不出现,结果不出现。
图5.15 因果图的图形符号
为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。
从输入(原因)考虑,有四种约束;从输出(结果)考虑,还有一种约束,参看图5.16:
▪ E(互斥):表示a,b两个原因不会同时成立,两个中最多有一个可能成立。
▪ I(包含):表示a,b,c三个原因中至少有一个必须成立。
▪ O(唯一):表示a和b当中必须有一个,且仅有一个成立。
▪ R(要求):表示当a出现时,b必须也出现。
不可能a出现,b不出现。
▪ M(屏蔽):表示当a是1时,b必须是0。
而当a为0时,b的值不定。
图5.16 因果图的约束符号
【例】有一个处理单价为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提出了使用各种测试方法的综合策略:
▪首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效的方法。
▪在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
▪采用错误推断法再追加测试用例,这需要依靠测试工程师的智慧和经验。
▪对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。
▪如果程序的功能说明中含有输入条件的组合情况,则应考虑选用决策表法或因果图法。