第12章 更多的黑盒测试技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NNYYNNYYN N
Y
Y
N
N
Y
Y
理解书中内容? N Y N Y N Y N Y N Y N Y N Y N Y
学习C/C++语言
学习软件工程
建 议
继续阅读
放弃学习
软件测试
基于决策表的测试
化简后的“阅读指南”
规则 选项
1,5 2,4 3 6,7,8 9,11 10,12 13,14 15,16
第12章 更多的黑盒测试技术
软件工程系
软件测试
黑盒测试用例设计方法包括:
➢ 等价类划分法 ➢ 边界值分析法 ➢ 因果图法 ➢ 基于决策表的测试法 ➢ 正交实验设计法 ➢ 功能图法 ➢ 判定表组成法 ➢ ......
2
软件测试
前面所说的等价类和边界值分析法,都是着重考虑输入条件,但未考虑输 入条件之间的联系、相互组合等。
➢ 条件桩 ✓ C1:航线为{A1,A2,A3}之一 ✓ C2:舱位为{P1,P2}之一 ✓ C3:飞行时间为{T1,T2}之一
18
➢ 动作桩 ✓ A1:食物供应 ✓ A2:电影播放
软件测试
实例:航空服务
2、确定规则的个数
➢ 3x2x2=12
19
软件测试
实例:航空服务
填入条件项和动作项,得到初始决策表
32
软件测试
因果图法生成测试用例实例
软件规格说明书规定:
➢ 输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文 件的修改;
➢ 如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出 信息M。
33
软件测试
因果图法生成测试用例实例
输入的第一个字符必须是#或*,第二个字符必须是一个数字, 此情况下进行文件的修改;如果第一个字符不是#或*,则给 出信息N,如果第二个字符不是数字,则给出信息M
软件测试
输入与输出关系
在因果图中使用4种符号分别表示4种因果关系。用直线连接左右节点,其 中左节点Ci表示输入状态(或称原因),右节点ei表示输出状态(或称结 果)。Ci和ei都可取值0或1,0表示某状态不出现,1表示某状态出现。
26
软件测试
因果图的基本符号
恒等:若C1是1,则e1 也是1,否则e1为0
20
软件测试
实例:航空服务
4、简化决策表,合并相似规则
21
软件测试
实例:航空服务
5、根据决策表设计测试用例
22
软件测试
本章内容
基于决策表的测试 因果图法 正交实验法
23
软件测试
因果图法
因果图法是一种利用图解法分析输入的各种组合情况, 从而设计测试用例的方法,它适合于检查程序输入条件 的各种组合情况。
在实际应用的测试之中,经常碰到多种条件及其组合的情况。
判断三角形: 输入三个整数a、b和c分别作为三角形的3条边,通过程 序判断由这3条边构成的三角形类型是:等边三角形、 等腰三角形、一般三角形或非三角形(不能构成一个三 角形)
3
软件测试
本章内容
基于决策表的测试 因果图法 正交实验法
4
软件测试
软件测试
因果图法
通过因果图,可以建立输入条件和输出之间的逻辑模型, 从而比较容易确定输入条件组合和输出之间的逻辑关系, 有利于设计全面的测试用例
根本原 因分析 的“鱼 骨图” 法
上图是传统的因果图分析的工具,与测试用例采用的因果图不同。 传统的因果图就是著名的鱼骨图方法,用来分析复杂的问题。
对引起某种问题的因素不断进行细化,从而找出问题产生的根源。
原因:c1:第一个字符是#,c2:第一个 字符是*,c3:第二个字符是一个数字 结果:e1:给出信息N,e2:修改文件, e3:给出信息M
(2)找出原因与结果之间的因果关 系、原因与原因之间的约束关系,画 出因果图。
将原因和结果用相应的逻辑符号连 接起来,可得到其因果图,其中编号 为10的中间结点是导出结果的进一步 原因。因为原因c1和c2不可能同时为1 ,即第一个字符不可能即是#又是*, 在因果图上可对其施加E约束,这样 便得到了具有约束的因果图。
1
0
1
0
1
0
1
0
10
1
1
1
1
0
0
动作:
e1


