三角形nextday佣金问题实验报告.docx
- 文档编号:7511558
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:50
- 大小:356.91KB
三角形nextday佣金问题实验报告.docx
《三角形nextday佣金问题实验报告.docx》由会员分享,可在线阅读,更多相关《三角形nextday佣金问题实验报告.docx(50页珍藏版)》请在冰豆网上搜索。
三角形nextday佣金问题实验报告
南昌航空大学实验报告
2013年10月20日
课程名称:
软件质量保证与测试实验名称:
测试程序的设计
班级:
******姓名:
***同组人:
指导教师评定:
签名:
一、实验目的
完成测试用程序的编写,为接下来的测试实验做准备。
二、实验要求
(1)设计程序的语言可以选择C、C++、JAVA等;
(2)保证程序语法正确
(3)记录实验数据并书写实验报告
题目要求:
题目一:
三角形问题
问题描述:
输入三角形三条边a、b、c,三条边有效取值范围为[1,200],判断该三角形是什么三角形,输出内容具体包括:
(1)等边三角形;
(2)等腰三角形;(3)直角三角形;(4)等腰直角三角形;(5)一般三角形;(6)非三角形;(7)输入数据非法。
题目二:
NextDate问题
问题描述:
输入年月日year、month、day,其中年份的有效取值范围为[1900,2100],请输出输入日期的下一天,例如输入2013年9月29日,输出为2013年9月30日。
若输入日期非法,例如输入2013年2月30日,则输出“输入日期不存在”,若输入日期超出取值范围,例如输入2013年9月32日,则输出“输入日期超出范围”。
问题三:
佣金问题
问题描述:
前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。
枪机卖45美元,枪托卖30美元,枪管卖25美元。
销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。
根据当月的销售情况,并计算销售商的佣金如下:
(1)不到(含)1000美元的部分为10%;
(2)1000(不含)~1800(含)美元的部分为15%;
(3)超过1800美元的部分为20%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
三、实验步骤
1.运行TC,VisualC++,JAVA等开发工具;
2.在开发环境中完成程序设计,并进行调试;
3.在程序没有语法错误的前提下重点检查程序的逻辑错误;
4.对程序进行调试,并记录实验数据。
四、实验内容
三角形问题:
概要设计:
在输入不同数值可以得到相应的输出结果
(1)当输入三条边的数值大小有一不在范围内,提示“输入范围不合理”
(2)当输入三值不满足构成三角形条件时,输出“非三角形”
(3)当输入三值只是满足构成三角形条件,没有其他特殊问题,输出“一般三角形”
(4))当输入三条边只有两个值相等,输出“等腰三角形”
(5)当输入三条边都相等时,输出“等边三角形”
(6)当输入三条边只是满足勾股定理时,输出“直角三角形”
(7)当输入三条边不仅满足勾股定理,而且其中有两条边相等,输出“等腰直角三角形”
源代码:
#include
main()
{
inta,b,c;
system("graftabl936");
clrscr();
printf("请输入三个边长:
\n");
scanf("%d,%d,%d",&a,&b,&c);
if((a>=1&&a<=200)&&(b>=1&&b<=200)&&(c>=1&&c<=200))
{
if(a+b>c&&a+c>b&&b+c>a)
if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
{printf("可以构成一个直角三角形\n");
if(a==b||b==c||a==c)
printf("可以构成一个等腰直角三角形\n");}
elseif(a==b&&a==c)
printf("可以构成一个等边三角形\n");
elseif(a==b||b==c||a==c)
printf("可以构成一个等腰三角形\n");
else
printf("可以构成一个等腰三角形\n");
else
printf("不能构成三角形\n");
}
elseprintf("输入范围不合理\n");
getch();
}
运行结果:
Nextday函数:
概要设计:
分析不同情况下的输入,可以得到不同输出
(1)当输入数值只要有一个不符合范围,提示“不合理范围”
(2)当输入非月头月尾数值时,输出日期将天数加1
(3)当输入非2月月尾时,输出日期将月份加1
(4)当输入的为年尾时,输出日期将年份加1
(5)当输入闰年28日时,输出日期将天数加1
(6)当输入闰年29日时,输出日期将月份加1
(7)当输入非闰年27日时,输出日期将天数加1
(8)当输入非闰年28日时,输出日期将月份加1
(9)当输入非闰年29日时,提示“输入错误”
源代码:
#include
main()
{
intyear,month,day;
inta[]={31,29,31,30,31,30,31,31,30,31,30,31};
intb[]={31,28,31,30,31,30,31,31,30,31,30,31};
system("graftabl936");
clrscr();
printf("请输入日期:
\n");
scanf("%d,%d,%d",&year,&month,&day);
if(year<=2100&&year>=1900){
if(year%4==0&&year%100!
=0||year%400==0)
{if(month<12)
{if(a[month-1]>day)
printf("后一天:
%d年%d月%d日",year,month,day+1);
else
printf("后一天:
%d年%d月1日",year,month+1);
}
elseif(month==12)
{if(a[month-1]>day)
printf("后一天:
%d年%d月%d日",year,month,day+1);
else
printf("后一天:
%d年1月1日",year+1);
}
}
else{
if(month<12)
{if(b[month-1]>day)
printf("后一天:
%d年%d月%d日",year,month,day+1);
else
printf("后一天:
%d年%d月1日",year,month+1);
}
elseif(month==12)
{if(b[month-1]>day)
printf("后一天:
%d年%d月%d日",year,month,day+1);
else
printf("后一天:
%d年1月1日",year+1);
}
}}
getch();}
运行结果:
输出结果错误,代表程序源代码出现错误
佣金问题:
概要分析:
当输入不同数值时会有不同的的佣金
(1)当输入数值不满足要求时,提示“不合理范围”
(2)当输入数值计算得总销售额不到(含)1000美元,佣金为其10%
(3)当输入数值计算得总销售额为1000(不含)~1800(含)美元,佣金为其15%
(4)当输入数值计算得总销售额超过1800美元,佣金为其20%
源代码:
#include
intmain()
{
intx,y,z,n;
system("graftabl936");
clrscr();
printf("请输入购买的枪机、枪托、枪管数量:
\n");
scanf("%d,%d,%d",&x,&y,&z);
if((x>=1&&x<=70)&&(y>=1&&y<=80)&&(z>=1&&z<=90))
{
n=45*x+30*y+25*z;
if(n<=1000)
printf("枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f",x,y,z,n,0.1*n);
elseif(n<=1800)
printf("枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f",x,y,z,n,0.15*n);
else
printf("枪机数%d、枪托数%d、枪管数%d、总销售额%d、佣金%f",x,y,z,n,0.2*n);
}
else
printf("输入范围不合理\n");
getch();
}
运行结果:
5、结果分析
对以上三个题目的编码中,三角形问题和佣金问题没有出现什么错误,就是在nextday中出现众多小错误,其中,对于范围问题只是对年份进行了控制,没有对月份及日期进行控制,从而超出范围也不会作出相对应的提示。
而且,在nextday中有的输入得不到相对应的输出,将会在下面的白盒测试中对其进行修改。
南昌航空大学实验报告
2013年10月27日
课程名称:
软件质量保证与测试实验名称:
功能性测试
班级:
******姓名:
***同组人:
指导教师评定:
签名:
一、实验目的
掌握边界值、等价类、决策表测试的基本功能性测试方法
二、实验要求
分别用健壮性测试(边界值方法)、弱健壮等价类测试(等价类方法)和决策表测试技术分别对三角形问题|、Nextdate问题和佣金问题设计测试用例(即每个程序都要用这三种方法进行测试),并分别对实验一所编写的三个程序进行测试。
要求:
对于测试用例的设计必须给出详细的设计过程,在测试过程中如果发现缺陷(预期输出与实际输出不符),则采用截图的方式说明缺陷现象,并简单分析其可能产生的原因及建议,但不允许修改程序。
三、实验步骤
1.运行TC,VisualC++,JAVA等开发工具;
2.在开发环境中完成程序设计,并进行调试;
3.在程序没有语法错误的前提下重点检查程序的逻辑错误;
4.对程序进行调试,并记录实验数据。
四、实验内容
三角形问题
健壮性边界值测试用例
测试用例
输入条件
预期输出
实际输出
用例状态
a
b
c
Test1
0
100
100
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test2
1
100
100
等腰三角形
等腰三角形
pass
Test3
2
100
100
等腰三角形
等腰三角形
pass
Test4
100
100
100
等边三角形
等边三角形
pass
Test5
199
100
100
等腰三角形
等腰三角形
pass
Test6
200
100
100
非三角形
非三角形
pass
Test7
201
100
100
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test8
100
0
100
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test9
100
1
100
等腰三角形
等腰三角形
pass
Test10
100
2
100
等腰三角形
等腰三角形
pass
Test11
100
199
100
等腰三角形
等腰三角形
pass
Test12
100
200
100
非三角形
非三角形
pass
Test13
100
201
100
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test14
100
100
0
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test15
100
100
1
等腰三角形
等腰三角形
pass
Test16
100
100
2
等腰三角形
等腰三角形
pass
Test17
100
100
199
等腰三角形
等腰三角形
pass
Test18
100
100
200
非三角形
非三角形
pass
Test19
100
100
201
提示“输入范围不合理”
提示“输入范围不合理”
fail
缺陷截图:
Test1:
Test7:
Test8:
Test13:
Test14:
Test19:
弱健壮等价类
条件桩:
C1:
是否构成三角形(a+b>ca+c>bb+c>a)动作桩:
A1:
非三角形
C2:
a=bA2:
等腰三角形
C3:
b=cA3:
等边三角形
C4:
a=cA4:
一般三角形
A5:
不可能出现
三角形问题决策表
决策表
1-8
9
10
11
12
13
14
15
16
C1
C2
C3
C4
F
—
—
—
T
T
T
T
T
T
T
F
T
T
F
T
T
T
F
F
T
F
T
T
T
F
T
F
T
F
F
T
T
F
F
F
A1
A2
A3
A4
A5
√
√
√
√
√
√
√
√
√
三角形问题决策表测试用例
测试
用例
输入条件
预期输出
abc
1-8
9
10
11
12
13
14
15
16
236
333
﹡﹡﹡
﹡﹡﹡
151520
﹡﹡﹡
152020
252025
152026
非三角形
等边三角形
不可能
不可能
等腰三角形
不可能
等腰三角形
等腰三角形
一般三角形
Nextday问题
健壮性边界值测试用例
测试用例
输入条件
预期输出
实际输出
用例状态
年
月
日
Test1
1899
6
15
提示“超出范围”
提示“超出范围”
fail
Test2
1900
6
15
1900/6/16
1900/6/16
pass
Test3
1901
6
15
1901/6/16
1901/6/16
pass
Test4
2000
6
15
2000/6/16
2000/6/16
pass
Test5
2099
6
15
2099/6/16
2099/6/16
pass
Test6
2100
6
15
2100/6/16
2100/6/17
pass
Test7
2101
6
15
提示“超出范围”
提示“超出范围”
fail
Test8
2000
0
15
提示“超出范围”
2000/1/1
fail
Test9
2000
1
15
2000/1/16
2000/1/16
pass
Test10
2000
2
15
2000/2/16
2001/2/16
pass
Test11
2000
11
15
2000/11/16
2000/11/16
pass
Test12
2000
12
15
2000/12/16
2000/12/16
pass
Test13
2000
13
15
提示“超出范围”
2000/1/16
fail
Test14
2000
6
0
提示“超出范围”
2000/6/1
fail
Test15
2000
6
1
2000/6/2
2000/6/2
pass
Test16
2000
6
2
2000/6/3
2000/6/3
pass
Test17
2000
6
29
2000/6/30
2000/6/30
pass
Test18
2000
6
30
2000/7/1
2000/7/1
pass
Test19
2000
6
31
提示“超出范围”
提示“超出范围”
fail
缺陷截图:
Test1:
Test7:
Test8:
出现未知错误,预期输出“超出范围”,结果显示出了不相对应的输出结果,可能是程序中出现了一定程度的逻辑错误
Test13:
出现未知错误,预期输出“超出范围”,结果显示出了不相对应的输出结果,再观察完程序后,发现,在源代码中只是对年份的范围进行了一定的范围规范,没有对月份进行要求,才会出现以下的运行错误
Test14:
出现未知错误,预期输出“超出范围”,结果显示出了不相对应的输出结果,在观察完程序后,发现在源代码中只是对年份的范围进行了一定的范围规范,没有对月份进行规范,才会出现以下的运行错误
Test19:
Nextday函数弱健壮性等价类
简易分析赋值归纳:
Y1:
该年为闰年Y2:
该年不会闰年
M1:
该月有30天M2:
该月有31天(12月除外)
M3:
该月为12月M4:
该月为2月
D1:
1<=day<=27D2:
28天D3:
29天D4:
30天D5:
31天
条件桩:
C1:
monthC2:
dayC3:
year
动作桩:
A1:
不可能A2:
day+1A3:
day复位A4:
month+1
A5:
month复位A6:
year+1
Nextday函数的决策表
选项
规则
1-3
4
5
6-9
10
11-14
15
16
17
18
19
20
21-22
条件
C1
M1
M1
M1
M2
M2
M3
M3
M4
M4
M4
M4
M4
M4
C2
D1-D3
D4
D5
D1-D4
D5
D1-D4
D5
D1
D2
D2
D3
D3
D4-D5
C3
-
-
-
-
-
-
-
-
Y1
Y2
Y1
Y2
-
动作
A1
√
√
√
A2
√
√
√
√
√
A3
√
√
√
√
√
A4
√
√
√
√
A5
√
A6
√
Nextday函数决策表测试用例
测试用例
year
month
day
预期输出
test1-3
2001
6
15
2001-6-16
test4
2001
6
30
2001-7-1
test5
2001
6
31
不可能
test6-9
2001
7
15
2001-7-16
test10
2001
7
31
2001-8-1
test11-14
2001
12
15
2001-12-16
test15
2001
12
31
2002-1-1
test16
2001
2
15
2001-2-16
test17
2000
2
28
2000-2-29
test18
2001
2
28
2001-3-1
test19
2000
2
29
2000-3-1
test20
2001
2
29
不可能
test21-22
2001
2
30
不可能
对此问题健壮性边界值测试得到的结果是,当输入的数值之间有逻辑关系的时候,不适合用健壮性测试,因为其间的逻辑关系,在取其特殊值的时候,需要考虑之前的正常取值。
佣金问题
健壮性边界值测试用例
测试用例
输入条件
预期输出
实际输出
用例状态
枪机
枪托
枪管
Test1
0
40
45
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test2
1
40
45
474
474
pass
Test3
2
40
45
483
483
pass
Test4
35
40
45
780
780
pass
Test5
69
40
45
1086
1086
pass
Test6
70
40
45
1095
1095
pass
Test7
71
40
45
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test8
35
0
45
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test9
35
1
45
546
546
pass
Test10
35
2
45
552
552
pass
Test11
35
79
45
1014
1014
pass
Test12
35
80
45
1020
1020
pass
Test13
35
81
45
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test14
35
40
0
提示“输入范围不合理”
提示“输入范围不合理”
fail
Test15
35
40
1
560
560
pass
Test16
35
40
2
565
565
pass
Test17
35
40
89
1000
1000
pass
Test18
35
40
90
1005
1005
pass
Test19
35
40
91
提示“输入范围不合理”
提示“输入范围不合理”
fail
缺陷截图:
Test1:
Test7:
Test8:
Test13:
Test14:
Test19:
佣金问题弱健壮性等价类
条件桩:
C1:
1<=x<=70动作桩:
A1:
不合理范围
C2:
1<=y<=80A2:
合理范围
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三角形 nextday 佣金 问题 实验 报告