1.黑盒测试的概念
黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
2.黑盒测试的特点
(1)对于更大的代码单元来说,比白盒测试效率要高;
(2)从用户角度更容易被理解;
(3)有助于暴露有歧义的问题;
(4)测试人员不需要了解软件内部的实现细节;
(5)不能控制内部的执行路径,可能有很多路径无法被测试到;
(6)不能直接针对某一程序段进行测试;
3. 黑盒测试的方法
3.1等价类划分方法
把程序的输入域划分成若干部分,然后从每个部分中选取一些代表性强的数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。
(1)有效等价类划分
有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类可以是一个,也可以是多个,根据系统的输入域划分若干部分,然后从每个部分中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。
(2)无效等价类划分
无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。
(3)等价类划分的方法
按区间划分:在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类。
按数值划分:在规定了输入数据的一组值中(假定有n个值),并且程序要对每个输入值分别处理的情况下,可以确定n个有效等价类和一个无效等价类。
按数值集合划分:在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类。
按限制条件或规划划分:在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类。
按处理方式划分:在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应将该等价类进一步地划分为更小的等价类。
(4)等价类划分的原则
依据常用的原则划分等价类
为每一个等价类规定唯一的编号
设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直到所有有效等价类都被覆盖为止。
设计一个新的测试用例,使其覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等类都被覆盖为止。
3.2 边界值分析方法
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
(1)边界值分析法的应用
根据大量的测试统计数据,很多错误是发生在输入或输出范围的边界上,而不是发生在输入/输出范围的中间区域。因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
(2)边界值分析法与等价值划分法的区别
边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
边界值分析法与等价类分析法的区别:
1、边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2、边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。入条件,还要考虑输出空间产生的测试情况。