概述
首先,我们要对什么是黑盒测试及其目标形成认识,这里提及的黑盒测试从宏观角度上看,它面向的是软件,更确切的说它面向的是工作在产品上的软件,这些软件可能是看得见的(如手机上的一个APP)也可能是看不见的(如玩具遥控车);从微观角度上来看,它面向的是软件规格说明书,这份说明书应该完整的描述了软件行为,具体来讲,包括软件有些什么输入,经过运算和处理后会产生什么输出,也包括操作的逻辑,不同的操作逻辑下软件会表现出什么行为(如顺序执行、逆序执行)等,所以,由此抽象出来的测试又被称为输入/输出驱动的测试或数据驱动的测试,也就是我们所说的黑盒测试。
明白了什么是黑盒测试,自然而然,我们就能知道黑盒测试的目标是什么,其目标是找出程序中不符合规格说明书的地方或发现不符合规范的软件行为,软件规范必须要在软件规格说明书中作出详细而又正确的描述。
等价划分思想的产生
第一,我们不得不接受一个现实,那就是程序的输入集是非常庞大的,任何尝试穷尽输入集中的所有数据来驱动测试都是费力不讨好的,其效率太低,比如三角形测试,试想所有能构成一个三角形的三个整数组合是多么大,再说还有不能构成一个三角形的三个整数组合,可以说这个输入集是无穷的,“穷举输入测试”是不可用的。
第二,我们需要考虑测试投入产出比,即通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。
等价划分思想至少是基于以上两点考虑,一方面,它通过对程序输入或输出做等价划分减少测试用例,另一方面它通过在等价数据区间中选取典型值来设计测试用例以达到测试的效果。
于是,等价划分方法确定输入/输出子集时形成了两个特性
第一,严格控制测试用例的增加,减少为达到“合理测试”的既定目标而必须设计的其他测试用例的数量。这要求每个测试用例都必须体现尽可能多的不同的输入情况。
第二,它覆盖了大部分其他可能的测试用例。它会告诉我们,用或不用这个特定的输入/输出集合,哪些错误会被发现,哪些会被遗漏掉。
用等价划分方法设计测试用例
第一步:确定等价类,并用一个表格将它们管理起来,形式如下:
外部条件 | 有效等价类 | 无效等价类 |
摘自于规格说明书 | 代表对程序的有效输入 | 不正确的输入(任何可能的输入条件) |
在确定等价类时,有一些有帮助性的指导原则,如下:
第二步:生成测试用例
一个范例
接下来,我们用一个实例演示如何运用等价划分方法来设计测试用例。
程序规格说明:输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形、等边三角形时,分别做计算。
第一步:确定等价类,把等价类用一个表格管理起来,如下
输入条件 | 有效等价类 | 无效等价类 |
输入值的集合 | 整数 | 一边为非整数;两边为非整数;三边为非整数 |
输入值的个数 | 3个数 | 给出一个边;给出两个边;给超过3个边 |
输入值的范围 | 正数 | 一边 声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
下一篇:煮饺子的时间技巧 煮饺子几分钟
相关文章 |