08第二部分-黑盒4-因果图法PPT优秀课件

合集下载

黑盒测试技术4-因果图法

黑盒测试技术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、对说明进行分析,得到原因和结果: 原因: 1:第一列字符是A; 2:第一列字符是B; 3:第二列字符是一数字。 结果: 21:修改文件; 22:给出信息L; 23点 3、考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束
3.实例
4、根据因果图建立决策表
3.实例
5、生成测试用例
THANKS
第四章 测试设计技术
——黑盒测试技术之因果图
主讲人:丁慧
1.因果图 2.使用因果图和决策表设计测试用例 3.实例
1.因果图
因果图技术:面向功能的动态测试的方法,以图形形式(因果图)来 描述规格说明,并借由因果图,通过一系列中间步骤生成测试用例。
因果图最终生成的就是决策表,提供了一个把规格转化为决策表的系 统化方法,从该图中可以产生测试数据。
1.因果图
1.因果图
2.使用因果图和决策表设计测试用例
使用因果图和决策表设计测试用例步骤如下: 1. 分析需求规格说明找出原因和结果; 2. 画出因果图; 3. 标记约束或限制条件; 4. 把因果图转换为决策表; 5. 生成测试用例;
3.实例
某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列 字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正 确,则给出信息L;如果第二列字符不是数字,则给出信息M。
因果图中原因表示输入条件,结果是对输入执行的一系列计算后得到 的输出。
1.因果图
因果图中基本符号 ➢ 以直线连接左右节点,左节点表示原因 (输入状态ci),右节点 表示结果(输出状态ei) ➢ ci和ei均可取值0或1,0表示状态不出现,1表示状态出现
因果图中三大关系 ➢ 原因和结果的关系 ➢ 原因和原因的关系 ➢ 结果和结果的关系

8.黑盒测试(4)-因果图

8.黑盒测试(4)-因果图

实例
图4 因果图示例
实例
因为C1和C2不可能同时为1,即第一个字符不可能既是A又是B,在因果 图上可对其施加E约束,得到具有约束的因果图,如图5所示。
图5 具有E约束的因果图
实例
(3)将因果图转换成决策表,如表1所示。 (4)设计测试用例。表1中的前两种情况,因为原因1和原因2不可能同时 为1,所以应排除这两种情况。根据此表,可以设计出6个测试用例,如表 2所示。
输入与输出的约束关系
(a)异
(b)或
(c)惟一
(d)要求
(e)强制 图3 约束符号
设计步骤
(1)分析软件规格说明书中的输入输出条件并划分出等价类,将每 个输入输出赋予一个标志符;分析规格说明中的语义,通过这些语义 来找出多个输入因素之间的关系。 (2)找出输入因素与输出结果之间的关系,将对应的输入与输出之 间的关系关联起来,并将其中不可能的组合情况标注成约束或者限制 条件,形成因果图。 (3)由因果图转化成决策表,任何由输入与输出之间关系构成的路 径,形成决策表的一列,也被视为决策表的一条规则。 (4)将决策表的每一列拿中使用4种符号分别表示4种因果关系,如图2所示。 用直线连接左右节点,其中左节点Ci表示输入状态(或称原 因),右节点ei表示输出状态(或称结果)。Ci和ei都可取 值0或1,0表示某状态不出现,1表示某状态出现。
• 图2中各符号的含义如下: 恒等:若C1是1,则e1也是1,否则e1为0。 非:若C1是1,则e1是0,否则e1为1。 或:若C1或C2或C3是1,则e1是1,否则e1为0。 与:若C1和C2都是1,则e1是1,否则e1为0。
设计步骤
从因果图生成的测试用例中包括了所有输入数据的取 TRUE与FALSE的情况,构成的测试用例数目达到最少, 且测试用例数目随输入数据数目的增加而线性地增加。

第2章 黑盒测试因果图

第2章 黑盒测试因果图

M约束:对输出条件的约束,若结果a为1,则 结果b必须为0.
2019/4/17
15
4.因果图法

4.3用因果图生成测试用例的基本步骤 (1) 分析软件规格说明描述中,哪些是 原因 (即输入条件或输入条件的等价 类),哪些是结果 (即输出条件),并给 每个原因和结果赋予一个标识符。 (2) 分析软件规格说明描述中的语义, 找出原因与结果之间,原因与原因之 间对应的是什么关系? 根据这些关系, 画出因果图。
第 2章 黑盒测试用例设计方法
2019/4/17
1
黑盒测试用例设计方法
-----------因果图方法
2019/4/17
2
4.因果图法

4.1概述