e2


e3



不可能

软件测试
基于决策表的测试 一本书的阅读指南的决策表
规则 选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
能编写程序? N N N N N N N N Y Y Y Y Y Y Y Y
问 熟悉软件工程? N N N N Y Y Y Y N N N N Y Y Y Y

对书中内容感兴 趣?
➢ 从20世纪60年代初以来,决策表一直被用来表示和分析复杂的逻辑关系,描述不同条 件集合下采取行动的若干组合情况。
软件测试
基于决策表的测试
决策表的构成:通常由条件桩、条件项、动作桩和动作项4 部分组成: ① 条件桩:列出问题的所有条件。 ② 条件项:针对条件桩给出的条件列出所有可能的取值。 ③ 动作桩:列出问题规定可能采取的操作。 ④ 动作项:指出在条件项的各组取值情况下应采取的动作。
28
软件测试
输入的约束关系
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
29
软件测试
(1)分析软件规格说明书,找出原因和结果。
原因:c1:第一个字符是# c2:第一个字符是* c3:第二个字符是一个数字
结果:e1:给出信息N e2:修改文件 e3:给出信息M
34
软件测试
输入的第一个字符必须是#或*, (1)分析软件规格说明书,找出原因和结
第二个字符必须是一个数字,此

情况下进行文件的修改;如果第 一个字符不是#或*,则给出信息N, 如果第二个字符不是数字,则给 出信息M
显然,这四种情况相互排斥。
软件测试
基于决策表的测试(续)
举例:三角形问题的决策表
规则 规则 规则
1-8 9 10
条件: c1: a,b,c构成
三角形?
N YY
c2: a=b?
- YY
c3: a=c?
- YY
c4: b=c?
- YN
动作:
a1: 非三角形

a2: 一般三角形
a3: 等腰三角形
a4: 等边三角形
非:若C1是1,则e1是0, 否则e1为1
或:若C1或C2或C3是1, 则e1是1,否则e1为0
与:若C1和C2都是1,则e1是 1,否则e1为0
软件测试
输入与输出的约束关系
在实际问题中,输入状态相互之间还可能存在某些依赖关系,我们称之为 约束。
例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束 ,在因果图中,以特定的符号标明这些约束。
基于决策表的测试
适用情况:在有些软件中,如果存在着一些数据处理,而且某些操作是否实施依 赖于多个逻辑条件的取值;在这些逻辑条件取值的组合所构成的多种情况下,分 别执行不同的操作 。
什么是决策表?
➢ 决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表 格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。
➢ 缺点:
不能表达重复执行的动作,例如循环结构。
软件测试
实例:航空服务
某航空公司有如下规定:
➢ 中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影 ➢ 中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影 ➢ 中国国内的航班的商务仓有食物供应,但是不可以播放电影 ➢ 中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以
能编写程序?
N NN N
Y
Y
Y
Y
熟悉软件工程?
- NN
Y
N
N
Y
Y
问题
对书中内容感兴趣? N - Y -


N
Y
理解书中内容?
N YN -
N
Y


学习C/C++语言
学习软件工程
建议
继续阅读
Biblioteka Baidu
放弃学习
软件测试
基于决策表的测试
举例:三角形问题的决策表 输入三个整数a、b和c分别作为三角形的3条边,通过
程序判断由这3条边构成的三角形类型是:等边三角形、等 腰三角形、一般三角形或非三角形(不能构成一个三角形)。

a5: 不可能

规则 11 Y Y N Y

规则 12
Y Y N N

规则 规则 规则 规则 13 14 15 16
YY YY
N N NN Y Y NN Y N YN
√ √√

