写在前面
这是一个五分钟说测试专栏,旨在分享软件测试方面的知识,后续会不定期更新连载,大家多多关注~
一个范例
使用一个简单的加法函数作为边界值分析的一个例子,程序需求规格说明简单如下:
- 对于有效输入,函数返回x1与x2的和
- 对于无效输入,函数返回-1
边界值分析法
1.基本概念
边界值分析法是对输入或输出的边界值进行测试的一个黑盒测试方法,该方法是对等价类划分法的一个补充,其测试设计基于等价类划分法。基本思想是在最小值,略高于最小值,正常值,最大值,略低于最大值处取输入变量值,对系统进行验证。经验表明,大量的缺陷是发生在输入输出的边界值,而不是输入输出的范围值。
2.边界值分析法设计测试用例的原则
(1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值以及刚刚超过这个范围边界的值作为测试输入数据。
(2)如果输入条件规定了值的个数,则用最大个数、最小个数和比最大个数多1个、比最小个数少1个的数作为测试数据。
(3)根据程序规格说明的每个输出条件,使用原则(1)。
(4)根据程序规格说明的每个输出条件,使用原则(2)。
(5)如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合中的第一个和最后一个元素作为测试用例。
(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
(7)分析程序规格说明,找出其它可能的边界条件。
3.边界值分析法设计步骤
3.1确定输入条件和边界点
找到每个输入条件的边界点,即可得到边界
加法函数中有两个输入条件:
(1)1
x1可以确定两个边界点(1和200),比边界点小一点的值(0和199),比边界点大一点的值(2和201),最后x1输入条件确认有6个测试数据:0,1,2,199,200,201
(2)50
x2可以确定两个边界点(50和300),比边界点小一点的值(49和299),比边界点大一点的值(51和301),最后x2输入条件确认有6个测试数据:49,50,51,299,300,301
3.2设计测试用例
基于单边界原则设计测试用例,即每个边界点及领域测试数据设计测试用例,比如:x1边界点1,领域数据为0和2,可以设计3条测试用例,上述输入条件有4个边界点,共可设计以下12条测试用例
编 | x1 | x2 | 预期输出 |
1 |
0 | 200 | -1 |
2 |
1 |
200 | 201 |
3 | 2 | 200 | 202 |
4 | 199 | 200 | 399 |
5 | 200 | 200 | 400 |
6 | 201 | 200 | -1 |
7 | 100 | 49 | -1 |
8 | 100 | 50 | 150 |
9 | 100 | 51 | 151 |
10 | 100 | 299 | 399 |
11 | 100 | 300 | 400 |
12 | 100 | 301 | -1 |
4.输出结果的边界值分析
基本概念中提到,边界值分析法是对输入或输出的边界值进行测试的一个黑盒测试方法,那么下面我举例说明如何对输出进行边界值分析
举例来说,某测试团队的绩效考核有以下规则:
- 发现一个High缺陷权重为3
- 发现一个Middle缺陷权重为2
- 发现一个Low缺陷权重为1
总得分[0,60)绩效为C,总得分[60,80)绩效为B,总得分[80,100]绩效为A,假设总得分超过100当做无效
4.1确定输出结果和边界点
可以确定4个输出结果绩效ABC和无效,同时可以确定4个边界点分别为:0,60,80,100
基于单边界值设计原则,可以设计11个边界值:0,1,59,60,61,79,80,81,99,100,101
4.2设计测试用例
输入值可以随意组合,只要达到输出结果
编 | Low(1) | M(2) | High(3) | 得分 | 预计输出 |
1 | 0 | 0 | 0 | 0 | C |
2 | 1 | 0 | 0 | 1 | C |
3 | 10 | 20 | 3 | 59 | C |
4 | 11 | 20 | 3 | 60 | B |
5 | 12 | 20 | 3 | 61 | B |
6 | 30 | 20 | 3 | 79 | B |
7 | 31 | 20 | 3 | 80 | A |
8 | 32 | 20 | 3 | 81 | A |
9 | 0 | 0 | 33 | 99 | A |
10 | 1 | 0 | 33 | 100 | A |
11 | 2 | 0 | 33 | 101 | 无效 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!