软件测试教程-宫云战 第2章ppt

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

黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 黑盒测试

2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
年龄
20~39 6点 40~59 4点 其它 2点
性别
M 4点 F 3点
婚姻状况
已婚 3点 未婚 5点
抚养人数
1人扣0.5点, 最多扣3点
2.2.2 等价类划分法的测试运用
分析程序规格说明中给出和隐含的对输入数据的要求,可以 得出: ① 年龄:一位或两位非零整数,取值的有效范围为1~99。 ② 性别:一位英文字符,只能取 ‘M’或’F’ 值。 ③ 婚姻:字符,只能取‘已婚’或‘未婚’。 ④ 抚养人数:空白或字符‘无’或一位非零整数(1~9) ⑤ 点数 :一位或两位非零整数,取值范围为8~19 通过对规格说明输入数据的取值分析,可以得出保险公司人 寿保险保费计算程序的等价类。
测试用例 Test 1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 a 60 60 60 50 50 60 60 50 50 1 2 99 100 b 60 60 60 50 50 1 2 99 100 60 60 50 50 c 1 2 60 99 100 60 60 50 50 60 60 50 50 预期输出 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形
2.2 等价类划分

等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,只根据程序规格说明书对输入范围进行划分 ,把所有可能的输入数据,即程序输入域划分为若干个互不 相交的子集,称为等价类,然后从每个等价类中选取少数具 有代表性的数据作为测试用例,进行测试。
2.2 等价类划分

