软件测试(黑盒测试)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3.1 边界值分析法
其实边界值和等价类密切相关,输入等价类和输出等价类 的边界是要着重测试的边界情况。在等价类的划分过程中产 生了许多等价类边界。边界是最容易出错的地方,所以,从 等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是, 选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测 试数据,而不是选取等价类中的典型值或任意值做为测试数 据。
2.1黑盒测试的方法
穷举输入测试是不现实的。
要用尽可能少的测试用例,发现尽可能多的软件 故障。 等价类划分、 边界值分析、 因果图法 决策表法
常用的黑盒测试方法有
2.2 等价类划分
等价类是指输入域的某个互不相交的子集合,所有等价类的 并集便是整个输入域。 等价类划分法是一种典型的黑盒测试方法,它完全不考虑程 序的内部结构,具体过程如下:
2.1黑盒测试的基本概念
黑盒测试是从用户观点出发的测试,其目的是尽可能发 现软件的外部行为错误。在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作, 是否有功能遗漏; 检测是否有人机交互错误,是否有数据结构和外部数据库 访问错误,是否能恰当地接收数据并保持外部信息(如数 据库或文件)等的完整性; 检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。
2.3.2边界值分析法的测试运用
为此,我们可综合考虑输入数据的取值范围和类型划分等价类, 其结果如下表所示。
加法器等价类
编号 1 2 3 4
输入条件 1~100之间整数 <1整数 >100整数 小数
所属类别 有效等价类 无效等价类 无效等价类 无效等价类
编号 5 6 7 8
输入条件 所属类别 非数值(字母) 无效等价类 非数值(特殊字符) 无效等价类 非数值(空格) 无效等价类 非数值(空白) 无效等价类
2.2.2 等价类划分法的测试运用
2.保险公司人寿保险保费计算程序的等价类测试 【例2.2】 某保险公司人寿保险的保费计算方式为: 保费=投保额×保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数 的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚 养人数,点数设定不同,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由投保人的年龄、性 别、婚姻状况和抚养人数来决定,具体规则见表2.5。
2.1黑盒测试的优点
黑盒测试着眼于软件的外部特征,确定软件所实现的功能是 否按照软件规格说明书的预期要求正常工作. 两个显著的优点: ① 黑盒测试与软件具体实现无关,所以如果软件实现发生 了变化,测试用例仍然可以使用; ② 设计黑盒测试用例可以和软件实现同时进行,因此可以 压缩项目总的开发时间。
2.3.1 边界值分析法
x2 d
c
a
图2.2 健壮性边界值测试用例
b
x1
健壮性边界值测试将产生6n+1个测试用例. 健壮性测试最有意义的部分不是输人,而是预期的输出,观察 例外情况如何处理。
2.3边界值分析法
2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计
边界值分析测试用例
(2)按数值划分
2.2.1等价类划分方法
2.常用的等价类划分原则 (3)按数值集合划分
例:一个学生只能选修软件工程或者软件测试课程 有效等价类:①选修软件工程或者软件测试 无效等价类:①其他任何课程 例:校内电话号码拨外线为9开头 有效等价类:① 9+外线号码 无效等价类:①非9开头+外线号码
3.测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试 用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的 有效等价类,重复这一步,直到测试用例覆盖了所有的有效 等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没 有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了 所有的无效等价类。
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.3边界值分析法
大量的软件测试实践表明,故障往往出现在定义域或值域的 边界上,而不是在其内部。 为检测边界附近的处理专门设计测试用例,通常都会取得很 好的测试效果。 因此边界值分析法是一种很实用的黑盒测试用例方法,它具 有很强的发现故障的能力。
2.3.1 边界值分析法
1.边界条件 边界是一些特殊情况。程序在处理大量中间数值时都是正 确,但是在边界处可能出现错误。边界条件就是软件计划 的操作界限所在的边缘条件。 一些可能与边界有关的数据类型有:数值,速度,字符, 地址,位置,尺寸,数量等。同时,考虑这些数据类型的 下述特征: 第一个/最后一个,最小值/最大值,开始/完成, 超过/在内,空/满,最短/最长,最慢/最快,最早/最迟 ,最高/最低,相邻/最远等。
2.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间的整数”
(4)按限制条件或规则划分
② 9+非外线号码,…
(5)细分等价类
2.2.1等价类划分方法
在确立了等价类之后,可按表2.1的形式列出所有划分出的等 价类表: 表2.1 等价类表
输入条件 有效等价类 无效等价类
同样,也可按照输出条件,将输出域划分为若干个等价类。
2.2.1等价类划分方法
根据程序规格说明书对输入范围进行划分 把所有可能的输入数据,即程序输入域划分为若 干个互不相交的子集,称为等价类, 然后从每个等价类中选取少数具有代表性的数据 作为测试用例,进行测试。
还需要枚举所有的输入吗??
2.2 等价类划分
2.2.1等价类划分方法
1.划分等价类 (1)有效等价类
测试用例 Baidu Nhomakorabeaest 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.3.1 边界值分析法
2.边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1 和x2在下列范围内取值: a≤x1≤b, c≤x2≤d 边界值分析利用输入变量的最小值(min),稍大于最 小值(min+),域内任意值(nom),稍小于最大值(max-), 最大值(max)来设计测试用例。即通过使所有变量取正常值, 只使一个变量分别去最小值,略高于最小值、略低于最大值 和最大值。
年龄
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 通过对规格说明输入数据的取值分析,可以得出保险公司人 寿保险保费计算程序的等价类。
2.2 等价类划分
2.2.2 等价类划分法的测试运用 1.三角形问题的等价类测试 【例2.1】 三角形问题是软件测试文献中使用最广泛的一个 例子。输入三个整数a、b和c分别作为三角形的3条边,且3条 边长度都在[1,100]之间,通过程序判断由这3条边构成的三角 形类型是:等边三角形、等腰三角形、一般三角形或非三角 形(不能构成一个三角形)。
2.2.2 等价类划分法的测试运用
三角形问题可以更详细地描述为: 输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c 必须满足以下条件:
Con1.1≤a≤100 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
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
输入
软件
输出 黑盒测试不深入代码细节
本章重点
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一: ①.如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三 角形”。 ②.如果三条边相等,则程序输出为“等边三角形”。 ③.如果恰好有两条边相等,则程序输出为“等腰三角形”。 ④.如果三条边都不相等,则程序输出为“一般三角形”。
检验程序是否实现了规格说明预先规定的功能和性能。 检查软件功能和性能的实现是否有不符合规格说明要求的地方。
(2)无效等价类
2.2.1等价类划分方法
2.常用的等价类划分原则 (1)按区间划分
例: 输入值是学生成绩,范围是0~100 有效等价类:①0≤成绩≤100 无效等价类:①成绩<0,②成绩>100 例:输入条件说明学历可为:专科、本科、硕士、博士四种之一 有效等价类:①专科、②本科、③硕士、④博士 无效等价类:①其它任何学历
2.3.2边界值分析法的测试运用
2.加法器边界值测试用例设计 【例2.4】 加法器程序计算两个1~100之间整数的和。 对于加法器程序,根据输入要求可将输入空间划分为三个等 价类,即1个有效等价类(1~100之间),两个无效等价类( <1,>100)。但这种等价类划分不是很完善,我们只考虑了 输入数据的取值范围,而没有考虑输入数据的类型,我们认 为输入应为整数,但用户输入什么都有可能。
2.2.2 等价类划分法的测试运用
等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应 该是什么样的。因此,测试人员需要花费大量时间来定义这 些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测 试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产 物,那时这种无效输入的故障很常见。事实上,正是由于经 常出现这种错误,才促使人们使用强类型语言。