等价类划分方法和边界值分析方法着 重考虑输入条件,而不考虑输入条件 的各种组合,也不考虑输入条件之间 的相互制约的关系,但有时一些具体 问题中的输入之间存在着相互依赖的 关系,如:NextDate函数问题。
2019/4/17
3
4.因果图法

如果输入之间有关系,我们在测试时必须 考虑输入条件的各种组合,那么可以考虑 使用一种适合于描述对于多种条件的组合, 相应产生多个动作的形式来设计测试用例, 这就需要利用因果图。
2019/4/17
4
4.因果图法

因果图方法最终生成的就是判定表。 它适合于检查程序输入条件的各种组 合情况。
2019/4/17
30
练习题
(2) 画出因果图。所有原因结点列在左边,所有结 果结点列在右边。
2019/4/17
31
练习题
(3) 由于 2 与 3 ,4 与 5 不能同时发生,分别 加上约束条件E。 (4) 因果图转换成判定表 (5) 设计测试用例

黑盒4-_因果图法-年薪及中国象棋问题ppt课件

黑盒4-_因果图法-年薪及中国象棋问题ppt课件

测试用例 Logo
测试用例1: 输入数据: 年薪制员工,严重过失 : 年薪制员工,过失 预期输出: 扣年终风险金的2%
测试用例3: 输入数据: 非年薪制员工,严重过 失 预期输出: 扣当月薪资的8%
测试用例4: 输入数据: 非年薪制员工,过失 预期输出: 扣当月薪资的4%
E1
1000
E2
0100
E3
0010
E4
0001
Logo
E2
1
00
E3
0
10
E4
0
01
决策表分解
规则 选项
1 2 3
123 4 56 78
111 1 00 00 110 0 11 00 101 0 10 10
Logo
11
100 0 00 00
E1
011 1 11 11
规则
12345678
选项
11 0 0 0 0 1 1 1 1 4 10001000 5 01000100 6 00100010 7 00010001
Logo
规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
选项
11 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 5 1 1 1 1 0 0 0 01 1 1 1 0 0 0 0 6 1 1 0 0 1 1 0 01 1 0 0 1 1 0 0 7 1 0 1 0 1 0 1 01 0 1 0 1 0 1 0
Logo
黑盒测试用例设计 ——因果图法
习题1
Logo
某软件的一个模块的需求规格阐明书中描画:
〔1〕年薪制员工:严重过失,扣年终风险金的4%; 过失,扣年终风险金的2%。

黑盒测试用例设计方法二(因果图法、判定表法、场景法)

黑盒测试用例设计方法二(因果图法、判定表法、场景法)

⿊盒测试⽤例设计⽅法⼆(因果图法、判定表法、场景法)测试步骤⼀、因果图法1.1什么是因果图法因果图是⼀种适合于描述对于多种输⼊条件组合的测试⽅法根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法它适合于检查程序输⼊条件涉及的各种组合情况。

1.2因果图步骤第⼀步:根据功能说明书中规定的原因和结果之间的关系画出因果图恒等:原因A成⽴,结果B⼀定成⽴⾮:愿意A成⽴时,结果B⼀定不成⽴或:原因A、B、C三者只要有⼀个成⽴,结果D就⼀定成⽴与:原因A、B、C都成⽴时,结果D才会出现第⼆步:根据功能说明在因果图中加上约束条件其中互斥、包含、唯⼀、要求是对原因的约束,屏蔽是对结果的约束。

它们的含义如下:1、互斥(exclusive):表⽰不同时为1,即a,b,c中⾄多只有⼀个12、包含(include):表⽰⾄少有⼀个1,即a,b,c中不同时为03、唯⼀(only):表⽰a,b,c中有且仅有⼀个14、要求(request):表⽰若a=1,则b必须为1。

即不可能a=1且b=05、屏蔽(mask):表⽰若a=1,则b必须为0(当你收到注册成功的提⽰,就⼀定不会收到数据填写错误的提⽰)1.3因果图使⽤实例例:阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号(1)有⼀个饮料⾃动售货机(处理单价为5⾓钱)的控制处理软件,它的软件规格说明如下若投⼊5⾓钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。

若投⼊1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则⾃动售货机在送出相应饮料的同时退回5⾓钱的硬币。

分析原因和结果画出原因和结果之间的关系(部分关系)按照需求描述原因、结果的约束因果图使⽤中的局限性:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。

因此⽤作局部的⼩功能(原因和结果不是很多的时候)分析。

列出所有的原因和结果的列表,设计初步的测试⽤例步骤C5:这是⼀种bug,不能做测试设计。

第3章(4)黑盒测试方法4-因果图法分解

