题目描述:
最近两个小节,我们学习了通过等价类法、边界值法来设计测试用例,那么大家可以来比较一下这两种方法有什么样的相同点和不同点?思考一下设计测试用例时候怎样综合运用这两种方法。并且把上一小节中的三角形用例设计作业用边界值的方法增补一些用例,把你的思考、想法和答案写下来,与老师和其他小伙伴们共同交流。
备注:
-
边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
-
边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
三角形举例:
- 划分有效等价类和无效等价类
输入条件 | 有效等价类 | 无效等价类 |
---|---|---|
是否能构成三角形的三条边 | 1≤a≤100 (1) 1≤b≤100 (2) 1≤c≤100 (3) a<b+ c (4) b<a+ c (5) c<a+ b (6) | (a<1)(7) (a>100) (21) (b<1)(8) (b>100) (22) (c<1)(9) (c>100) (23) a>=b+ c (10) b>=a+ c (11) c>=a+ b (12) |
是否为等腰三角形 | a=b (13) b=c (14) c=a (15) | (a!=b)and(b!=c)and(c!=a) (16) |
是否为等边三角形 | (a=b)and(b=c)and(c=a) (17) | (a!=b) (18) (b!=c) (19) (c!=a) (20) |
- 设计有效等价类的测试用例
序号 | 测试用例(a,b,c) | 预期输出 | 覆盖等价类 | 实际输出 |
---|---|---|---|---|
1 | 3,4,5 | 一般三角形 | 1,2,3,4,5,6 | |
2 | 3,3,4 | 等腰三角形 | 1,2,3,4,5,6,13 | |
3 | 3,4,3 | 等腰三角形 | 1,2,3,4,5,6,15 | |
4 | 4,3,3 | 等腰三角形 | 1,2,3,4,5,6,14 | |
5 | 3,3,3 | 等边三角形 | 1, 2,3,4,5,6,17 |
- 设计无效等价类的测试用例
序号 | 测试用例(a,b,c) | 预期输出 | 覆盖等价类 | 实际输出 |
---|---|---|---|---|
1 | 0,1,2 | 边的取值超出允许范围 | 7 | |
2 | 101,1,2 | 边的取值超出允许范围 | 21 | |
3 | 1,2,0 | 边的取值超出允许范围 | 9 | |
4 | 1,2,101 | 边的取值超出允许范围 | 23 | |
5 | 1,0,2 | 边的取值超出允许范围 | 8 | |
6 | 1,101,2 | 边的取值超出允许范围 | 22 | |
7 | 2,1,1 | 非三角形 | 10 | |
8 | 1,2,1 | 非三角形 | 11 | |
9 | 1,1,2 | 非三角形 | 12 | |
10 | 3,4,5 | 非等腰三角形 | 16 | |
11 | 4,3,3 | 非等边三角形 | 18 | |
12 | 3,4,3 | 非等边三角形 | 19 | |
13 | 3,3,4 | 非等边三角形 | 20 | |
14 | ,,, | 无效等价类 | ||
15 | 1,2, | 无效等价类 | ||
16 | 1,, | 无效等价类 | ||
17 | @,1,2 | 无效等价类 | ||
18 | S,1,2 | 无效等价类 |
- 边界值分析
序号 | 测试用例(a,b,c) | 预期输出 | 覆盖等价类 | 实际输出 |
---|---|---|---|---|
1 | 0,1,2 | 边的取值超出允许范围 | 7 | |
2 | 101,1,2 | 边的取值超出允许范围 | 21 | |
3 | 1,2,0 | 边的取值超出允许范围 | 9 | |
4 | 1,2,101 | 边的取值超出允许范围 | 23 | |
5 | 1,0,2 | 边的取值超出允许范围 | 8 | |
6 | 1,101,2 | 边的取值超出允许范围 | 22 | |
7 | 1,100,100 | 等腰三角形 | 1,2,3 | |
8 | 2,100,99 | 一般三角形 | 2 | |
9 | 3,3,1 | 等腰三角形 | 3 |