软件测试技术基础-电子教案-苟英 第五章 黑盒测试

上传人:E**** 文档编号:89436959 上传时间:2019-05-25 格式:PPTX 页数:68 大小:450.40KB
返回 下载 相关 举报
软件测试技术基础-电子教案-苟英 第五章 黑盒测试_第1页
第1页 / 共68页
软件测试技术基础-电子教案-苟英 第五章 黑盒测试_第2页
第2页 / 共68页
软件测试技术基础-电子教案-苟英 第五章 黑盒测试_第3页
第3页 / 共68页
软件测试技术基础-电子教案-苟英 第五章 黑盒测试_第4页
第4页 / 共68页
软件测试技术基础-电子教案-苟英 第五章 黑盒测试_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《软件测试技术基础-电子教案-苟英 第五章 黑盒测试》由会员分享,可在线阅读,更多相关《软件测试技术基础-电子教案-苟英 第五章 黑盒测试(68页珍藏版)》请在金锄头文库上搜索。

1、第五章 黑盒测试,宁华 ,第五章 黑盒测试,本章重点: 什么是黑盒测试 黑盒测试的方法 什么是等价类划分法 什么是边界值分析法 什么是决策表法 什么是因果图法 什么是场景法,一、什么的黑盒测试,黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。,二、黑盒测试的方法分类,黑盒测试有两种基本方

2、法,即通过测试和失败测试。 具体的黑盒测试用例技术设计方法包括: 等价类划分法、 边界值分析法、 判定表驱动法(决策表法)、 场景法、 错误推测法、 因果图法、 正交试验设计法、 功能图法等。,三、等价类划分法,概述: 等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的需求和说明,即需求规格说明书。 由于穷举测试工作量太大,以致于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。 等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。 每一类的代表性数据在测试中的作用等价于这一类中的其他值

3、,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。 使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。,使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。 划分等价类的原则如下: 按区间划分 按数值划分 按数值集合划分 按限制条件或规则划分 可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据取得较好的测试结果。,等价类划分有两种不同的情况: 有效

4、等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类:与有效等价类的定义恰巧相反。,在确立了等价类之后,建立等价类表,列出所有划分出的等价类: 根据已列出的等价类表,按以下步骤确定测试用例: 1、为每个等价类规定一个唯一的编号; 2、设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 2、设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。,案例一,“一个程序读入3个整数,把这三个数值看作一个三角形的3

5、条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。” 解:三角形判断的分析 我们可以设三角形的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。,三角形等价类划分测试用例,等价类划分的分类,补充了解 针对是否对无效数据进行测试,可以将等价类测试分为: 标准等价类测试、 健壮等价类测试、 对等区间的划分。,练习题一,准考证号码 对招干考试系统“输入学生成绩”子模块设计测试用例。招干考试分三

6、个专业,准考证号第一位为专业代号,如: 1-行政专业, 2-法律专业, 3-财经专业。 行政专业准考证号码为:110001111215 法律专业准考证号码为:210001212006 财经专业准考证号码为:310001314015 请划分准考证号码的等价类。,练习题二,城市的电话号码由两部分组成。这两部分的名称和内容分别是: 1)地区码:以0开头的三位或者四位数字(包括0); 2)电话号码:以非0、非1开头的七位或者八位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,请使用等价分类法来设计它的测试用例。,四、边界值分析法,概述: 由测试工作的经验得知,大量的

7、错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 边界值分析法( BVA)是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。,边界值设计原则 对边界值设计测试用例,应遵循以下几条原则: 1、如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。 2、如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。 3、根据规格说

8、明的每个输出条件,使用前面的原则1。 4、根据规格说明的每个输出条件,应用前面的原则2。 5、如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。 6、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。 7、分析规格说明,找出其他可能的边界条件。,边界值分析法分类: 标准边界值分析 Min min+ nom max- max 健壮边界值分析 Min- (Min min+ nom max- max) Max+ 边界值分析的例子 0 = x =100 0 x 100,数值的边界值检验 计算机是基于二进制进行工作的

9、,因此,任何数值运算都有一定的范围限制,如表所示。 计算机数值运算的范围,例如对字节进行检验,边界值条件可以设置成254、255和256。,字符的边界值检验 在字符的编码方式中,ASCII是比较常见的编码方式,表中列出了一些简单的ASCII码对应表。 字符的ASCII码对应表,在做文本输入或者文本转换的测试过程中,需要非常清晰地了解ASCII码的一些基本对应关系,例如小写字母z和大写字母Z在表中的对应是不同的,这些也必须被考虑到数据区域划分的过程中,从而定义等价有效类,来设计测试用例。 其他边界值检验 包括默认值/空值/空格/未输入值/零、无效数据/不正确数据和干扰数据等。 在实际的测试用例设