软件测试
基于决策表的测试
软件测试
基于决策表的测试
举例:三角形问题的决策表
用例ID
a
1
4
2
1
3
1
4
5
5
?
6
?
7
2
8
?
9
2
35
因果图法生成测试用例实例(1)因分和析结软果件规格说明书,找出原
(3)将因果图转换成决策表
原因:c1:第一个字符是#,c2 :第一个字符是*,c3:第二个字 符是一个数字
结果:e1:给出信息N,e2:修 改文件,e3:给出信息M
1
2
3
4
5
6
7
8
条件:
C1
1
1
1
1
0
0
0
0
C2
1
1
0
0
1
1
0
0
C3
输出的约束关系
M约束(强制):若 结果a是1,则结果b强 制为0
软件测试
因果图法测试用例的设计步骤
1. 确定软件规格中的原因和结果
➢ 分析规格说明中哪些是原因(即输入条件),哪些是结果( 即输出条件),并给每个原因和结果赋予一个标识符。
2. 确定原因和结果之间的逻辑关系
➢ 分析软件规格说明中的语义,找出原因与结果之间、原因与 原因之间对应的关系,根据这些关系画出因果图。
10
3
11
3
b
c
预期输出
1
2 非三角形
4
2 非三角形
2
3 非三角形
5
5 等边三角形
?
? 不可能
?
? 不可能
2
3 等腰三角形
?
? 不可能
3
2 等腰三角形
3
2 等腰三角形
4
5 一般三角形
15
软件测试
基于决策表的测试
基于决策表测试的优点和缺点
➢ 优点:
它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解, 也可避免遗漏。
播放电影
17
软件测试
实例:航空服务
1、列出所有条件桩和动作桩
➢ 等价类: ✓ A1={航线为国外欧美航线} ✓ A2={航线为国外非欧美航线} ✓ A3={航线为国内航线} ✓ P1={舱位为经济舱} ✓ P2={舱位为商务舱} ✓ T1={飞行时间大于2小时} ✓ T2={飞行时间不大于2小时}
软件测试
基于决策表的测试
一本书的阅读指南的决策表
一条规则
选项
规则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
能编写程序? N N N N N N N N Y Y Y Y Y Y Y Y
问 熟悉软件工程? N N N N Y Y Y Y N N N N Y Y Y Y
3. 确定因果图中的各个约束
➢ 由于语法或环境的限制,有些原因与原因之间、原因与结果 之间的组合情况不可能出现。为表明这些特殊情况,在因果 图上用一些记号表明约束或限制条件。
4. 把因果图转换为决策表
5. 根据决策表设计测试用例
31
软件测试
因果图法测试用例的设计步骤
1. 确定软件规格中的原因和结果 2. 确定原因和结果之间的逻辑关系 3. 确定因果图中的各个约束 4. 把因果图转换为决策表 5. 根据决策表设计测试用例
题 对书中内容感兴
趣?
NNYYNNYYN N Y Y N N Y Y
理解书中内容? N Y N Y N Y N Y N Y N Y N Y N Y
学习C/C++语言
学习软件工程 建
议 继续阅读
放弃学习
基于决策表的测试
构造决策表的步骤:
(1)列出所有的条件桩和动作桩。 (2)确定规则的个数。
假定3个输入a、b和c为整数取值,三角形问题可以更 详细地描述为:
输入3个整数a、b和c分别作为三角形的三条边,要求a、 b和c必须满足以下条件:
➢ Con1.a<b+c ➢ Con2.b<a+c ➢ Con3.c<a+b
软件测试
基于决策表的测试(续)
举例:三角形问题的决策表 程序输出是由这3条边构成的三角形类型:等边三角形、
有n个条件的决策表有2n个规则(每个条件取真、假值)
(3)填入条件项。 (4)填入动作项,得到初始决策表。 (5)简化决策表,合并相似规则。
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系, 便可以合并。
合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无 关条件。
等腰三角形、一般三角形或非三角形。 如果a、b和c满足都是大于0的整数,则输出下列4种情况
之一:
➢ ① 如果不满足条件Con 1、Con 2和Con3中有一个,则程序 输出为“非三角形”。
➢ ② 如果三条边相等,则程序输出为“等边三角形”。 ➢ ③ 如果恰好有两条边相等,则程序输出为“等腰三角形”。 ➢ ④ 如果三条边都不相等,则程序输出为“一般三角形”。
相关文档
最新文档