软件测试实验报告三
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9 1 2 3 不是三角形
实际输出 输入超出 输入超出 输入超出 等边三角形
直角三角形 等腰直角三
角形 等腰三角形
一般三角形
不是三角形
测试结果 Pass Pass Pass Pass
Pass
Pass
Pass
Pass
Pass
覆盖路径
2-3-4-5 2-3-4-6-7 2-3-4-6-8-9 2-3-4-6-8-10-
Pass 2,3,4,6,8,10,12,14,20,23
9 1 2 3 不是三角形 不是三角形
Pass
2,3,4,6,8,10,26
2:判定覆盖
语句 4:t1,f1 语句 6:t2,f2 语句 8:t3,f3 语句 10:t4,f4 语句 12:t5,f5 语句 14:t6,f6 语句 15:t7,f7 语句 20:t8,f8
12-13 2-3-4-6-8-1012-14-15-18 2-3-4-6-8-1012-14-15-16 2-3-4-6-8-1012-14-20-21 2-3-4-6-8-1012-14-20-3-23 2-3-4-6-8-10-
12-13
4:基路径覆盖 DD-路径图
A1: A-B-D-F-J-H-J-L-M-N A2: A-B-C A3: A-B-D-E A4: A-B-D-F-G A5: A-B-D-F-H-I A6: A-B-D-F-H-J-K A7: A-B-D-F-H-J-L-P-Q
5 3 4 5 直角三角形 直角三角形
Pass 2,3,4,6,8,10,1214,15,18
等腰直角三 等腰直角三角
6 1 1 1.414
Pass 2,3,4,6,8,10,12,14,15,16
角形
形
7 3 3 5 等腰三角形 等腰三角形
Pass
2,3,4,6,8,10,12,14,20
8 4 7 8 一般三角形 一般三角形
38.
else {
39.
if(m==12)
40.
{y++;m=1;d=1;}
41.
else
42.
{m++;d=1;}
43.
}
44. }
45. else{
46.
if(d>=1&&d<30)
47.
d++;
48.
else if(d==30){
49.
m++;d=1;
50.
}
51.
else
52.
printf("输入非法\n");
(4)找出以上五个变量的所有定义-使用路径,并判断其是否为定义-清除路径;
(5)根据上述路径分析程序可能出现的缺陷,并试图分析产生缺陷原因。
三、实验步骤
四、实验内容
1. float a,b,c;
2. printf("请输入三角形三边长度:\n");
3. scanf("%f,%f,%f",&a,&b,&c);
2001 4 1
2001 4 31
输入非法
2001 2 29
输入非法
2001 2 15 2001 2 16
2000 2 29
2000 3 1
20001 12 31
2001 1 1
实际输出
2001 2 24
输入不存在 输入不存在 输入不存在 2012 3 29 输入非法 2001 3 1 2001 4 17 2001 7 1 2001 4 1 输入非法 输入非法 2001 2 16
15. if(m==2){
16.
if(y%4==0&&y%100!=0||y%400==0){
17.
if(d>29)
18.
printf("输入非法\n");
19.
else if(d==29){
20.
m=3;d=1;
21.
}
22.
else
23.
d++;
24.
}
25.
else{
26.
if(d>28)
27.
语句 4:t1,f1 t2,f2 语句 6:t3,f3 t4,f4 语句 8:t5,f5 t6,f6 语句 10:t7,f7 t8,f8 语句 12:t9,f9 t10,f10 语句 14:t11,f11 t12,f12 t13,f13 语句 15:t14,f14 t15,f15 t16,f16 语句 20:t17,f17 t18,f18 t19,f19
8. scanf("%d",&d);
9. if(y>2014||y<1814)
10.
printf("输入日期不存在\n");
11. else if(m<1||m>12)
12.
printf("输入日期不存在\n");
13. else if(d<1||d>31)
14.
printf("输入日期不存在\n");
f8
9 1 2 3 不是三角形 不是三角形
Pass
F1 f2 f3 f4
3:路径覆盖
序号
1 2 3
输入 ABC 034 305 340
4 555
预期输出
输入超出 输入超出 输入超出
等边三角形
5 3 4 5 直角三角形
1.4 等腰直角三
6 11
14
角形
7 3 3 5 等腰三角形
8 4 7 8 一般三角形
1:语句覆盖
输入 序号
AB C 1 03 4 2 30 5 3 34 0
预期输出
输入超出 输入超出 输入超出
实际输出
输入超出 输入超出 输入超出
测试结果
Pass Pass Pass
覆盖语句
2,3,4,5 2,3,4,6,,7 2,3,4,6,8,9
4 5 5 5 等边三角形 等边三角形
Pass
2,3,4,6,8,10,12,13
17.
else
18.
printf("直角三角形\n");
19.
}
20.
else if(a==b||b==c||c==a)
21.
printf("等腰三角形\n");
2wk.baidu.com.
else
23.
printf("一般三角形\n");
24. }
25. else
26.
printf("不是三角形\n");
三角形控制流图:
南昌航空大学实验报告
2014 年 12 月 31 日
课程名称: 软件质量保证与测试
班级:
姓名:
指导教师评定:
实验名称: 结构性测试 同组人: 签名:
一、实验目的
掌握逻辑覆盖法、基路径法以及数据流测试基本结构性测试方法
二、实验要求
1、对三角形问题尝试用逻辑覆盖法(语句覆盖、判定覆盖、路径覆盖,基路径等方法
预期输出
20001 2 23
2001 2 24
2015 3
1
输入不存在
2013 13 2
输入不存在
2013 4 32
输入不存在
2012 3 28
2012 3 29
2000 2 30
输入非法
20001 2 28
2001 3 1
2001 4 16
2001 4 17
2001 6 30
2001 7 1
2001 3 31
A12:1-2-4-6-8-9-16-18-19-34
A13:1-2-4-6-8-9-10-12-13-34
A14:1-2-4-6-8-9-10-12-14-34
A15:1-2-4-6-8-23-29-31-33-34
序号
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15
输入
y
md
11. {
12.
if((a==b)&&(b==c))
13.
printf("等边三角形\n");
14.
else if((a*a+b*b-c*c)<0.001||(b*b+c*c-a*a)<0.001||(c*c+a*a-b*b)<0.001){
15.
if(a==b||b==c||c==a)
16.
printf("等腰直角三角形\n");
序号
1 2 3 4
输入 ABC 034 305 340 555
预期输出
输入超出 输入超出 输入超出 等边三角形
5 3 4 5 直角三角形
1.4 等腰直角三
6 11
14
角形
7 3 3 5 等腰三角形
实际输出
输入超出 输入超出 输入超出 等边三角形
直角三角形
等腰直角三 角形
等腰三角形
8 4 7 8 一般三角形 一般三角形
测试结果 Pass Pass Pass Pass Pass
Pass
Pass
Pass
覆盖判定
t1 F1 t2 F1 f2 t3 F1 f2 f3 t4 t5 F1,f2,f3,t4,t4 t6,f7 F1 f2 f3,t4 f5 t6,t7 F1 f2 f3 f5 f6
t8 F1 f2 f3,f5 f6
A6:1-2-4-6-8-9-10-11-34
A7:1-2-4-6-8-9-16-18-20-21-34
A8:1-2-4-6-8-23-24-25-34
A9:1-2-4-6-8-23-24-26-27-34
A10:1-2-4-6-8-23-29-31-32-34
A11:1-2-4-6-8-23-24-26-28-34
4. if(a<1||a>200)
5.
printf("输入数值超出范围\n"); //超出取值范围
6. else if(b<1||b>200)
7.
printf("输入数值超出范围\n");
8. else if(c<1||c>200)
9.
printf("输入数值超出范围\n");
10. else if(((a+b)>c)&&((b-c)<a))
53. }
54. printf("the next day: year:%d month:%d day:%d\n",y,m,d);
55. }
基路径:
A1:1-2-4-6-8-9-16-18-20-22-34
A2:1-2-3-34
A3:1-2-4-5-34
A4:1-2-4-6-7-34
A5:1-2-4-6-8-23-29-30-34
A8: A-B-D-F-H-J-L-M-O A9: A-B-D-F-H-J-L-P-R
序号
1 2 3 4 5
6
7 8 9
输入 ABC 034 305 340 555 345
1.4 11
14 335 478 123
预期输出
输入超出 输入超出 输入超出 等边三角形 直角三角形 等腰直角三
角形 等腰三角形 一般三角形 不是三角形
printf("输入非法\n");
28.
else if(d==28){
29.
m=3;d=1;
30.
}
31.
else
32.
d++;
33.
}
34. }
35. else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
36.
if(d>=1&&d<31)
37.
d++;
3:佣金问题:
1.int x,y,z,n;
2.printf("请输入购买枪机、枪托、枪管数量:\n");
3. scanf("%d %d %d",&x,&y,&z);
4. if(x>=1&&x<=70){
2000 3 1 2001 1 1
测试结果
Passed
Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed Passed
覆盖基路 径
A1
A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15
测试)设计测试用例,具体要求如下:
(1)为程序语句部分进行编号;
(2)画出程序的程序结构图(节点图);
(3)用上述五种方法分别设计测试用例,并说明每种测试用例的设计思路,例如
测试用例所覆盖的语句、判定或条件的真分支假分支或路径等;
(4)使用上述测试用例对三角形问题进行测试,并做好测试记录,即有缺陷进行
行截图,并试图分析产生缺陷原因。
3、对佣金问题采用 条件,判定条件 设计测试用例,具体要求如下:
条件覆盖,判定条件覆盖
(1)为程序语句部分进行编号;
(2)画出程序的程序结构图(节点图);
(3)找出程序中所定义的枪机、枪托、枪管、销售额以及佣金五个变量的定义节
点、使用节点,并判断是谓词使用还是计算使用;
实际输出
输入超出 输入超出 输入超出 等边三角形 直角三角形 等腰直角三
角形 等腰三角形 一般三角形 不是三角形
测试结果 覆盖的基路径
Pass
A2
Pass
A3
Pass
A4
Pass
A5
Pass
A8
Pass
A1
Pass
A7
Pass
A9
Pass
A6
2:下一天问题:
控制流图:
DD—路径图:
1. int y,m,d; 2. int i=0; 3. printf("input the year: "); 4. scanf("%d",&y); 5. printf("input the month: "); 6. scanf("%d",&m); 7. printf("input the day: ");
截图,并试图分析产生缺陷原因。
2、对 NextDate 问题尝试采用基路径,方法设计测试用例,具体要求如下:
基路径测试
(1)为程序语句部分进行编号;
(2)画出程序的程序结构图(节点图);
(3)用基路径方法设计测试用例,并说明每个测试用例的设计思路,例如测试用
例所覆盖基路径;
(4)使用上述测试用例对 NextDate 问题进行测试,并做好测试记录,即有缺陷进