10、计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和子边界值条件来设计有效的测试用例。,以三角形问题为例,要求输入三个整数a、b、c,分别作为三角形的三条边,取值范围在1100之间,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形(包括直角三角形)以及非三角形。如表所示给出了边界值分析测试用例。,练习题,设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用边界值分析法设计测试用例,来测试程序的“日期检查功能“。,五、决策表法,在一些数据处理问题中

11、,某些操作是否实施依赖于多个逻辑条件的取值。也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。处理这类问题的一个非常有力的分析和表达工具是决策表。 早在程序设计发展的初期,决策表就已被当作编写程序的辅助工具使用。由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既明确又得体,因而给编写者、检查者和读者均带来很大方便。 例:在翻开一本技术书的几页目录后,读者看到一张表,名为“本书阅读指南(图5-4)”。表的内容给读者指明了在读书过程中可能遇到的种种情况,以及作者针对各种情况给读者的建议。表中列举了读者读书时可能遇到的三个问题。若读者的回答是肯定的,标以字母“Y”;若回答是否定

12、的,标以字母“N”。三个判定条件,其取值的组合共有8种情况。该表为读者提供了4条建议,但并不需要每种情况都施行。这里把要实施的建议在相应栏内标以“X”,其它建议相应的栏内什么也不标。,1. 决策表法 在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表是分析和表达多个逻辑条件下执行不同操作情况的工具。由于决策表可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确,在程序设计发展的初期,决策表就已被当作编写程序的辅助工具了。 决策表通常由四个部分组成,如图5-5所示。 条件桩:列出了问题的所有条件,通常认为列出的条件的先后次序无关紧要。 动作桩:

13、列出了问题规定的可能采取的操作,这些操作的排列顺序没有约束。 条件项:针对条件桩给出的条件列出所有可能的取值。 动作项:与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。,图 决策表的组成,2.3.4决策表法,任何一个条件组合的特定取值及其相应要执行的操作称为一条规则,在决策表中贯穿条件项和动作项的一列就是一条规则。显然,决策表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。 根据软件规格说明,建立决策表的步骤如下: 确定规则的个数。假如有n个条件,每个条件有两个取值,故有2n种规则。 列出所有的条件桩和动作桩。 填入条件项。 填入动作项,得到初始决策表。 化简。

14、合并相似规则(相同动作)。,化简后的本书阅读指南判定表,从决策表可得测试用例是:,案例一,以下列问题为例给出构造决策表的具体过程。 问题要求:“ 对功率大于50马力的机器或维修记录不全且已运行10年以上的机器,应给予优先的维修处理 ”。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 1:确定规则的个数。有3个条件,8 种规则。 2:列出所有的条件桩和动作桩。 3:填入条件项。 4:填入动作项。得到初始判定表(图5-8)。 5:简化判定表(图5-9)。,初始判定表(图5-8),测试用例:,每种测试方法都有适用的范围,决策表法适用于下列情况: 1:规格说明以决策表形式给出,或

15、很容易转换成决策表。 2:条件的排列顺序不会也不应影响执行哪些操作。 3:规则的排列顺序不会也不应影响执行哪些操作。 4:每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。 5:如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。 决策表最突出的优点:是能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。运用决策表设计测试用例,可以将条件理解为输入,将动作理解为输出。,练习题一,以下列问题为例给出构造决策表的具体过程。 如果某产品销售好并且库存低,则增加该产品的生产;如果该产品销售好,但库存量不低,则继续生

16、产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,且库存量不低,则停止生产。,练习题二,以三角形问题为例,要求输入三个整数a、b、c,分别作为三角形的三条边,a,b,c的取值范围是1-100之间,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形(包括直角三角形)以及非三角形。,因果图法,1. 因果图法的概述 等价类划分方法和边界值分析方法着重考虑输入条件,而不考虑输入条件的各种组合,也不考虑输入条件之间的相互制约的关系,但有时一些具体问题中的输入之间存在着相互依赖的关系。 如果输入之间有关系,我们在测试时必须考虑输入条件的各种组合,那么可以考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图。 因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。 使用因果图法设计测试用例时,首先从程序规格说明书的描述中,找出因(输入条件)和果(输出结果或者程序状态的改变),然后通过因果图转换为判定表,最后为判定表中的每一列设计

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

最新文档


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

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