被测试链接 http://www.cnblogs.com/chen-dg/p/6802706.html
1)被测项目界面。
2)测试用例设计表
等价类测试:
输入等价类 | 有效等价类 | 无效等价类 |
a范围 | 在1~100之间 ① |
小于1 ④ 大于100 ⑤ |
b范围 | 在1~100之间 ② |
小于1 ⑥ 大于100 ⑦ |
c范围 | 在1~100之间 ③ |
小于1 ⑧ 大于100 ⑨ |
由输入划分的等价类测试
测试用例
|
a
|
b
|
c
|
预期输出
|
实际输出
|
覆盖范围 |
是否正确 |
||||
三角形 |
面积 |
周长 |
三角形 |
面积 | 周长 | ||||||
1 |
3 |
3 |
4 |
等腰三角形 |
4.472136 |
10 |
等腰三角形 |
4.472136 |
10 |
①②③ |
√ |
2 |
0 |
3 |
3 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null |
null |
②③④ |
√ |
3 |
101 |
3 |
3 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null | null |
②③⑤ |
√ |
4 |
3 |
0 |
3 |
边的值不在范围内 |
null | null |
边的值不在范围内 |
null | null | ①③⑥ | √ |
5 | 3 | 101 | 3 |
边的值不在范围内 |
null | null |
边的值不在范围内 |
null | null | ①③⑦ | √ |
6 | 3 | 3 | 0 | 边的值不在范围内 | null | null | 边的值不在范围内 | null | null | ①② ⑧ | √ |
7 | 3 | 3 | 101 | 边的值不在范围内 | null | null | 边的值不在范围内 | null | null | ①②⑨ | √ |
由以上看到不能达到预期效果,不妨由输出划分等价类
R1 = { <a,b,c>: 边为a,b,c的等边三角形 } R2 = { <a,b,c>: 边为a,b,c的等腰三角形 } R3 = { <a,b,c>: 边为a,b,c的一般三角形 }
R4 = { <a,b,c>: 边为a,b,c不能组成三角形 }R5= { <a,b,c>: 边为a,b,c的直角三角形 }
测试用例
|
a
|
b
|
c
|
预期输出
|
实际输出
|
覆盖范围 |
是否正确 |
||||
三角形 |
面积 |
周长 |
三角形 |
面积 |
周长 |
||||||
1 |
3 |
3 |
4 |
等腰三角形 |
4.472136 |
10 |
等腰三角形 |
4.472136 |
10 |
R2 |
√ |
2 |
3 |
3 |
3 |
等边三角形 |
3.9871143 |
9 |
等边三角形 |
3.9871143 |
9 |
R1 |
√ |
3 | 3 | 4 | 5 | 直角三角形 | 6.0 | 12 | 直角三角形 | 6.0 | 12 | R5 |
√ |
4 |
2 | 3 | 4 | 一般三角形 | 2.9047375 | 9 | 一般三角形 | 2.9047375 | 9 | R3 |
√ |
2 |
0 |
3 |
3 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null |
null |
R4 |
√ |
3 |
101 |
3 |
3 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null | null |
R4 |
√ |
4 |
3 |
0 |
3 |
边的值不在范围内 |
null | null |
边的值不在范围内 |
null | null |
R4 |
√ |
5 | 3 | 101 | 3 |
边的值不在范围内 |
null | null |
边的值不在范围内 |
null | null |
R4 |
√ |
6 | 3 | 3 | 0 | 边的值不在范围内 | null | null | 边的值不在范围内 | null | null |
R4 |
√ |
7 | 3 | 3 | 101 | 边的值不在范围内 | null | null | 边的值不在范围内 | null | null |
R4 |
√ |
边界值测试:
测试用例
|
a
|
b
|
c
|
预期输出
|
实际输出
|
是否正确 |
||||
三角形 |
面积 |
周长 |
三角形 |
面积 |
周长 |
|||||
1 |
1 |
1 |
1 |
等边三角形 |
0.43 |
3 |
等边三角形 |
0.43 |
3 |
√ |
2 |
100 |
100 |
100 |
等边三角形 |
4330.12 |
300 |
等边三角形 |
4330.12 |
300 |
√ |
3 | 0 | 1 | 1 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null |
null |
√ |
4 |
1 | 0 | 1 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null |
null |
√ |
5 |
1 |
1 |
0 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null |
null |
√ |
6 |
101 |
3 |
3 |
边的值不在范围内 |
null |
null |
边的值不在范围内 |
null | null |
√ |
7 | 3 | 101 | 3 |
边的值不在范围内 |
null | null |
边的值不在范围内 |
null | null | √ |
8 | 3 | 3 | 101 | 边的值不在范围内 | null | null | 边的值不在范围内 | null | null | √ |
基于决策表的测试:
1.列出条件桩:C1:a<b+c? C2:b<a+c? C3:c<a+b? C4:a=b? C5:a=c? C6:b=c? c5:a*a=b*b+c*c? C7:b*b=a*a+c*c? C8:c*c=a*a+b*b?
2.列出动作桩: 等腰三角形 等边三角形 直角三角形 一般三角形 不构成三角形 不可能
决策表:
1~3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
||
条件 |
a+b>c? |
F |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
a+c>b? |
- |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
|
b+c>a? |
- |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
T |
|
a=b? |
- |
T |
T |
F |
F |
F |
F |
- |
T |
F |
F |
F |
|
b=c? |
- |
T |
F |
F |
T |
- |
F |
F |
F |
F |
T |
F |
|
a=c? |
- |
T |
F |
T |
F |
F |
- |
F |
F |
T |
F |
F |
|
a*a=b*b+c*c? |
- |
- |
- |
- |
- |
T | F |
F |
- |
- |
- |
F |
|
b*b=a*a+c*c? |
- |
- |
- |
- |
- |
F |
T |
F |
- |
- |
- |
F |
|
c*c=a*a+b*b? |
- |
- |
- |
- |
- |
F |
F |
T |
- |
- |
- |
F |
|
动作 |
等腰三角形 |
√ |
√ |
√ |
|||||||||
等边三角形 |
√ |
||||||||||||
直角三角形 |
√ |
√ |
√ |
||||||||||
普通三角形 |
√ |
||||||||||||
不构成三角形 |
√ |
||||||||||||
不可能 |
√ |
√ |
√ |
测试用例表:
测试用例
|
a
|
b
|
c
|
预期输出
|
实际输出
|
是否正确 |
||||
三角形 |
面积 |
周长 |
三角形 |
面积 |
周长 |
|||||
1 |
1 |
2 |
3 |
不构成三角形 |
null |
null |
不构成三角形 |
null |
null |
√ |
2 |
2 |
1 |
3 |
不构成三角形 |
null |
null |
不构成三角形 |
null |
null |
√ |
3 | 1 | 3 | 2 |
不构成三角形 |
null |
null |
不构成三角形 |
null |
null |
√ |
4 |
1 | 1 | 1 |
等边三角形 |
0.43 |
3 |
等边三角形 |
0.43 |
3 |
√ |
5 |
3 |
3 |
4 |
等腰三角形 |
4.47 |
10 |
等腰三角形 |
4.47 |
10 |
√ |
6 |
3 |
4 |
3 |
等腰三角形 |
4.47 |
10 |
等腰三角形 |
4.47 |
10 |
√ |
7 | 4 | 3 | 3 |
等腰三角形 |
4.47 |
10 |
等腰三角形 |
4.47 |
10 |
√ |
8 | 5 | 3 | 4 | 直角三角形 | 6.0 | 12 | 直角三角形 | 6.0 | 12 | √ |
9 | 3 | 5 | 4 | 直角三角形 | 6.0 | 12 | 直角三角形 | 6.0 | 12 | √ |
10 | 4 | 3 | 5 | 直角三角形 | 6.0 | 12 | 直角三角形 | 6.0 | 12 | √ |
14 | 3 | 4 | 6 | 普通三角形 | 5.33 | 13 | 普通三角形 | 5.33 | 13 | √ |
3)测试结论
测试过程中基于决策表的测试较难理解在网上找了一番方才懂得,测试后没有发现程序存在什么错误。
4)给开发同学的建议
未发现bug