测试用例设计——边界值分析法

在前面的测试用例设计——等价类划分法中,我们使用等价类划分法给两位数加法器设计了测试用例,但在测试过程中我们发现了一个问题。
在这里插入图片描述
为什么我们用等价类法设计的测试用例没有发现这个问题呢?查看一下代码,发现程序员粗心,边界条件设置错误了。
在这里插入图片描述
无数的测试实践表明,大量的故障往往发生在输入定义域或输出值域的边界上,而不是在其内部。因此,针对各种边界情况设计测试用例,通常可能会发现更多的bug。

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,是对等价类划分方法的补充。一般,我们在设计测试用例的时候,需要将等价类法和边界值法结合起来使用。

关于边界点,可以分为上点、内点和离点。如图:
在这里插入图片描述
上点:就是边界上的点,不管它是开区间还是闭区间,就是说,如果该点是封闭的,那上点就在值域范围内,如果该点是开放的,那上点就在值域范围外;
内点:就是在值域范围内的任意一个点;
离点:就是离上点最近的一个点,如果边界是封闭的,那离点就是值域范围外离上点最近的点,如果边界是开放的,那离点就是域范围内离上点最近的点。

使用边界值分析方法设计测试用例,首先应确定程序的边界情况。通常输入和输出等价类的边界,就是应该着重测试的边界情况。应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

边界值与等价类的区别在于:
1、边界值分析不是从某等价类中随便挑一个,而是把这个等价类的每个边界都作为测试条件
2、边界值分析不仅考虑输入条件,还要考虑输出结果产生的测试情况。

基于边界值分析方法选择测试用例的原则:
1、如果输入(输出)规定了值的范围,则应该以该范围的边界值及边界附近的值作为测试数据;如一个文本输入区域允许输入1个到255个字符,那么输入0个、1个、255个字符和256个字符做为边界条件值。
2、如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;如超市打折,买3件相同商品打7折,则2件、3件、4件商品做为边界条件值。
3、将规则1和2应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值;如某程序的规格说明要求计算出“每月保险金扣除额为0至1165.25元”,其边界值可取0.00及1165.24、还可取0.01及1165.26等。
4、如果需求规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;如下拉列表中可以对5个行政区域进行选择,可以选择第一个和最后一个。
5、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据;如对16-bit 的整数而言 32767 和 -32768 是边界。
6、分析规格说明,找出其它可能的边界条件。

根据以上边界值分析法的介绍,我们的两位数加法器还需要加上边界值的相关用例。
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值