黑盒测试用例设计方法

黑盒测试的概念

什么是黑盒测试 ?

黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试

黑盒测试主要测试的错误类型有:

① 不正确或遗漏的功能;
② 接口、界面错误;
③ 性能错误;
④ 数据结构或外部数据访问错误;
⑤ 初始化或终止条件错误等等。

黑盒测试方法

等价类划分方法 (重点)
边界值分析方法 (重点)
判定表驱动分析方法 (重点)
场景法 (重点)
错误推测方法 (了解)
组合法 (了解)
因果图方法 (可忽略)
正交试验设计方法 (可忽略)

等价类划分法

划分等价类:

不考虑程序的内部结构,测试人员要对需求规格说明书的功能需求进行细致分析,然后把程序的输入域划分成若干部分,从每个部分中选取少数代表性数据当作测试用例。经过这种划分后,每一类的代表性数据在测试中的作用都等价于这一类中的其他值。

等价类的分为有效等价类和无效等价类

等价类测试的重要意义:

提供了完备性;
保证了无冗余性;

有效等价类

合理的、有意义的输入数据构成的集合

无效等价类

不合理的、无意义的输入数据构成的集合。用来检查程序中功能的实现是否不符合规格说明要求

确定测试用例
根据等价类来设计测试用例,其过程如下:
(1)为每个等价类规定一个唯一的编号

(2) 设计一个新的测试用例,使其尽可能多地覆盖未被覆盖的有效等价类,此项工作重复进行,直到所有的有效等价类都被覆盖为止。(为了工作的高效)

(3) 设计一个新的测试用例,使其覆盖一个(而且仅仅一个)尚未被覆盖的无效等价类,此项工作重复进行,直到所有的无效等价类都被覆盖为止。(避免出错)

确定等价类的原则:
1、如果输入条件规定了取值范围,或者是值的个数,则可以确立一个有效等价类和两个无效等价类。

例如:… 序号值可以从 1到999…
一个有效等价类:1< 序号值 < 999两个无效等价类:序号值 <1
序号值 >999

2、如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类

例如: 在 C 语言中对变量标识符规定为 “以字母打头的串#所有以字母打头的构成为有效等价i… …类; 而不在此集合内(不以字母打头)归于无价等价。

3、如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类

4、如果规定了输入数据是一组值,而且程序要对每个输入值分别进行处理。这时可为每一个输入值确立一一个有效等价类此外再针对这组确立一个无效等价类,它应是所有不允许输入值的集合

5、如果规定了输入数据必须遵守的规则,则可以确定一个有效等价类(符合规则),和若千个无效等价类(从不同角度违反则)

边界值

人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
边界值分析关注的是输入空间的边界:
边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输人变量值:
边界值分析基于一种关键假设,在可靠性理论叫做“单缺陷”假设。

决策表

决策表法是黑盒测试方法中最为严格、最具有逻辑性的测试方法。

能够将复杂的问题按照各种可能的情况全部列举出来简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。
条件桩一列出问题的所有条件
条件项一针对条件桩给出的条件列出所有可能的取值动作桩一列出问题规定的可能采取的操作
动作项一指出在条件项的各组取值情况下应采取的动作

场景法

场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程。

当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程是否正确实现,这就需要使用场景法来完成测试。当业务流程测试没有问题,也就是该软件的主要功能没有问题时我们再重点从边界值、等价类等方面对控件进行测试在冒烟测试时也主要采用场景法进行测试

基本流
按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)

备选流
导致程序出现错误的操作流程 (模拟错误的操作流程)

错误推测法

错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法

错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

例如,在单元测试时曾列出的许多在模块中常见的错误,以前产品测试中曾经发现的错误等,这些就是经验的总结

输入数据和输出数据为 0的情况,输入表格为空格或输入表格只有一行·这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

小结

测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常重要的,在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效提高测试水平

以下是各和测试方法选择的综合策略,可在实际应用中参考。

1.首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效方法。

2.在任何情况下都必须使用边界值分析方法。经验表明用这种方法设计出测试用例发现程序错误的能力最强

3.用错误推测法再追加一些测试用例。

4.如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用决策表法

5.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。

6.对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程在案例中综合使用各种测试方法。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值