软件测试(黑盒测试)

上传人:ji****n 文档编号:54365997 上传时间:2018-09-11 格式:PPT 页数:68 大小:1.53MB
返回 下载 相关 举报
软件测试(黑盒测试)_第1页
第1页 / 共68页
软件测试(黑盒测试)_第2页
第2页 / 共68页
软件测试(黑盒测试)_第3页
第3页 / 共68页
软件测试(黑盒测试)_第4页
第4页 / 共68页
软件测试(黑盒测试)_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《软件测试(黑盒测试)》由会员分享,可在线阅读,更多相关《软件测试(黑盒测试)(68页珍藏版)》请在金锄头文库上搜索。

1、第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)有效等价类 检验程序是否实现了规格说明预先规定的功能和性能。 (2)无效等价类 检查软件功能和性能的实现是否有不符合规格说明要求的地方。,2.2.1等价类划分方法,2常用的等价类划分原则 (1)按区间划分 例: 输入值是学生成绩,范围是0100 有效等价类:0成绩100 无效等价类:成绩100 (2)按数值划分 例:输入条件说明学历可为:专科、本科、

5、硕士、博士四种之一 有效等价类:专科、本科、硕士、博士 无效等价类:其它任何学历,2.2.1等价类划分方法,2常用的等价类划分原则 (3)按数值集合划分 例:一个学生只能选修软件工程或者软件测试课程 有效等价类:选修软件工程或者软件测试 无效等价类:其他任何课程 (4)按限制条件或规则划分 例:校内电话号码拨外线为9开头 有效等价类: 9外线号码 无效等价类:非9开头外线号码 9非外线号码, (5)细分等价类,2.2.1等价类划分方法,在确立了等价类之后,可按表2.1的形式列出所有划分出的等价类表:表2.1 等价类表同样,也可按照输出条件,将输出域划分为若干个等价类。,2.2.1等价类划分方法

6、,3测试用例设计在设计测试用例时应同时考虑有效等价类和无效等价类测试用例的设计。根据等价类表设计测试用例,具体步骤如下:(1)为每个等价类规定一个唯一的编号。(2) 设计一个新的测试用例,尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到测试用例覆盖了所有的有效等价类。(3) 设计一个新的测试用例,使其覆盖并且只覆盖一个还没有被覆盖的无效等价类。重复这一步,直至测试用例覆盖了所有的无效等价类。,2.2 等价类划分,2.2.2 等价类划分法的测试运用三角形问题的等价类测试【例21】 三角形问题是软件测试文献中使用最广泛的一个例子。输入三个整数a、b和c分别作为三角形的3条边,且3条边长度都在

7、1,100之间,通过程序判断由这3条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成一个三角形)。,2.2.2 等价类划分法的测试运用,三角形问题可以更详细地描述为:输入3个整数a、b和c分别作为三角形的三条边,要求a、b和c必须满足以下条件:Con11a100 Con 21b100Con 31c100 Con 4ab+cCon 5ba+c Con 6ca+b,如果a、b和c满足Con1、Con2和Con3,则输出为4种情况之一: 如果不满足条件Con 4、Con 5和Con 6中有一个,则程序输出为“非三角形”。 如果三条边相等,则程序输出为“等边三角形”。 如果

8、恰好有两条边相等,则程序输出为“等腰三角形”。 如果三条边都不相等,则程序输出为“一般三角形”。,2.2.2 等价类划分法的测试运用,2保险公司人寿保险保费计算程序的等价类测试 【例22】 某保险公司人寿保险的保费计算方式为:保费投保额保险费率其中,保险费率根据年龄、性别、婚姻状况和抚养人数的不同而有所不同,体现在不同年龄、性别、婚姻状况和抚养人数,点数设定不同,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则见表2.5。,2.2.2 等价类划分法的测试运用,分析程序规格说明中给出和隐含的对输入数据的要求,可

9、以得出: 年龄:一位或两位非零整数,取值的有效范围为199。 性别:一位英文字符,只能取 M或F 值。 婚姻:字符,只能取已婚或未婚。 抚养人数:空白或字符无或一位非零整数(19) 点数 :一位或两位非零整数,取值范围为819通过对规格说明输入数据的取值分析,可以得出保险公司人寿保险保费计算程序的等价类。,2.2.2 等价类划分法的测试运用,等价类测试存在两个问题:一是规格说明往往没有定义无效测试用例的期望输出应该是什么样的。因此,测试人员需要花费大量时间来定义这些测试用例的期望输出。二是强类型语言没有必要考虑无效输入。传统等价类测试是诸如FORTRAN和COBOL这样的语言占统治地位年代的产

