第二章软件测试技术(黑盒)

上传人:共*** 文档编号:101570636 上传时间:2019-09-28 格式:PPT 页数:76 大小:6.31MB
返回 下载 相关 举报
第二章软件测试技术(黑盒)_第1页
第1页 / 共76页
第二章软件测试技术(黑盒)_第2页
第2页 / 共76页
第二章软件测试技术(黑盒)_第3页
第3页 / 共76页
第二章软件测试技术(黑盒)_第4页
第4页 / 共76页
第二章软件测试技术(黑盒)_第5页
第5页 / 共76页
点击查看更多>>
资源描述

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

1、,第二章 软件测试技术,沈阳师范大学软件学院,1,软件工程系,本章内容,白盒测试技术 黑盒测试技术,沈阳师范大学软件学院,2,本节内容,2.2 黑盒测试技术 2.2.1 边界值分析法 2.2.2 等价类分析法 2.2.3 因果图分析法 2.2.4 决策表分析法,沈阳师范大学软件学院,3,2.2.1 边界值分析法,黑盒测试概述 任何程序都可看作是将从输入定义域取值映射到输出值域的函数,不考虑程序内部的逻辑结构和特性,只根据软件的规格需求说明书,观察程序的入口和出口,是否符合功能说明;对于一些外购软件、参数化软件包,因无法得到源程序,只能用黑盒测试。,沈阳师范大学软件学院,4,2.2.1 边界值分

2、析法,边界值概念 从根本上讲,任何程序都可看作是一个函数,它从一个集合(函数的定义域,即程序的输入)的值映射到另一个集合(函数的值域,即程序的输出)的值上。,沈阳师范大学软件学院,5,输入定义域测试,应把需求规格说明中对输入和对输出的要求区别开来并加以分解,2.2.1 边界值分析法,边界值产生的原因 从长期的测试工作经验获得,由于在软件设计和程序编写中,常对规格说明中的输入或输出域边界不注意,导致大量错误发生在输入或输出范围的边界上,而非输入或输出范围的内部。 设计测试用例时,对边界附近的处理必须给予足够重视,为检验边界附件的处理专门设计测试用例常可取得良好的测试效果。 基本思想:选择输入或输

3、出变量的极值、略低于或略高于极值设计测试用例。,沈阳师范大学软件学院,6,2.2.1 边界值分析法,边界选择的原则 输入条件规定了取值范围,则以该范围作为边界 输入条件规定了值的个数,则以之为边界; 针对规格说明的每个输出条件,使用前面的原则(1)和(2); 如果规格说明给出的输入或输出域是有序集合(如有序表、顺序文件等),则选取集合中特定次序的元素作为边界,如第一个、最后一个元素等; 如果程序中使用了一个内部数据结构,则应选择该结构的边界上的值,如数组、链表等; 分析规格说明,找出其它可能边界条件。,7,沈阳师范大学软件学院,2.2.1 边界值分析法,常见的边界值 对16-bit 的整数而言

4、 32767 和 -32768 是边界 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次,沈阳师范大学软件学院,8,2.2.1 边界值分析法,例题 测试计算平方根的函数 输入:实数 输出:实数 规格说明: 当输入一个0或比0大的数的时候,返回其正平方根; 当输入一个小于0的数时,显示错误信息“平方根非法-输入值小于0”并返回0; 库函数Print-Line可以用来输出错误信息。,沈阳师范大学软件学院,9,2.2.1 边界值分析法,解题 可以考虑作出如下划分: 输入 (i)=0 输出 (a)=0 和 (b)

5、 Error 测试用例有两个: 输入4,输出2。对应于(ii)和(a)。 输入-10,输出错误提示。对应于(i)和(b)。,沈阳师范大学软件学院,10,2.2.1 边界值分析法,边界值分析: 划分(ii)的边界为0和最大正实数; 划分(i)的边界为最小负实数和0; 由此得到以下测试用例: 输入 最小负实数 输入 绝对值很小的负数 输入 0 输入 绝对值很小的正数 输入 最大正实数,沈阳师范大学软件学院,11,2.2.1 边界值分析法,边界值分析: 通常字符情况下,软件测试包含的边界检验有几种类型: 数字位置、质量、大小、速度、方位、尺寸、空间等 相应地,以上类型的边界值应该在: 最大/最小、首

6、位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。,沈阳师范大学软件学院,12,2.2.1 边界值分析法,边界值分析: 在多数情况下,边界值条件是基于应用程序的功能设计而需 要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用 户可以很容易发现问题的。 然而,在测试用例设计过程中,某些边界值条件是不需要呈 现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴 内的边界条件,称为内部边界值条件或子边界值条件。,沈阳师范大学软件学院,13,2.2.1 边界值分析法,内部边界值条件主要有下面几种: 数值的边界值检验 字符的边界值检验 其它边界值检验,沈阳师范大学软件

7、学院,14,2.2.1 边界值分析法,数值的边界值检验: 计算机是基于二进制进行工作的,因此,软件的任何 数值运算都有一定的范围限制。,沈阳师范大学软件学院,15,2.2.1 边界值分析法,字符的边界值检验: 在字符的编码方式中,ASCII和Unicode是比较常见的编码方式 ,下面表中列出了部分的ASCII码对应表。,沈阳师范大学软件学院,16,2.2.1 边界值分析法,沈阳师范大学软件学院,17,2.2.1 边界值分析法,其它边界值检验: 包括默认值/空值/空格/未输入值/零、无效数据/不正确数据和 干扰数据等。在实际的测试用例设计中,需要将基本的软件设计要求 和程序定义的要求结合起来,即

