《软件测试》---因果图-测试用例设计

合集下载

第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。

因果图测试用例

因果图测试用例
化简:就是规则合并,有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。
3.建立判定表
判定表的建立应该依据软件规格说明,步骤如下:
1.确定规则的个数,假如有N个条件,每个条件有两个取值(0,1),故又2n种规则。
2.列出所有的条件桩和动作桩
3.填入条件项
4.填入动作项,制定初始判定表
发出
发出提货单
发出
发出
发出
发出通知单
发出
简化:比如〉500未过期和〈=500未过期。这两个条件项导致的结果是一样的,并且条件项之间很相似,我们就可以将它们合并成如下表:
金额
〉500和〈=500
〉500
〈=500
状态
未过期
已过期
已过期
发出批准单
发出
发出
发出提货单
发出
发出
发出通知单
发出
这里再引入一个概念--规则,以上判定表里,右部的每一列(条件项和对应的动作项)都是一条规则。每一条规则都可以转化为测试用例,测试用例如下表:
出错率是指在使用软件过程中,用户出现了多少错误,这些错误有多严重,从错误中是否容易恢复等。
练习:
1.订购单的检查。
如果金额超过500元,又未过期,则发出批准单和提货单;
如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。
金额
〉500
〉500
〈=500
〈=500
状态
未过期
已过期
未过期
已过期
发出批准单
发出
发出
<-10000
-10000到+10000
>+10000

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

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

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

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

(三)因果图法基本步骤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。

测试用例设计—自动售货机因果图分析

测试用例设计—自动售货机因果图分析

测试用例设计—自动售货机因果图分析命题设计了一个自动售货机软件测试用例,用于处理单价为50美分的饮料。

规格如下:如果你放入50美分或1元硬币,并按下按钮[橙汁]或[啤酒],相应的饮料将交付如果自动售货机没有零钱,红灯将显示[零钱已经被换了],然后在放入1元硬币并按下按钮后,饮料将不会被递送,并且1元硬币将退出。

如果有零钱,显示“换出”的红灯将熄灭,50美分将在饮料交付时返还。

分析根据这个命题,我们可以分析自动售货机业务中存在5个条件和5个结果。

条件如下:1。

自动售货机有零钱。

投入1元硬币3。

投入50美分硬币4。

按下橙汁按钮5。

按下啤酒按钮结果:1。

自动售货机[换出]灯亮着。

当自动售货机没有变化时,会出现红灯2。

当硬币投入1元并且自动售货机没有零钱时,返还1元硬币。

3.当硬币投入1元时,返还50美分。

当自动售货机4有变化时。

发送橙汁饮料5。

发送啤酒饮料因果图-绘制条件和结果有变化红灯亮1元1元50美分,啤酒50美分,橙汁因果图-绘制简单关系在绘制空白条件和结果后,我们可以标记1为主题中最直接和最简单的因果条件。

条件“有变化”和结果“红灯亮”之间的关系是“没有”。

当“有零钱”时,红灯不亮,而当自动售货机“没有零钱”时,红灯必须亮。

2年,有条件的“投1元”和有条件的“投50分”是一种“E”关系。

这两个动作不能同时发生,即1元钱和50美分(不能同时发生);但是,我们允许“没有1元钱”和“没有50美分”(同时可能是假的)3,“啤酒选择”条件和“橙汁选择”条件为“e”关系,这两个动作不能同时发生,即“啤酒选择”和“橙汁选择”(不能同时为真);但是我们允许“不喝啤酒”和“不喝橙汁”(这可能同时是错误的)4,条件“啤酒选择”和条件“橙汁选择”相当于程序处理过程,即价格和系统处理方法都是相同的,因此这两个条件可以组合成一个中间节点此外,在两个条件之间使用“或”的关系5。

请注意,有条件的“1元”和有条件的“50美分”不是等价关系。

软件测试第四章--因果图讲解

软件测试第四章--因果图讲解
(3)由于语法或环境的限制,有些原因与原因之间、原因与 结果之间的组合情况不可能出现。为表明这些特殊情况,在 因果图上用一些记号表明约束或限制条件。
(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)分析软件规格说明中哪些是原因(即输入条件或输入条 件的等价类),哪些是结果(即输出条件),并给每个原因 和结果赋予一个标识符。