10、物,那时这种无效输入的故障很常见。事实上,正是由于经常出现这种错误,才促使人们使用强类型语言。,2.3边界值分析法,大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部。 为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。 因此边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。,2.3.1 边界值分析法,1边界条件 边界是一些特殊情况。程序在处理大量中间数值时都是正确,但是在边界处可能出现错误。边界条件就是软件计划的操作界限所在的边缘条件。 一些可能与边界有关的数据类型有:数值,速度,字符,地址,位置,尺寸,数量等。同时,考虑这些数据

11、类型的下述特征:第一个/最后一个,最小值最大值,开始完成,超过/在内,空满,最短最长,最慢/最快,最早/最迟,最高最低,相邻最远等。,2.3.1 边界值分析法,其实边界值和等价类密切相关,输入等价类和输出等价类的边界是要着重测试的边界情况。在等价类的划分过程中产生了许多等价类边界。边界是最容易出错的地方,所以,从等价类中选取测试数据时应该关注边界值。在等价类划分基础上进行边界值分析测试的基本思想是,选取正好等于、刚刚大于或刚刚小于等价类边界的值作为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。,2.3.1 边界值分析法,2边界值分析测试这里讨论一个有两个变量x1和x2的程序P。假设

12、输入变量x1和x2在下列范围内取值:ax1b, cx2d边界值分析利用输入变量的最小值(min),稍大于最小值(min+),域内任意值(nom),稍小于最大值(max-),最大值(max)来设计测试用例。即通过使所有变量取正常值,只使一个变量分别去最小值,略高于最小值、略低于最大值和最大值。,2.3.1 边界值分析法,对于一个n变量的程序,边界值分析测试会产生4n+1个测试用例。,2.3.1 边界值分析法,3. 健壮性边界值测试健壮性测试是边界值分析的一种扩展。变量除了取min,min,nom,max,max五个边界值外,还要考虑采用一个略超过最大值(max+)以及一个略小于最小值(min-)

13、的取值,看看超过极限值时系统会出现什么情况。,2.3.1 边界值分析法,健壮性边界值测试将产生6n+1个测试用例.健壮性测试最有意义的部分不是输人,而是预期的输出,观察例外情况如何处理。,2.3边界值分析法,2.3.2边界值分析法的测试运用1. 三角形问题的边界值分析测试用例设计边界值分析测试用例,2.3.2边界值分析法的测试运用,2加法器边界值测试用例设计 【例24】 加法器程序计算两个1100之间整数的和。对于加法器程序,根据输入要求可将输入空间划分为三个等价类,即1个有效等价类(1100之间),两个无效等价类(100)。但这种等价类划分不是很完善,我们只考虑了输入数据的取值范围,而没有考

14、虑输入数据的类型,我们认为输入应为整数,但用户输入什么都有可能。,2.3.2边界值分析法的测试运用,为此,我们可综合考虑输入数据的取值范围和类型划分等价类,其结果如下表所示。加法器等价类,2.3.2边界值分析法的测试运用,加法器边界测试用例,2.3.2边界值分析法的测试运用,加法器边界测试用例,2.3.2边界值分析法的测试运用,应用边界值分析法进行测试用例设计时,应遵循以下一些原则: (1)如果输入条件对取值范围进行了限定,则应以边界内部以及刚超出范围边界外的值作为测试用例。 (2)如果对取值的个数进行了界定,则应分别以最大、稍小于最大、稍大于最大、最小、稍小于最小、稍大于最小个数作为测试用例

15、。 (3)对于输出条件,同样可以应用上面提到的两条原则来进行测试用例设计。 (4)如果程序规格说明书中指明输入或者输出域是一个有序的集合,如顺序文件、表格等,则应注意选取有序集合中的第一个和最后一个元素作为测试用例。,2.4 因果图法,等价类划分法和边界值分析方法都是着重考虑输入条件,如果程序输入之间没有什么联系,采用等价类划分和边界值分析是一种比较有效的方法。但如果输入之间有关系,例如,约束关系、组合关系,这种关系用等价类划分和边界值分析是很难描述的,测试效果难以保障,因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法,因果图正是在此背景下提出的。,2.4 因果图法

16、,2.4.1 因果图法的原理1因果图,2.4.1 因果图法的原理,2.4.1 因果图法的原理,2因果图法测试用例的设计步骤: (1)确定软件规格中的原因和结果。分析规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)确定原因和结果之间的逻辑关系。分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。 (3)确定因果图中的各个约束。由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表设计测试用例。,2.4 因果图法,2.4.2 因果图法的测试运用 某软件规格说明书规定:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号