第章黑盒测试.ppt
《第章黑盒测试.ppt》由会员分享,可在线阅读,更多相关《第章黑盒测试.ppt(96页珍藏版)》请在三一文库上搜索。
1、第2章 黑盒测试,黑盒测试是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具,并通过实例介绍各种方法的运用。,第2章 黑盒测试,2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍,2.1黑盒测试的基本概念,黑盒测试是从一种从软件外部对软件实施的测试,也称功能测试或基于规格说明的测试。 其基本观点是:任何程序都可以看作是从输入定义域到输出值域的映射,这种观点将被测程序看作一个打不开的黑盒,黑
2、盒里面的内容(实现)是完全不知道的,只知道软件要做什么。因无法看到盒子中的内容,所以不知道软件是如何实现的,也不关心黑盒里面的结构,只关心软件的输入数据和输出结果。,2.1黑盒测试的基本概念,黑盒测试是从用户观点出发的测试,其目的是尽可能发现软件的外部行为错误。在已知软件产品功能的基础上, 检测软件功能能否按照需求规格说明书的规定正常工作,是否有功能遗漏; 检测是否有人机交互错误,是否有数据结构和外部数据库访问错误,是否能恰当地接收数据并保持外部信息(如数据库或文件)等的完整性; 检测行为、性能等特性是否满足要求等; 检测程序初始化和终止方面的错误等。,2.1黑盒测试的基本概念,黑盒测试着眼于
3、软件的外部特征,通过上述方面的检测,确定软件所实现的功能是否按照软件规格说明书的预期要求正常工作. 两个显著的优点: 黑盒测试与软件具体实现无关,所以如果软件实现发生了变化,测试用例仍然可以使用; 设计黑盒测试用例可以和软件实现同时进行,因此可以压缩项目总的开发时间。,2.1黑盒测试的基本概念,穷举输入测试是不现实的。这就需要我们认真研究测试方法,以便能开发出尽可能少的测试用例,发现尽可能多的软件故障。 常用的黑盒测试方法有等价类划分、边界值分析、决策表测试等,每种方法各有所长,我们应针对软件开发项目的具体特点,选择合适的测试方法,有效地解决软件开发中的测试问题。,2.2 等价类划分,等价类划
4、分法是一种典型的黑盒测试方法,它完全不考虑程序的内部结构,只根据程序规格说明书对输入范围进行划分,把所有可能的输入数据,即程序输入域划分为若干个互不相交的子集,称为等价类,然后从每个等价类中选取少数具有代表性的数据作为测试用例,进行测试。,2.2 等价类划分,2.2.1等价类划分方法 所谓等价类是指输入域的某个互不相交的子集合, 所有等价类的并便是整个输入域。 划分等价类+测试用例设计,无冗余性,完备性,1划分等价类 等价类是输入域的某个子集,在该子集中,各个输入数据对于揭露程序中的错误是等效的。测试某等价类的代表值就等价于对这一类其他的值进行测试。 (1)有效等价类 检验程序是否实现了规格说
5、明预先规定的功能和性能。 即对于规格说明来说,是合理的、有意义的输入数据构成的集合。 (2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的地方。 即对于规格说明来说,是不合理的、没有意义的输入数据构成的集合。,2.2.1等价类划分方法,2常用的等价类划分原则 (1)按区间划分 如果输入条件规定了取值范围或值的个数,则可以确定一个有效等价类和两个无效等价类; 例如,在规格说明中,对输入条件有一句话:“项数可以从1到99”,则有效等价类是_,两个无效等价类是 _和_.在数轴上表示成:,项数1,项数999,1项数999,(2)按数值划分 如果规格说明规定了一组输入数据,而且程序要对每
6、个输入值分别进行处理,则可为每一个输入值确立一个有效等价类,针对这组值确立一个无效等价类,即所以不允许输入值的集合。,(3)按数值集合划分 如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确定一个有效等价类和一个无效等价类。 例如,在C语言中对变量标识符的规定为“以字母打头的”。那么所有以字母打头的构成一个有效等价类,而不在此集合内的构成一个无效等价类。,(4)按限制条件或规则划分 如果规定了输入数据和须遵守的规则或限制条件,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 (5)细分等价类 等价类中的各个无素在程序中的处理若不相同,则可将此
7、等价类进一步划分成更小的等价类。,2.2.1等价类划分方法,在确立了等价类之后,可按表2.1的形式列出所有划分出的等价类表: 表2.1 等价类表 同样,也可按照输出条件,将输出域划分为若干个等价类。,2.2.1等价类划分方法,3等价类划分测试用例设计 在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下: (1)为每个等价类规定一个唯一的编号。 (2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。 (3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这
8、一步,直至测试用例覆盖了所有的无效等价类。,2.2.2 等价类划分法的测试运用 1. NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。 例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: 1month12 1day31 1812year2012,1)有效等价类为: M1月份:1月份12 D1日期:1日期31 Y1年:1812年2012 2)若条件 中任何一个条件失效,则 NextDate 函数都会产生一个输出,指明相应的变量超出
9、取值范围,比如 “month 的值不在 1-12 范围当中 “ 。显然还存在着大量的 year 、 month 、 day 的无效组合, NextDate 函数将这些组合作统一的输出: “ 无效输入日期 “ 。其无效等价类为: M2月份:月份12 D2日期:日期31 Y2年:年2012,弱一般等价类测试用例 月份 日期 年 预期输出 6 15 1912 1912年6月16日 强一般等价类测试用例同弱一般等价类测试用例 注:弱-有单缺陷假设;健壮-考虑了无效值 (一)弱健壮等价类测试 用例ID 月份 日期 年 预期输出 WR1 6 15 1912 1912年6月16日 WR2 -1 15 191
10、2 月份不在112中 WR3 13 15 1912 月份不在112中 WR4 6 -1 1912 日期不在131中 WR5 6 32 1912 日期不在131中 WR6 6 15 1811 年份不在18122012中 WR7 6 15 2013 年份不在18122012中,(二)强健壮等价类测试 用例ID 月份 日期 年 预期输出 SR1 -1 15 1912 月份不在112中 SR2 6 -1 1912 日期不在131中 SR3 6 15 1811 年份不在18122012中 SR4 -1 -1 1912 两个无效一个有效 SR5 6 -1 1811 两个无效一个有效 SR6 -1 15 1
11、811 两个无效一个有效 SR7 -1 -1 1811 三个无效,2三角形问题的等价类测试,测试场景: 一个程序读入3个整数,把这三个数值看作一个三角形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。,确定输入数据与三角形形状的关系: 设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足: A0,B0,C0,且A+BC,B+CA,A+CB; 如果是等腰的,还要判断A=B,或B=C,或A=C; 如果是等边的,则需判断是否A=B,且B=C,且A=C。,3.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月2
12、049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能“。,1)划分等价类并编号,下表等价类划分的结果,2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为、,设计的测试用例如下: 测试数据 期望结果 覆盖的有效等价类 200211 输入有效 、 3)为每一个无效等价类设计一个测试用例,设计结果如下: 测试数据 期望结果 覆盖的无效等价类 95June 无效输入 20036 无效输入 2001006 无效输入 198912 无效输入 209901 无效输入 200100 无效输入 20011
13、3 无效输入 ,2.2.2 等价类划分法的测试运用,4保险公司人寿保险保费计算程序的等价类测试 某保险公司人寿保险的保费计算方式为: 保费投保额保险费率 其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则见表2.5。,2.2.2 等价类划分法的测试运用,分析程序规格说明中给出和隐含的对输入数据的要求,可以得出: 年龄:一位或两位非零整数,取值的有效范围为199。 性别:一位英文字符,只能取
14、M或F 值。 婚姻:字符,只能取已婚或未婚。 抚养人数:空白或字符无或一位非零整数(19) 点数 :一位或两位非零整数,取值范围为819 通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险保费计算程序的等价类。,2.2.2 等价类划分法的测试运用,等价类测试存在两个问题: 一是规格说明往往没有定义无效测试用例的期望输出应该是什么样的。因此,测试人员需要花费大量时间来定义这些测试用例的期望输出。 二是强类型语言没有必要考虑无效输入。传统等价类测试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产物,那时这种无效输入的故障很常见。事实上,正是由于经常出现这种错误,才促使人们使用强
15、类型语言。,2.3边界值分析法,大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。,2.3.1 边界值分析法,1边界条件 边界是一些特殊情况。程序在处理大量中间数值时都是正确,但是在边界处可能出现错误。边界条件就是软件计划的操作界限所在的边缘条件。 一些可能与边界有关的数据类型有:数值,速度,字符,地址,位置,尺寸,数量等。同时,考虑这些数据类型的下述特征: 第一个/最后一个,最小值最大值,开始完成,超过/在内,空满,最短最长,
16、最慢/最快,最早/最迟,最高最低,相邻最远等。,2.3.1 边界值分析法,其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。 在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,2.3.1 边界值分析法,2边界值分析测试 这里讨论一个有两个变量x1和x2的程序P。假设输入变量x1和x2在下列范围内取值: ax1b, cx2d 边界值分析利用输入变量
17、的最小值(min),稍大于最小值(min+),域内任意值(nom),稍小于最大值(max-),最大值(max)来设计测试用例。即通过使所有变量取正常值,只使一个变量分别去最小值,略高于最小值、略低于最大值和最大值。,2.3.1 边界值分析法,对于一个n变量的程序,边界值分析测试会产生 个测试用例。,4n+1,2.3.1 边界值分析法,3. 健壮性边界值测试 健壮性测试是边界值分析的一种扩展。 变量除了取min,min,nom,max,max五个边界值外,还要考虑采用一个略超过最大值(max+)以及一个略小于最小值(min-)的取值,看看超过极限值时系统会出现什么情况。,2.3.1 边界值分析法
18、,健壮性边界值测试将产生 个测试用例. 健壮性测试最有意义的部分不是输入,而是预期的输出,观察例外情况如何处理。,6n+1,边界值分析 1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。 例:测试计算平方根的函数 -输入:实数 -输出:实数 -规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0“并返回0;库函数Print-Line可以用来输出错误信息。,2)等价类划分: I.可以考虑作出如下划分: a、输入(i)=0 b、输出(a)=0
19、和(b) Error II.测试用例有两个: a、输入4,输出2。对应于(ii)和(a)。 b、输入-10,输出0和错误提示。对应于(i)和(b)。,3)边界值分析: 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入最小负实数 b、输入绝对值很小的负数 c、输入0 d、输入绝对值很小的正数 e、输入最大正实数,2.3边界值分析法,2.3.2边界值分析法的测试运用 1. 三角形问题的边界值分析测试用例设计 边界值分析测试用例,2.3.2边界值分析法的测试运用,2加法器边界值测试用例设计 加法器程序计算两个1100之间整数的和。 对于加法器程序
20、,根据输入要求可将输入空间划分为三个等价类,即1个有效等价类(1100之间),两个无效等价类(100)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。,2.3.2边界值分析法的测试运用,为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。 加法器等价类,2.3.2边界值分析法的测试运用,加法器边界测试用例,2.3.2边界值分析法的测试运用,加法器边界测试用例,2.3.2边界值分析法的测试运用,应用边界值分析法进行测试用例设计时,应遵循以下一些原则: (1)如果输入条件对取值范围进行了限定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试
链接地址:https://www.31doc.com/p-2566200.html