软件测试技术(第三版) 课件 第3章 黑盒测试方法.pptx
;;黑盒测试被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。
;黑盒测试主要用于发现以下情况:
①是否有不正确或遗漏了的功能
②在接口上,能否正确地接受输入数据,能否产生正确地输出信息
③访问外部信息是否有错
④性能上是否满足要求
⑤界面是否错误,是否不美观
⑥初始化或终止错误
;黑盒测试主要优势:
比较简单,不需要了解程序内部的代码及实现;
与软件的内部实现无关;
从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
在做软件自动化测试时较为方便。
;边界值分析(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.如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当然也适