软件测试——用例设计3(其他)

软件测试——用例设计3(其他)

软件测试——⽤例设计3(其他)错误推测⽅法:⼀. ⽅法简介1. 定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从⽽有针对性的设计测试⽤例的⽅法。

2. 错误推测⽅法的基本思想:列举出程序中所有可能有的错误和容易发⽣错误的特殊情况,根据他们选择测试⽤例。

1) 例如, 输⼊数据和输出数据为0的情况;输⼊表格为空格或输⼊表格只有⼀⾏。

这些都是容易发⽣错误的情况。

可选择这些情况下的例⼦作为测试⽤例。

2) 例如,前⾯例⼦中成绩报告的程序,采⽤错误推测法还可补充设计⼀些测试⽤例:I. 程序是否把空格作为回答II. 在回答记录中混有标准答案记录III. 除了标题记录外,还有⼀些的记录最后⼀个字符即不是2也不是3IV. 有两个学⽣的学号相同V. 试题数是负数。

3) 再如,测试⼀个对线性表(⽐如数组)进⾏排序的程序,可推测列出以下⼏项需要特别测试的情况:I. 输⼊的线性表为空表;II. 表中只含有⼀个元素;III. 输⼊表中所有元素已排好序;IV. 输⼊表已按逆序排好;V. 输⼊表中部分或全部元素相同。

⼆. 实战演习暂⽆:因果图⽅法:因果图⽅法⼀. ⽅法简介1.定义:是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各种组合情况。

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

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

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

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

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

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

测试用例(因果图法)

测试用例(因果图法)

测试⽤例(因果图法)⼀、应⽤场合在⼀个界⾯中,有多个输⼊条件,输⼊之间存在组合关系,不同的输⼊组合会产⽣不同的输出结果的组合,为了弄清输⼊和输出的关系,使⽤因果图 (控件组合)⼆、核⼼概念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 的值不⼀定重点要求: 互斥、唯⼀、要求 屏蔽⼀般在输出中常⽤。

软件测试技术基础教程8.用例设计方法-因果图

软件测试技术基础教程8.用例设计方法-因果图

(2)非 与恒等关系恰好相反,其示意图如下图所示。
(3)与 在多个输入条件中,只有所有输入项发生时,才会产生对应输出。与 关系示意图如下图所示
(4)或 在多个输入条件中,只要有一个发生,则会产生对应输出,可以多个条件同 时成立。或关系示意图如下图所示。
2. 输入与输入 输入与输入之间同样存在异、或、唯一、要求等4种关系。 (1)异 所有输入条件中至多一个输入条件发生,可以一个条件都不成立。异关系示 意图如下图所示。
(2)或 所有输入条件中至少一个输入条件发生,当然也可以多个条件共存。或关系 示意图如下图所示。
(3)唯一 所有输入中有且只有一个输入条件发生。唯一关系示意图如图7-8所示。
(4)要求 所有输入中只要有一个输入条件发生,则其他输入也会发生。要求关系示意 图如下图所示
了解因果图输入与输入,输入与输出关系后,测试工程师该如何利用因果图 进行用例设计?使用因果图设计法设计用例的重点是理解输入与输入、输入 与输出的逻辑关系,确定其对应的关系后,可利用逻辑运算方法便捷地得到 测试规则。下面结合案例介绍因果图的使用方法。
用例设计方法-因果图
在利用判定表设计法设计用例的过程中,往往会遇到输入与输入之间存在约 束的情况。简单业务逻辑关系可利用判定表解决,但较为复杂的约束关系可 能就不适合了。在这种情况下采用因果图会是一种不错的选择。
因果图(Cause and Effect)又称鱼骨图(Fishbone Diagram),是由日本 管理大师石川馨先生所发展出来的,故又名石川图。在软件测试用例设计过 程中,用于描述被测对象输入与输入、输入与输出之间的约束关系。因果图 的绘制过程,可以理解为用例设计者针对因果关系业务的建模过程。根据需 求规格,绘制因果图,然后得到判定表进行用例设计,通常理解因果图为判 定表的前置过程,当被测对象因果关系较为简单时,可直接使用判定表设计 用例,不然可使用因果图与判定表结合的方法设计用例。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

