黑盒测试用例的设计:等价类划分与边界值分析

本文介绍了黑盒测试的基本概念,重点讲解了等价类划分和边界值分析两种测试用例设计方法。通过示例说明了如何在不同场景下应用这些方法,并对比了两者的差异,强调了边界值分析对于捕获错误的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.    白盒测试:对程序内部代码结构的测试

       黑盒测试:对程序外部表现出来的行为的测试

           用于检查代码的功能,不关心内部实现细节。

           即检查程序是否符合规约。

           下面介绍用例设计的两种方法:

            等价类划分与边界值分析。

2.    等价类划分

定义:基于等价类划分的测试,将被测函数的输入域划分为等价类,从等价类中导出测试用例。

针对每个输入数据需要满足的约束条件,划分等价类 

每个等价类代表着对输入约束加以满足/违反的有效/无效数据的集合 。

基于的假设:相似的输入,将会展示相似的行为,故从每个等价类中选一个代表作为测试用例即可。

实例:

对BigInteger.multiply()进行等价类划分测试:

每个BigInteger可划分为七部分:


从7部分中自由选择a,b,出现的等价类有49个


对max()进行等价类划分测试:

max:int X int ->int

而划分只有三种:


因此划分如下:


只需每个等价类中选取一个用例:


3.    边界值分析

大量的错误发生在输入域的“边界”而非中央,

而边界值分析方法是对等价类划分方法的补充。

边界可能发现:

程序员经常犯一些大小差1的错误 

某些边界值是“特殊情况”,需要特殊处理

程序的行为在边界的地方可能发生“突变”。

在进行边界值分析时,不仅要考虑边界,还要考虑边界的两侧。


等价类划分与边界值分析的差异:


例如上面的max(),进行边界值划分:


若全覆盖,就要在多个划分维度上多个取值进行组合,每个组合都要有一个用例。

需要3X5X5=75个用例。

若覆盖每个取值,至少覆盖一次即可,我们就可以选取5个用例:







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值