4,5,6黑盒测试剖析

上传人:今*** 文档编号:107007318 上传时间:2019-10-17 格式:PPT 页数:99 大小:2.38MB
返回 下载 相关 举报
4,5,6黑盒测试剖析_第1页
第1页 / 共99页
4,5,6黑盒测试剖析_第2页
第2页 / 共99页
4,5,6黑盒测试剖析_第3页
第3页 / 共99页
4,5,6黑盒测试剖析_第4页
第4页 / 共99页
4,5,6黑盒测试剖析_第5页
第5页 / 共99页
点击查看更多>>
资源描述

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

1、3.2黑盒测试方法,黑盒测试方法,要点 黑盒测试概述 典型黑盒测试方法 黑盒法综合使用策略,一、黑盒测试概述,1、黑盒测试(黑箱测试/数据驱动测试/基于规格说明的测试):从用户角度出发,完全不考虑程序或软件内部逻辑结构和处理过程的情况下,根据软件的需求规格说明书设计测试用例,在程序或软件的界面上进行测试。,一、黑盒测试概述,2、黑盒测试的目的: (1)是否有不正确或遗漏了的功能; (2)能否正确地接受输入数据,能否产生正确的输出信息; (3)功能操作逻辑不合理; (4)界面是否出错,是否不美观; (5)安装过程中出现问题,安装步骤不清晰、不够方便和灵活。,一、黑盒测试概述,黑盒测试不能实现穷举

2、测试的原因 (1)在测试某功能时不可能对其所有输入值进行测试,更不可能对其所有输入取值组合进行测试。 (2)无法对需求规格说明书中未规定的潜在需求进行测试。 3、黑盒测试的对象:既可以是单个程序,也可以是模块集成过程中的多个临时版本和最终软件。,一、黑盒测试概述,4、黑盒测试的局限性: (1)黑盒测试是从程序的界面上进行的测试,有时难以查找出错误的具体原因和位置,还需要通过执行白盒测试来进行更细致的错误定位。 (2)黑盒测试的唯一依据是软件的需求规格说明书,它无法发现需求规格说明本身存在的问题,从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出所有的错误。

3、实际上测试情况是无穷多的,完全测试是不可能的。,二、典型黑盒测试方法,如何解决 必须将黑盒测试行为加以分类 1、节约测试实施的时间和资源 2、避免盲目测试、提高测试效率 3、使测试的实施重点突出、目的更明确,二、典型黑盒测试方法,二、典型黑盒测试方法,1、等价类划分法 2、边界值分析法 3、错误推测法 4、因果图法 5、判定表驱动法 6、正交试验设计法 7、功能图法(把软件分解为相对独立的功能单元),1、等价类划分法: 所谓等价划分,就是把所有可能的输入数 据划分为若干等价类,即子集,使每类中的任 何一个测试用例,都能代表同一等价类中的其 他测试用例。这样就把漫无边际的随机测试改 变为有针对性

4、的等价类测试,用少量有代表性 的例子代替大量测试目的相同的例子,能有效 地提高测试效率。 特点:代表性数据在测试活动中的作用等 价于这一类中其他的数据。,1、等价类划分法: (1)使用等价类划分法设计测试用例的唯一依据是:软件需求规格说明书。 (2)等价类分为:有效等价类和无效等价类。设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要经受意外的考验,这样的测试才能确保软件具有更高的可靠性。 (3)核心思想:按某种规则进行分类,然后从不同的类别中选择有代表性的操作或值进行测试,使用等价类划分法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。关键在于如何将

5、输入数据分类,即划分等价类。,1)划分等价类,有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合 利用它可以检验程序是否实现了预期的功能和性能 无效等价类 对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 利用它可以检验程序对于无效数据的处理能力,1) 划分等价类 从程序的功能说明(如需求说明书)找出每个输入条件(通常是一句话或一个短语),然后将每一个输入条件划分为两个或多个等价类,等价类表如表所示。,等价类表,划分等价类的原则1,在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100;,

