上一节讲到了黑盒测试中的等价分类,这一节继续总结黑盒测试又一经典测试方法——边界值分析法,其实边界值测试不是专属于黑盒测试,在白盒测试中也会用到边界值测试。
边界值测试其实就是测试程序的各种边界值,边界值测试是等价分类的推广,在实际测试中,在测试程序的边界时,往往可以测试出很多缺陷,所以两种方法要结合使用,才能更好的满足程序的测试需求。边界值测试分为两部分:
对于输入测试,大家也许可以理解,但是对于输出测试,大家可能理解起来有点困难了,说再多的道理不如举几个例子来说明道理,下面就和大家一起看下面的具体实例。
问题一:某超市出售某品牌的高级盒装酸奶,现就元旦佳节开展促销活动,该超市将按照顾客购买量进行不同力度的促销,具体促销方案如下:
分析:我们能够考虑到的边界值是1,10,20,30,因为问题中已经详细给出了边界条件,其实我们应该还要考虑的边界值还有0,9,19,29,31和无限大,具体测试用例如下:
问题二:某保险公司人寿保险的保费计算方式为:
1.保险费=投保额*保险费
2.其中,保险费率根据投保人年龄、性别、婚姻状况和抚养人数的不同而有所不用,体现在不同的上述条件下对应的点数设定不同,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1,具体规则见下表:
分析:本例需要考虑的边界值比较多。不仅需要考虑输入边界,还要考虑输出边界。其中输入边界有可以分为年龄边界和抚养人数边界,点数可以作为输出边界。
其中,年龄边界有:0 1 19 20 39 40 59 60 90 100 无穷大
抚养人数边界:0 1 6 7 9 10 无穷大
点数:9 10 11
下面是一位老师总结的边界值分析的原则:
1.如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。
2.如果输入条件规定了值的个数,则用最大个数,最小个数和比最大个数多一个,比最小个数少一个的数作为测试数据。
3.如果程序的规格说明给出输入域或输出域是有序集合,则应选取集合中的第一个和最后一个元素作为测试用例。
4.如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。
当然原则还有好多,边界值分析的最根本的理论就是刚好大于最大值,或者刚好小于最小值。抓住这个基本点,将问题逐个分类,才是做好边界值测试的基本出发点。
这一节结束,下一节将总结错误推测法,敬请关注!谢谢!