被测试链接 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