第3章(4)黑盒测试方法4-因果图法分解
• 将因果图转换成决策表; • 根据决策表中每一列设计测试用例
课堂回顾: Logo
1、以下四个图例分别表示什么关系:
c1
e1
c1 ~ e1
c1
c2
∨ e1
c3
c1 ∧ e1
c2
课堂回顾: Logo
2、以下五种图例又分别表示什么关系??
a
E
I
b
a
R
b
a
a
b
O
b
c
a
M
b
Logo
3、叙述因果图法设计测试用例的步骤
因果图法设计测试用例思想 Logo
• 首先从程序规格说明书的描述中, 找出因(输入条件)和果(输出结果 或者程序状态的改变),
• 然后通过因果图转换为判定表,最 后为判定表中的每一列设计一个测 试用例.
因果图法的定义: Logo
• 是一种利用图解法分析输入的各种 组合情况,从而设计测试用例的方 法,它适合于检查程序输入条件的 各种组合情况。
为0,“与”也可有任意个输入。
Logo
• 在实际问题当中输入状态相互之间还可能 存在某些依赖关系,称为“约束”
a E
b 异
a
I
b
或c
(a)
(
a
R
M
b 要求
b 强制
(d)
(e)
Logo
–E约束(异):a和b中最多有一个可能为1, 即a和b不能同时为1;
a E
b 异
Logo
什么是因果关系?? Logo
• 拿破仑说: • “失一个钉子,坏了一只蹄铁; • 坏了一只蹄铁,折了一匹战马; • 折了一匹战马,伤了一位骑士; • 伤了一位骑士,输了一场战斗;

第章黑盒测试-精品.ppt

第章黑盒测试-精品.ppt
例如,在C语言中对变量标识符的规定为“以字母打头的 ……”。那么所有以字母打头的构成一个有效等价类,而不 在此集合内的构成一个无效等价类。
(4)按限制条件或规则划分
如果规定了输入数据和须遵守的规则或限制条件,则可以 确立一个有效等价类(符合规则)和若干个无效等价类( 从不同角度违反规则)。
(5)细分等价类
2.2.2 等价类划分法的测试运用
1. NextDate 函数包含三个变量:month 、 day 和 year ,函 数的输出为输入日期后一天的日期。 例如,输入为 2019年3 月 7日,则函数的输出为 2019年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1812≤year≤2019
(2)按数值划分
如果规格说明规定了一组输入数据,而且程序要对每个输入 值分别进行处理,则可为每一个输入值确立一个有效等价类 ,针对这组值确立一个无效等价类,即所以不允许输入值的 集合。
(3)按数值集合划分
如果输入条件规定了输入值的集合,或者是规定了“必须 如何”的条件,这时可确定一个有效等价类和一个无效等 价类。
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 ቤተ መጻሕፍቲ ባይዱ盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a
I
b
或c
14
O约束(唯一):a和b必须有一个且仅 有一个为1;
a O
b 唯一
15
R约束(要求):a是1时,b必须是1;
a R
b 要求
16
M约束(强制):若结果a是1,则结果b 强制为0。
a M
b 强制
17
对于输入条件的约束有4种:
E约束(异):a和b中最多有一个可能为1,即a和b不 能同时为1;
V
11
C2
C3
E
C4
V
20
步骤:
1. 分析程序的规格说明,列出原因和结果; 2. 找出原因与结果之间的因果关系、原因
与原因之间的约束关系,画出因果图。 3. 将因果图转换成决策表; 4. 根据3中的决策表,设计测试用例的输入
数据和预期输出。
21
解法如下:
(1)在明确了上述要求后,可以明确地 将原因和结果分开。
原因:c1-第一个字符是“#” c2-第一个字符是“*” c3-第二个字符是一个数字
测试 用例
3 45 1 10 0 01 1 01 1 11



#3 #B *7
67 8 00 0 10 0 01 0 10 0
√√


*M C2 CM
25
(4)设计测试用例
最左边两列,原因c1和c2同时为1不可能,排除掉, 根据表可设计出6个测试用例。
Test1:输入数据-#3 Test2:输入数据-#B Test3:输入数据-*7 Test4:输入数据-*M Test5:输入数据-C2 Test6:输入数据-CM
由于语法或环境限制,有些原因与原因之间或 与结果之间的组合情况不能出现,用记号标明 约束或限制条件;
将因果图转换成决策表; 根据决策表中每一列设计测试用例
19
因果图法举例
程序的规格说明要求:输入的第一个字符 必须是“#”或“*”,第二个字符必须是 一个数字,在此情况下进行文件的修改; 如果第一个字符不是“#”或“*”,则给 出信息N;如果第二个字符不是数字,则 给出信息M。
28
(1)分析原因及结果
原因
c1:投入1元5角硬币;
c2:投入2元硬币;
c3:按“可乐”按钮;
c4:按“雪碧”按钮;
c5:按“红茶”按钮已按钮
结果
a1:退还5角硬币;
a2:送出“可乐”饮料;
a3:送出“雪碧”饮料;
a4:送出“红茶”饮料; 29
(2)画出因果图
C1
E
c1
V
c2
e1
c3
9
与:若c1和c2都是1,则e1为1, 否则e1为0,“与”也可有任意 个输入。
c1 e1
c2
10
V
恒等:若c1是1,则e1也为1,否则e1 为0;
非:若c1是1,则e1为0,否则e1为1; 或:若c1或c2或c3是1,则e1是1,
否则e1为0,“或”可有任意个输入; 与:若c1和c2都是1,则e1为1,否则
预期输出--修改文件 预期输出--给出信息M 预期输出--修改文件 预期输出--给出信息M 预期输出--给出信息N 预期输出--给出信息M和N
26
使用因果图法的优点:
(1)考虑到了输入情况的各种组合以及各个 输入情况之间的相互制约关系。
(2)能够帮助测试人员按照一定的步骤,高 效率的开发测试用例。
黑盒测试用例设计 ——因果图法
1
因果图法产生的背景
等价类划分法和边界值分析方法 都是着重考虑输入条件,但没有考虑 输入条件的各种组合、输入条件之间 的相互制约关系。这样虽然各种输入 条件可能出错的情况已经测试到了, 但多个输入条件组合起来可能出错的 情况却被忽视了。
2
因果图法设计测试用例思想
首先从程序规格说明书的描述中, 找出因(输入条件)和果(输出结 果或者程序状态的改变),
结果:a1-给出信息N a2-修改文件 a3-给出信息M
22
(2)因果图
10为导出结果的中间原因
c1
a1
V 10
~
V
c2
a2
c3
~
a3
因果图表示
23
带有E约束的因果图
c1
a1
E
V 10
~
V
c2
a2
c3
~
a3
具有E约束的因果图表示
24
将因果图转化为判定表
12 C1 1 1 C2 1 1 C3 1 0 10 a1 a2 a3 不可能 √ √
(3)因果图法是将自然语言规格说明转化成 形式语言规格说明的一种严格的方法,可以 指出规格说明存在的不完整性和二义性。
27
案例分析1
有一个处理单价为1元5角的盒装饮料的 自动售货机软件。若投入1元5角硬币, 按下“可乐”,“雪碧”或“红茶”按钮, 相应的饮料就送出来。若投入的是两元硬 币,在送出饮料的同时退还5角硬币。
5
主要的原因与结果之间的关系
c1
e1
(a)恒等
c1 ~ e1 (b)非
c1
V
c2
e1
c3
(c)或
V
c1 e1
c2
(d)与
6
恒等:若c1是1,则e1也为1, 否则e1为0;
c1
e1
7
非:若c1是1,则e1为0,否 则e1为1;
c1 ~ e1
8
或:若c1或c2或c3是1,则e1 是1,否则e1为0,“或”可有任 意个输入;
然后通过因果图转换为判定表,最 后为判定表中的每一列设计一个 测试用例.
3
因果图法的定义: 是一种利用图解法分析输入的各
种组合情况,从而设计测试用例 的方法,它适合于检查程序输入 条件的各种组合情况。
4
因果图中出现的基本符号
原因
结果
通常在因果图中用Ci表示原因,用Ei 表示结果,各结点表示状态,可取值 “0”或“1”。“0”表示某状态不出现, “1”表示某状态出现。
e1为0,“与”也可有任意个输入。
11
在实际问题当中输入状态相互之间还可能 存在某些依赖关系,称为“约束”
a E
b 异
a
I
b
或c
a O
b 唯一
a
a
R
M
b 要求
b 强制
(a)
(b)
(c)
(d)
(e)
12
E约束(异):a和b中最多有一个可能 为1,即a和b不能同时为1;
a E
b 异
13
I约束(或):a、b、c中至少有一个必 须是1,即a、b、c不能同时为0;
I约束(或):a、b、c中至少有一个必须是1,即a、b c不能同时为0;
O约束(唯一):a和b必须有一个且仅有一个为1; R约束(要求):a是1时,b必须是1;
对于输出条件的约束只有M约束
M约束(强制):若结果a是1,则结果b强制为0。
18
因果图法设计测试用例步骤:
分析程序规格说明书描述的语义内容,找出 “原因”和“结果”,将其表示成连接各个原 因与各个结果的“因果图”。
相关文档
最新文档