6、划分等价类的原则:2,如果输入条件是一个布尔量(true或false) 的情况下,则可以确定一个有效等价类和一 个无效等价类 “真”和“假”各一,划分等价类的原则:3,在输入条件规定了输入值的集合或者规定了 “必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类;,划分等价类的原则:4,在规定了输入数据的一组值(假定n个),并 且程序要对每一个输入值分别处理的情况下, 可确立n个有效等价类和一个无效等价类。,在规定了输入数据必须遵守的规则的情况下, 可确立一个有效等价类(符合规则)和若干 个无效等价类(从不同角度违反规则);,划分等价类的原则:5,划分等价类的方法:,无效等价类1(用

7、户名少于4个字符、多于18个字符的) 无效等价类2(用户名包括#¥*等特殊字符的) 无效等价类3(用户名不以数字或者字母开头的) 无效等价类4(用户名包括空格的) 无效等价类5(用户名为空的),在确知已划分的等价类中各元素在程序处 理中的方式不同的情况下,则应再将该等价类 进一步的划分为更小的等价类。,划分等价类的原则:6,2) 确定测试用例 根据已划分的等价类,按以下步骤设计测试用例: (1) 为每一个等价类编号。 (2) 设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。,(3) 设计一个测试用例,使其只覆盖一个不合理等价类。重复这一

8、步,直到所有不合理等价类被覆盖。 之所以这样做,是因为某些程序中对某一输入错误的检查往往会屏蔽对其他输入错误的检查。因此必须针对每一个不合理等价类,分别设计测试用例。,某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息 系统日期规定由年、月的6位数字字符组成; 前四位代表年,后两位代表月;,等价类法设计测试用例实例 1,如何用等价类划分法来设计测试用例,以测试该程序的日期检查功能?,第一步:形成等价类表,“报表日期”输入条件的等价类表,第二步:为有效等价类设计测试用例,对表中编号为1

9、,2,3的三个有效等价类用一个测试用例覆盖:,第三步:为每一个无效等价类设至少设计一个测试用例,不能出现相同 的测试数据,本例的10个等价类 至少需要8个测试用例,有非数字字符 (4) 少于6个数字字符 (5) 多于6个数字字符 (6) 小于2003 (7) 大于2008 (8) 小于1 (9) 大于12 (10),注意:在7个不合理的测试用例中,不能出现相同的测试用例,否则相当于一个测试用例覆盖了一个以上不合理等价类,使程序测试不完全。 等价类划分法比随机选择测试用例要好得多,但这个方法的缺点是没有注意选择某些高效的、能够发现更多错误的测试用例。,等价类划分设计测试用例实例2 对某考试系统“

10、输入学生成绩”子模块设计测试录入准考证号的测试用例,准考证号数据格式定义:共6位数字组成,其中 第一位为专业代号:1-行政专业,2-法律专业,3-财经专业;后5位为考生顺序号,编码范围为: 行政专业准考证号码为:110001111215 法律专业准考证号码为:210001212006 财经专业准考证号码为:310001314015,有效等价类: (1) 110001 111215 (2) 210001 212006 (3) 310001 314015,无效等价类: (4) - 110000 (5) 111216 210000 (6) 212007 31000 (7) 314016 + ,准考证

11、号码的等价类划分,有效等价类? 无效等价类?,电话号码 某城市电话号码由三部分组成。它们的名称和内容分别是: 地区码:空白或三位数字; 前 缀:非0、非1开头的3位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。,测试用例?,等价类划分设计测试用例实例3,例三,等价类的划分,例三,等价类的划分,例三-测试用例的实现,2. 边界值分析 实践经验表明,程序往往在处理边界情况时发生错误。边界情况指输入等价类和输出等价类边界上的情况。因此检查边界情况的测试用例是比较高效的,可以查出更多的错误。

12、,例: 在做三角形设计时,要输入三角形的3个边长A, B和C。 这3个数值应当满足A0,B0,C0,A+BC,A+CB,B+CA,才能构成三角形。但如果把6个不等式中的任何一个“”错写成“”,那个不能构成三角形的问题恰好出现在容易被疏忽的边界附近。在选择测试用例时,选择边界附近的值就能发现被疏忽的问题。,使用边界值分析方法设计测试用例时,一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。,边界值分析设计原则: (1) 如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,

13、同时还要选择刚好越过边界值的数据作为不合理的测试用例。 如输入值的范围是1,100,可取0,1,100,101等值作为测试数据。,(2) 如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1及比最大个数多1等情况分别设计测试用例。 如一个输入文件可包括1255个记录,则分别设计有1个记录、255个记录,以及0个记录和256个记录的输入文件的测试用例。,(3) 对每个输出条件分别按照以上两个原则确定输出值的边界情况。 如一个学生成绩管理系统规定,只能查询9598级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩

14、的测试用例(不合理输出等价类)。,由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。 (4) 如果程序的需求说明给出的输入或输出域是个有序集合(如顺序文件、线性表和链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。,(5)如果程序中使用了一个内部数据结构,则 应当选择这个内部数据结构的边界上的值作为测试 用例。例如,如果程序中定义了一个数组,其元素 下标的下界是0,上界是100,那么应选择达到这个 数组下标边界的值,如0与100,作为测试用例。 (6)分析规格说明,找出其他可能的边界条件。,对上述

15、报表处理系统中的报表日期输入条件,以下用边界值分析设计测试用例。 程序中判断输入日期(年月)是否有效,假设使用如下语句: IF(ReportDate=MinDate) THEN 产生指定日期报表 ELSE 显示错误信息 ENDIF,如果将程序中的“=”误写为“”,则上例的等价类划分中所有测试用例都不能发现这一错误,采用边界值分析法的测试用例如表所示。,“报表日期”边界值分析法测试用例,显然采用这14个测试用例发现程序中的错误要更彻底一些。,应纳个人所得税税额 = 应纳税所得额适用税率-速算扣除数,边界条件类型,新手往往意识不到在一组给定的数据包含多少边界。以下是一些规律:,如果软件测试问题包含

16、确定的边界,那么数据类型可能是: 字符 数值 空间 速度 地址 尺寸 ,针对它们要考虑的特征: 第一个/最后一个 最小值/最大值 空/满 最慢/最快 相邻/最远 超过/在内 ,有一定编程经验和理工背景的人,会有看出边界点的本能倾向即找“特殊值”: 使分母为零;使根号下的表达式值为零; 使正切函数自变量为零;,边界条件处的软件缺陷最常见的问题是导致缓冲区溢出这是造成软件安全问题的主要原因,边界值分析法与等价类划分法的区别,边界值分析法不仅要考虑程序的输入空间,而且要根据输出空间设计测试用例,使用边界值分析方法设计测试用例,应对确定的边界,选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。即使这个等价类的每个边界值都要作为测试数据,特殊情况下的测试数据,默认值、空值、未输入值、零值,一种看起来很明显的软件缺陷是:当软件要求用户提供输入时(在文本框中),用户不是“没有输入正确的数据”,而是“根本没有输入任何内容”,却按

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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