2.2.1等价类划分方法 所谓等价类是指输入域的某个互不相交的子集合,所有 等价类的并便是整个输入域。 1.划分等价类 (1)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。 (2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的 地方。
2.2.2 等价类划分法的测试运用
三角形问题可以更详细地描述为: 输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c 必须满足以下条件:
Con1.1≤a≤10 Con 3.1≤c≤100 Con 5.b<a+c Con 2.1≤b≤100 Con 4.a<b+c Con 6.c<a+b
如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一: ①.如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三 角形”。 ②.如果三条边相等,则程序输出为“等边三角形”。 ③.如果恰好有两条边相等,则程序输出为“等腰三角形”。 ④.如果三条边都不相等,则程序输出为“一般三角形”。
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。其基本观点是:任何程序 都可以看作是从输入定义域到输出值域的映射,这种观点将 被测程序看作一个打不开的黑盒,黑盒里面的内容(实现)是完 全不知道的,只知道软件要做什么。因无法看到盒子中的内 容,所以不知道软件是如何实现的,也不关心黑盒里面的结 构,只关心软件的输入数据和输出结果。
2.3.2边界值分析法的测试运用
2.加法器边界值测试用例设计 【例2.4】 加法器程序计算两个1~100之间整数的和。 对于加法器程序,根据输入要求可将输入空间划分为三个等 价类,即1个有效等价类(1~100之间),两个无效等价类( <1,>100)。但这种等价类划分不是很完善,我们只考虑了 输入数据的取值范围,而没有考虑输入数据的类型,我们认 为输入应为整数,但用户输入什么都有可能。
2.3.2边界值分析法的测试运用
为此,我们可综合考虑输入数据的取值范围和类型划分等价类, 其结果如下表所示。
加法器等价类
编号 Hale Waihona Puke Baidu 2 3 4
输入条件 1~100之间整数 <1整数 >100整数 小数
所属类别 有效等价类 无效等价类 无效等价类 无效等价类
编号 5 6 7 8
输入条件 所属类别 非数值(字母) 无效等价类 非数值(特殊字符) 无效等价类 非数值(空格) 无效等价类 非数值(空白) 无效等价类
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 输入数据 加数1 加数2 50 0.2 A 50 50 A @ 50 50 @ 空格 50 50 空格 50 50 预期输出 和 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.2.2 等价类划分法的测试运用
等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应 该是什么样的。因此,测试人员需要花费大量时间来定义这 些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测 试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产 物,那时这种无效输入的故障很常见。事实上,正是由于经 常出现这种错误,才促使人们使用强类型语言。
2.1黑盒测试的基本概念
黑盒测试着眼于软件的外部特征,通过上述方面的检测,确 定软件所实现的功能是否按照软件规格说明书的预期要求正 常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生 了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以 压缩项目总的开发时间。
同样,也可按照输出条件,将输出域划分为若干个等价类。
2.2.1等价类划分方法
3.等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试 用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的 有效等价类,重复这一步,直到测试用例覆盖了所有的有效 等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没 有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了 所有的无效等价类。
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分 (2)按数值划分 (3)按数值集合划分 (4)按限制条件或规则划分 (5)细分等价类
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表: 表2.1 等价类表
输入条件 有效等价类 无效等价类
2.2.2 等价类划分法的测试运用
2.保险公司人寿保险保费计算程序的等价类测试 【例2.2】 某保险公司人寿保险的保费计算方式为: 保费=投保额×保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.1黑盒测试的基本概念
穷举输入测试是不现实的。这就需要我们认真研究测试 方法,以便能开发出尽可能少的测试用例,发现尽可能多的 软件故障。 常用的黑盒测试方法有等价类划分、边界值分析、决策表 测试等,每种方法各有所长,我们应针对软件开发项目的具 体特点,选择合适的测试方法,有效地解决软件开发中的测 试问题。
2.1黑盒测试的基本概念
黑盒测试是从用户观点出发的测试,其目的是尽可能发 现软件的外部行为错误。在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作, 是否有功能遗漏; 检测是否有人机交互错误,是否有数据结构和外部数据库 访问错误,是否能恰当地接收数据并保持外部信息(如数 据库或文件)等的完整性; 检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。
2.3边界值分析法

大量的软件测试实践表明,故障往往出现在定义域或值域的 边界上,而不是在其内部。为检测边界附近的处理专门设计 测试用例,通常都会取得很好的测试效果。因此边界值分析 法是一种很实用的黑盒测试用例方法,它具有很强的发现故 障的能力。
2.3.1 边界值分析法
1.边界条件 边界是一些特殊情况。程序在处理大量中间数值时都是正 确,但是在边界处可能出现错误。边界条件就是软件计划 的操作界限所在的边缘条件。 一些可能与边界有关的数据类型有:数值,速度,字符, 地址,位置,尺寸,数量等。同时,考虑这些数据类型的 下述特征: 第一个/最后一个,最小值/最大值,开始/完成, 超过/在内,空/满,最短/最长,最慢/最快,最早/最迟 ,最高/最低,相邻/最远等。
2.3.1 边界值分析法
其实边界值和等价类密切相关,输入等价类和输出等价类 的边界是要着重测试的边界情况。在等价类的划分过程中产 生了许多等价类边界。边界是最容易出错的地方,所以,从 等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是, 选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测 试数据,而不是选取等价类中的典型值或任意值做为测试数 据。
2.3.2边界值分析法的测试运用
加法器边界测试用例
测试用例 Test1 Test 2 Test 3 Test 4 Test 5 Test 6 Test 7 Test 8 Test 9 Test 10 Test11 Test12 Test13 输入数据 加数1 加数2 1 50 2 50 99 50 100 50 50 1 50 2 50 99 50 100 0 50 50 0 101 50 50 101 0.2 50 预期输出 和 51 52 149 150 51 52 149 150 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数” 提示“请输入1~100间的整数”
2.3.1 边界值分析法
2.边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1 和x2在下列范围内取值: a≤x1≤b, c≤x2≤d 边界值分析利用输入变量的最小值(min),稍大于最 小值(min+),域内任意值(nom),稍小于最大值(max-), 最大值(max)来设计测试用例。即通过使所有变量取正常值, 只使一个变量分别去最小值,略高于最小值、略低于最大值 和最大值。
2.3.1 边界值分析法
x2 d
c
a
b
x1
图2.1 边界值分析测试用例
对于一个n变量的程序,边界值分析测试会产生4n+1个 测试用例。
2.3.1 边界值分析法
3. 健壮性边界值测试 健壮性测试是边界值分析的一种扩展。
变量除了取min,min+,nom,max-,max五个边界 值外,还要考虑采用一个略超过最大值(max+)以及一个略 小于最小值(min-)的取值,看看超过极限值时系统会出现什么 情况。
2.2 等价类划分

2.2.2 等价类划分法的测试运用 1.三角形问题的等价类测试 【例2.1】 三角形问题是软件测试文献中使用最广泛的一个 例子。输入三个整数a、b和c分别作为三角形的3条边,通过 程序判断由这3条边构成的三角形类型是:等边三角形、等腰 三角形、一般三角形或非三角形(不能构成一个三角形)。
2.3.1 边界值分析法
x2 d
c
a
图2.2 健壮性边界值测试用例
b
x1
健壮性边界值测试将产生6n+1个测试用例. 健壮性测试最有意义的部分不是输人,而是预期的输出,观察 例外情况如何处理。
2.3边界值分析法

2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计
边界值分析测试用例
相关文档
最新文档