第三章 黑盒测试及其用例的设计
- 格式:ppt
- 大小:642.00 KB
- 文档页数:53


黑盒测试用例设计案例(判三角形)【例1】假设现有以下的三角形分类程序。
该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。
如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。
图9.11显示了该程序的流程图和程序图。
为以上的三角形分类程序设计一组测试用例。
【解】第一步:确定测试策略。
在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;(2)识别等边三角形;(3)识别等腰三角形;(4)识别任意三角形。
因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。
第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。
等价分类法:有效等价类输入3个正整数:(1)3数相等(2)3数中有2个数相等,比如AB相等(3)3数中有2个数相等,比如BC相等(4)3数中有2个数相等,比如AC相等(5)3数均不相等(6)2数之和不大于第3数,比如最大数是A(7)2数之和不大于第3数,比如最大数是B(8)2数之和不大于第3数,比如最大数是C无效等价类:(9)含有零数据(10)含有负整数(11)少于3个整数(12)含有非整数(13)含有非数字符边界值法:(14)2数之和等于第3数猜错法:(15)输入3个零(16)输入3个负数第三步:提出一组初步的测试用例,如下表所示:第四步:用白盒法验证第三步产生的测试用例的充分性。
结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。
黑盒测试及测试用例设计方法黑盒测试定义什么是黑盒测试?黑盒测试就是测试人员把软件产品(可阶段性产品)看做是一个黑盒。
在测试过程中测试人员只需关心对这个软件黑盒操作会得到什么样的结果,而不必深入地去了解它的内部实现机制所进行的测试活动。
例如:在Windows的命令行中输入字符串dir就可以得到当前目录下的子目录及文件的列表。
而输入tasklist后就得到一张正在系统中运行的任务的列表。
在以上操作中不必去考虑命令行解析器会如何解析输入的字符串,也不必考虑系统如何获取我们想要的信息并如何把他显示在屏幕上,这就是黑盒处理机制。
我们只关心输入(input)的和想要得到的输出(output)。
如果在初始条件确定的情况下的一组确定的输入经过软件产品这个黑盒进行处理后并没有得到期望的结果(expected result)时,则说明此时就发现了一个软件的缺陷(defect)。
为什么要做黑盒测试?验证(verity):软件产品是否符合需求文档的设计(IEEE 1983 of IEEE Standard 729)证实(validate):软件产品符合最终用户的需求(IEEE 1983 of IEEE Standard 729)把dir输入到其它软件(如计算器)可能毫无意义,但在Windows命令行中被解析为获取当前目录下的子目录及文件的列表,并且在初始条件确定的情况下将得到可预测的输出。
这样的输出在软件测试阶段通常被定义下来以保证开发人员编写的程序有章可循。
这下是软件测试的目的之一:验证(verity)软件产品是否符合需求文档的设计。
黑盒测试中,测试人员只按业务逻辑测试而不需要考虑内部实现。
这就很好地模拟了终端用户的行为。
然而终端用户的行为并不会都在软件需求文档中定义(例如黑客攻击)。
我们可以尽量模拟终端用户对产品网站进行攻击。
这样的测试既可以是预先定义好的,也可以是随机的(adhoc test)。
像这样的模拟终端用户操作对产品进行的测试活动就是在履行软件测试的另一个目的:证实(validate)软件产品符合最终用户的需求。