文档详情

软件测试技术(第三版) 课件 第3章 黑盒测试方法.pptx

发布:2025-02-24约3.47千字共52页下载文档
文本预览下载声明

;;黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。

;黑盒测试主要用于发现以下情况:

①是否有不正确或遗漏了的功能

②在接口上,能否正确地接受输入数据,能否产生正确地输出信息

③访问外部信息是否有错

④性能上是否满足要求

⑤界面是否错误,是否不美观

⑥初始化或终止错误

;黑盒测试主要优势:

比较简单,不需要了解程序内部的代码及实现;

与软件的内部实现无关;

从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

在做软件自动化测试时较为方便。

;边界值分析(Boundary-ValueAnalysis);;无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常会取得很好的测试效果。

如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

;边界在哪里?

边界点就是可能到达被测系统内部处理机制发生变化的点

需求中有利于识别边界点的文字:

位置、尺寸、数量、长度、速度、宽度、高度、距离、质量、时间。。。;数值的边界值

;字符的边界值

;特殊边界值

;如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。

如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试数据。

如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。

分析规格说明,找出其他可能的边界条件。;边界值分析法利用输入变量的最小值(min)、略大于最小值(min+)、输入值域内的任意值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。

;确定边界情况,根据边界值集合完成迪卡尔积(基于“单缺陷”假设)

;除了变量的5个边界分析取值还要考虑略超过最大值(max+)和略小于最小值(min-)时的情况

;最坏情况假设拒绝了“单缺陷”假设,它对每一个输入变量首先进行包含最小值、略高于最小值、正常值、略低于最大值、最大值五个元素集合的测试,然后对这些集合进行笛卡尔积计算,以此来看系统的反应。

;健壮最坏情况测试是最坏情况测试的扩展,这种测试使用健壮性测试的七个元素集合的笛卡儿积,将会产生7n个测试用例。;边界值覆盖率=(执行的边界值的数量/总的边界值的数量)*100%

边界值分析的局限性

测试用例不充分

不能发现测试变量之间的依赖关系

不考虑含义和性质,没有利用理解和想象;;;划分(PartitioningDomains)

等价类(EquivalenceClass)

指定义在集合A上的关系,满足自反的、对称的和传递的等性质。设R是定义在集合A上的等价关系,与A中一个元素a有关系的所有元素的集合叫做a的等价类。;有效等价类

是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。

利用它可以检验程序是否实现了预期的功能和性能(确认过程)。

无效等价类

是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。

利用它可以检验程序对于无效数据的处理能力(验证过程)。;如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如:

数据范围是1~50

有效等价类为“=1=50”

两个无效等价类为“1”和“50”;如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:

测试密码域,要求密码必须是数字或字母

有效等价类为“密码是数字和字母的组合”(还可以细分)

无效等价类为“密码包括中文”、“密码包括其它符号”等

;;弱一般

弱健壮

强一般

强健壮;步骤

a)分析输入输出

b)划分出有效等价类和无效等价类,建立等价类表,每一个等价类分别规定一个唯一的编号

c)设计一个新的测试用例,使它能够尽量覆盖尚未覆盖的有效等价类。重复这个步骤,直到所有的有效等价类均被测试用例所覆盖。

d)设计一个新的测试用例,使它仅覆盖一个尚未覆盖的无效等价类。重复这一步骤,直到所有的无效等价类均被测试用例所覆盖。;1. 等价类测试的弱形式不如对应的强形式的测试全面。

2. 如果实现语言是强类型,则没有必要使用健壮形式的测试。

3. 如果错误条件非常重要,则进行健壮形式的测试是合适的。

4.如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当然也适

显示全部
相似文档