因果图法测试用例设计
多种输入条件的组合,产生多种结果设计测试用例。 设计方法:


分析软件规格说明文档描述的哪些是原因(输入条 件),哪些是结果(输出条件),给每个原因和结 果赋予一个标示符。 找出原因与结果,原因与原因之间的对应关系,划 出因果图 在因果图上标上哪些不可能发生的因果关系,表明 约束或限制条件 根据因果图,创建判定表,将复杂的逻辑关系和多 种条件组合很具体明确的表示出来 把判定表的每一列作为依据设计测试用例。
因果图概念
约束 输入状态相互之间还可能存在某些依赖关系, 称为约束。 例如, 某些输入条件本身不可能同时出现。 输出状态之间也往往存在约束。 在因果图中,用特定的符号标明这些约束
2)
A.输入条件的约束有以下4


B.输出条件约束类型 输出条件的约束只有M约束(强 制):若结果a是1,则结果b强制 为0。
3)根据因果图建立判定表
表中8种情况的
左面两列情况中, 原因①和原因② 同时为1,这是 不可能出现的, 故应排除这两种 情况。 表的最下一栏给 出了6种情况的 测试用例,这是 我们所需要的数 据。
例如,有一个处理单价为5角钱的饮料的自动售
货机软件测试用例的设计。其规格说明如下: 〖啤酒〗的按钮,文件的修改,但如果第一列字符不正确,则给出信息L;如果第二 列字符不是数字,则给出信息M。 解答: 1) 根据题意,原因和结果如下: 原因: 1——第一列字符是A; 2——第一列字符是B; 3——第二列字符是一数字。 结果: 21——修改文件; 22 ——给出信息L; 23——给出信息M。 2) 其对应的因果图如下: 11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图 上施加E约束。
若投入5角钱或1元钱的硬币,押下〖橙汁〗或 若售货机没有零钱找,则一个显示〖零钱找完〗
的红灯亮,这时在投入1元硬币并押下按钮后, 饮料不送出来而且1元硬币也退出来; 在送出饮料的同时退还5角硬币。”
若有零钱找,则显示〖零钱找完〗的红灯灭,
(1) 分析这一段说明,列出原因和结果 原因: 1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 押下橙汁按钮 5. 押下啤酒按钮 建立中间结点,表示处理中间状态 11. 投入1元硬币且押下饮料按钮 12. 押下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清
因果图中出现的基本符号
用Ci表示原因, 用Ei表示结果, 各结点表示状态,可取值“0”或“1”。 “0”表示某状态不出现, “1”表示某状态出现。
因果图概念
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。“与”也可有 任意个输入。

类: ① 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。
某软件规格说明书包含这样的要求: 第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进

4) 在判定表中,阴影部分表示因违反约束条件
的不可能出现的情况,删去。 第16列与第32列因什么动作也没做,也删去。 最后可根据剩下的16列作为确定测试用例的依 据。
因果图法测试用例设计
因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条
件,但没有考虑输入条件的各种组合、输入条件之间 的相互制约关系。这样虽然各种输入条件可能出错的 情况已经测试到了,但多个输入条件组合起来可能出 错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能 的组合数目将是天文数字,因此必须考虑采用一种适 合于描述多种条件的组合、相应产生多个动作的形式 来进行测试用例的设计,这就需要利用因果图(逻辑 模型)。
结果: 21. 售货机〖零钱找完〗灯亮 22. 退还1元硬币 23. 退还5角硬币 24. 送出橙汁饮料 25. 送出啤酒饮料 (2) 画出因果图。所有原因结点列在左 边,所有结果结点列在右边。 (3) 由于 2 与 3 ,4 与 5 不能同时发生, 分别加上约束条件E。 (4) 因果图 (5) 转换成判定表
相关文档
最新文档