8、结合基本边界值条件和子边界值条 件来设计有效的测试用例。,沈阳师范大学软件学院,18,2.2.1 边界值分析法,边界值测试方法: 故障往往出现在输入变量的边界值附近。利用输入变量的 最小值(min) 略大于最小值(min+)、 输入值域内的任意值(nom)、 略小于最大值(max-)和 最大值(max) 来设计测试用例。,沈阳师范大学软件学院,19,2.2.1 边界值分析法,边界值测试方法:,沈阳师范大学软件学院,20,边界值分析测试用例,2.2.1 边界值分析法,边界值测试方法: 边界值分析法是基于可靠性理论中称为“单故障”的假设,即有 两个或两个以上故障同时出现而导致软件失效的情况很少,也

9、就是 说,软件失效基本上是由单故障引起的。 因此,在边界值分析法中获取测试用例的方法是: 每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-和max。 对程序中的每个变量重复 (1) 。,沈阳师范大学软件学院,21,2.2.1 边界值分析法,例题: 有二元函数f(x,y),其中x1,12,y1,31。 则采用边界值分析法设计的测试用例是: , , , , , , , , 推论:对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。,沈阳师范大学软件学院,22,2.2.1 边界值分析法,练习: 有函数f(x,y,z),其中x

10、1900,2100,y1,12,z1,31的。 请写出该函数采用边界值分析法设计的测试用例。,沈阳师范大学软件学院,23,2.2.1 边界值分析法,健壮性测试: 健壮性测试是作为边界值分析的一个简单的扩充,它除了对变量的5个边界值分析取值外,还需要增加一个略大于最大值(max+)以及略小于最小值(min-)的取值,检查超过极限值时系统的情况。 因此,对于有n个变量的函数采用健壮性测试需要6n+1个测试用例。,沈阳师范大学软件学院,24,2.2.1 边界值分析法,健壮性测试:,沈阳师范大学软件学院,25,健壮性边界值测试用例,2.2.2 等价类分析法,等价类产生的原因: 基本思想:把程序的输入域

11、划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其它值。,沈阳师范大学软件学院,26,划分,选择代表元素,输入域,互不相交的子集,子集的并是整个集合,完备性,无冗余,2.2.2 等价类分析法,等价类定义 由于不可能用所有可以输入的数据来测试程序,而只能从全部可供输入的数据中选择一个自己进行测试。如何选择适当的子集,使其尽可能多地发现错误,解决的办法之一就是等价类。,沈阳师范大学软件学院,27,2.2.2 等价类分析法,划分 等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类

12、。然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。,沈阳师范大学软件学院,28,2.2.2 等价类分析法,等价类划分的步骤 通过分析需求规格说明,划分等价类,列出等价类表 设计测试用例,沈阳师范大学软件学院,29,2.2.2 等价类分析法,有效等价类/无效等价类 有效等价类:对于程序的规格说明而言,是合理的、有意义的输入数据构成的集合 用于检验程序是否实现了规格说明预先规定的性能和性能 无效等价类:对于程序的规格说明而言,是不合理的、无意义的输入数据构成的集合 用于检查程序中功能和性能的实现是否不符

13、合规格说明要求,沈阳师范大学软件学院,30,2.2.2 等价类分析法,例题 在程序的规格说明中,对输入条件有一句话:“ 项数可以从1到999 ” 有效等价类是“1项数999” 两个无效等价类是“项数1”或“项数999”。在数轴上表示成:,沈阳师范大学软件学院,31,2.2.2 等价类分析法,测试用例的设计 为每个等价类规定一个唯一的编号; 设计一个新的测试用例,使之尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步直至所有的有效等价类都被覆盖为止; 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步直至所有的无效等价类都被覆盖为止。,沈阳师范大学软件学院,32,2.2.2 等

14、价类分析法,例题 某报表处理系统要求用户输入处理报表的日期,日期限制在2001年1月至2005年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例, 来测试程序的日期检查功能?,沈阳师范大学软件学院,33,2.2.2 等价类分析法,解答 第一步:等价类划分 “报表日期”输入条件的等价类表,沈阳师范大学软件学院,34,2.2.2 等价类分析法,解答 第二步:为有效等价类设计测试用例 对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖:,沈阳师范大学软件学院

15、,35,2.2.2 等价类分析法,解答 第三步:为每一个无效等价类设计至少一个测试用例,沈阳师范大学软件学院,36,2.2.2 等价类分析法,习题一 某程序规定:“输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算.”。试用等价类划分方法为该程序的构成三角形部分进行测试用例设计。,沈阳师范大学软件学院,37,2.2.2 等价类分析法,习题二 某城市的电话号码由三部分组成。这三部分的名称和内容分别是 地区码:空白或三位数字; 前 缀:非0或1开头的三位数; 后 缀:四位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号

16、码,试用等价分类法来设计它的调试用例。,沈阳师范大学软件学院,38,2.2.3 因果图分析法,因果法(Cause/Effect Graphing)简介 因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。 这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。,沈阳师范大学软件学院,39,2.2.3 因果图分析法,因果法(Cause/Effect Graphing)简介 如果在测试时必须考虑输入条件的各种组合,则可能的组合 数目将是天文数字 因此必须考虑采用一种适合于描述多种条件的组合、相应产 生多个动作的形式来进行测试用例的设计,这就需要利用因果 图(逻辑模型)。,沈阳师范大学软件学院,40,2.2.3 因果图分析法,因果法(Cause/Effect Graphing)简介 思想: 一些程序的功能可以

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

当前位置:首页 > 大杂烩/其它

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