APP下载

黑盒测试用例设计方法及综合应用

2018-09-20林勤花

电子测试 2018年17期
关键词:边界值黑盒学号

林勤花

(四川信息职业技术学院,四川广元,628017)

1 测试用例

测试用例是为特定的目标设计的一组测试输入、执行条件和预期结果的集合,以便测试某个程序路径或核实是否满足某个特定需求。一个好的测试用例应该具备下列几个特征:(1)清晰定义了一个或多个预期结果。(2)应该容易发现软件错误。(3)可重复使用。(4)没有冗余。

2 黑盒测试用例设计常用方法

在本文中,将使用学生信息的添加功能为例为进行介绍。学生信息添加页面和学生的数据结构如图2、表1所示。

表1 “学生”数据结构

图1 常用的黑盒测试用例设计方法

图2 添加学生信息页面

2.1 等价类划分法

等价类划分法是根据程序的I/O特性,将程序的定义域划分为有限个等价区段-----“等价类”,根据各个等价类来选择数据,即“用例”。使用等价类划分法设计的用例更有代表性、针对性。按等价类划分法,将学生信息各字段划分为如表2所示的等价类。

表2 学生信息的等价类表

列出等价类表后,选择测试数据的原则是:1.使一个测试用例尽可能多的覆盖尚未覆盖到的有效等价类,直至所有有效等价类全部覆盖到;2.使一个测试用例只覆盖尚未覆盖到的无效等价类,直至所有的无效等价类全部覆盖到。按上述原则,要覆盖到表2中所有等价类至少需要17个测试用例,其中1个覆盖所有有效等价类,剩余16个用来覆盖无效等价类。

2.2 边界值分析法

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。比如学号字段“小于7位的字符串”这个无效等价类我们就在边界上取值,取刚好小于7位的字符串“180101”作为测试数据。

2.3 场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法一般包括1个基本流和N个备选流。在“新增”学生信息这个事件的基本流为:输入正确的学号、输入正确的姓名、选择性别、输入正确的邮箱地址、输入正确的手机号码,然后单击新增按钮。备选流会有很多个,如学号为空、学号长度不是7位、学号重复,当学号出错后,其他字段其实不需要再添加。

当我们单纯采用等价类设计测试用例时,采用的数据可以如表3所示。

表3 按等价类设计测试用例

按等价类设计,每个测试用例都是6个步骤,把所有数据输入完成后再单击新增按钮。其实当学号为空时,其他字段填写了也是无效了。如果字段少还可以忍受,但当一个实体的字段多达几十个时,还是把所有字段都填写,那将浪费大量的时间。我们可以借助于场景法来设计测试用例。

表4 按场景法设计测试用例

3 综合应用多种方法设计测试用例

在实际高水平的测试工作中,往往需要综合使用多种方法来提高测试效率和测试覆盖率。黑盒测试用例设计方法选择策略可参考如下几条:(1)首先进行等价类划分,将无限测试可能变成有限测试;(2)在任何情况下,都使用边界值分析法;(3)对业务流清晰的系统,可利用场景法贯穿整个测试。

综合使用等价类划分法、边界值分析法和场景法设计添加学生信息页面的部分测试用例如表5所示。

表5 综合应用各种方法设计测试用例

4 总结

软件黑盒测试用例设计方法有很多种,针对某个具体的功能点,使用单一的设计方法往往无法覆盖到所有类型的缺陷。因此在实际测试工作中需要综合使用多种测试方法,形成测试策略,这样对一个功能点的测试才能比较充分。

猜你喜欢

边界值黑盒学号
一种基于局部平均有限差分的黑盒对抗攻击方法
如何设计好的测试用例
巧用洛必达法则速解函数边界值例读
我们来打牌
尝试亲历的过程,感受探究的快乐
学生学号的妙用
与56号说再见
一类带有Dirichlet边界值条件的椭圆型方程正解的存在性
序半群中有边界值的直觉模糊理想