实验二+163+张玉洁
一、实验目的
掌握覆盖测试的基本方法和实践
二、实验要求
运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。
三、实验内容
1.被测原代码

2.测试用例例表


程序图 DD路径图
DD-路径(只压缩链路经)
|
程序图节点 |
DD-路径 |
|
3 |
A |
|
4,5 |
B |
|
6 |
C |
|
7 |
D |
|
8 |
E |
|
9 |
F |
|
10-11 |
G |
|
12 |
H |
|
13,14 |
I |
|
15 |
J |
|
16,17,18,19 |
K |
|
20,21 |
L |
(I)语句覆盖:
A-C-L
A-B-D-E-K-L
A-B-D-F-G-K-L
A-B-D-F-H-I-K-L
A-B-D-F-H-J-K-L
测试用例:
|
用例ID |
输入值 |
执行路径 |
预期输出 |
||
|
A |
B |
C |
result |
||
|
1 |
1 |
2 |
3 |
A-C-L |
不构成三角形 |
|
2 |
4 |
2 |
5 |
A-B-D-F-H-J-K-L |
一般三角形 |
|
3 |
3 |
3 |
4 |
A-B-D-F-G-K-L |
等腰三角形 |
|
4 |
3 |
3 |
3 |
A-B-D-E-K-L |
等边三角形 |
|
5 |
3 |
4 |
5 |
A-B-D-F-H-I-K-L |
直角三角形 |
(II)分支覆盖(判断覆盖):
A-C-L
A-B-D-E-K-L
A-B-D-F-G-K-L
A-B-D-F-H-I-K-L
A-B-D-F-H-J-K-L
|
用例ID |
输入值 |
执行路径 |
预期输出 |
||
|
A |
B |
C |
result |
||
|
1 |
1 |
2 |
3 |
A-C-L |
不构成三角形 |
|
2 |
4 |
2 |
5 |
A-B-D-F-H-J-K-L |
一般三角形 |
|
3 |
3 |
3 |
4 |
A-B-D-F-G-K-L |
等腰三角形 |
|
4 |
3 |
3 |
3 |
A-B-D-E-K-L |
等边三角形 |
|
5 |
3 |
4 |
5 |
A-B-D-F-H-I-K-L |
直角三角形 |
(III)路径覆盖:
A-C-L
A-B-D-E-K-L
A-B-D-F-G-K-L
A-B-D-F-H-I-K-L
A-B-D-F-H-J-K-L
|
用例ID |
输入值 |
执行路径 |
预期输出 |
||
|
A |
B |
C |
result |
||
|
1 |
1 |
2 |
3 |
A-C-L |
不构成三角形 |
|
2 |
4 |
2 |
5 |
A-B-D-F-H-J-K-L |
一般三角形 |
|
3 |
3 |
3 |
4 |
A-B-D-F-G-K-L |
等腰三角形 |
|
4 |
3 |
3 |
3 |
A-B-D-E-K-L |
等边三角形 |
|
5 |
3 |
4 |
5 |
A-B-D-F-H-I-K-L |
直角三角形 |
(IV)条件覆盖:各个条件取真或假的可能至少执行一次
|
编号 |
a<=b+c |
b<=a+c |
c<=a+b |
a<=b+c||b<=a+c||c<=a+b |
覆盖路径 |
|
1 |
F |
F |
F |
F |
A-C |
|
2 |
F |
T |
F |
T |
A-B |
|
3 |
T |
F |
F |
T |
A-B |
|
4 |
T |
T |
T |
T |
A-B |
|
5 |
F |
F |
T |
T |
A-B |
|
6 |
T |
T |
F |
T |
A-B |
|
7 |
T |
F |
T |
T |
A-B |
|
8 |
F |
T |
T |
T |
A-B |
|
编号 |
a==b |
b==c |
c==a |
a==b&&b==c&&c==a |
覆盖路径 |
|
1 |
F |
F |
F |
F |
A-C |
|
2 |
F |
T |
F |
F |
A-C |
|
3 |
T |
F |
F |
F |
A-C |
|
4 |
T |
T |
T |
T |
A-B |
|
5 |
F |
F |
T |
F |
A-C |
|
6 |
T |
T |
F |
F |
A-C |
|
7 |
T |
F |
T |
F |
A-C |
|
8 |
F |
T |
T |
F |
A-C |
|
编号 |
a==b |
b==c |
c==a |
a==b||b==c||c==a |
覆盖路径 |
|
1 |
F |
F |
F |
F |
F-H |
|
2 |
F |
T |
F |
T |
F-G |
|
3 |
T |
F |
F |
T |
F-G |
|
4 |
T |
T |
T |
T |
F-G |
|
5 |
F |
F |
T |
T |
F-G |
|
6 |
T |
T |
F |
T |
F-G |
|
7 |
T |
F |
T |
T |
F-G |
|
8 |
F |
T |
T |
T |
F-G |
|
编号 |
a*a+b*b==c*c |
b*b+c*c==a*a |
a*a+c*c==b*b |
a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b |
覆盖路径 |
|
1 |
F |
F |
F |
F |
H-J |
|
2 |
F |
T |
F |
T |
H-I |
|
3 |
T |
F |
F |
T |
H-I |
|
4 |
T |
T |
T |
T |
H-I |
|
5 |
F |
F |
T |
T |
H-I |
|
6 |
T |
T |
F |
T |
H-I |
|
7 |
T |
F |
T |
T |
H-I |
|
8 |
F |
T |
T |
T |
H-I |
|
用例ID |
输入值 |
执行路径 |
预期输出 |
||
|
A |
B |
C |
result |
||
|
1 |
1 |
2 |
3 |
A-C-L |
不构成三角形 |
|
2 |
4 |
2 |
5 |
A-B-D-F-H-J-K-L |
一般三角形 |
|
3 |
3 |
3 |
4 |
A-B-D-F-G-K-L |
等腰三角形 |
|
4 |
3 |
3 |
3 |
A-B-D-E-K-L |
等边三角形 |
|
5 |
3 |
4 |
5 |
A-B-D-F-H-I-K-L |
直角三角形 |
3.相应junit测试脚本,执行结果


四、测试小结
1.测试找到的缺陷清单:无
2.对源代码的修改建议:
代码太冗长复杂,希望可以简化一点,省去多余的代码。
3. 测试总结与心得体会
通过这次实验,进一步了解了白盒测试用例测试。也发现了流程图与DD路径图之间的联系与区别,根据路径图可以更清楚明了的写出测试用例表。也学会了Junit脚本的使用方法。并且也学到了新的测试方法-打包测试。,可以一次性将用例测试完毕,简便了很多。
浙公网安备 33010602011771号