三角形nextday佣金问题实验报告材料.docx

上传人:b****8 文档编号:11320163 上传时间:2023-02-26 格式:DOCX 页数:58 大小:357.09KB
下载 相关 举报
三角形nextday佣金问题实验报告材料.docx_第1页
第1页 / 共58页
三角形nextday佣金问题实验报告材料.docx_第2页
第2页 / 共58页
三角形nextday佣金问题实验报告材料.docx_第3页
第3页 / 共58页
三角形nextday佣金问题实验报告材料.docx_第4页
第4页 / 共58页
三角形nextday佣金问题实验报告材料.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

三角形nextday佣金问题实验报告材料.docx

《三角形nextday佣金问题实验报告材料.docx》由会员分享,可在线阅读,更多相关《三角形nextday佣金问题实验报告材料.docx(58页珍藏版)》请在冰豆网上搜索。

三角形nextday佣金问题实验报告材料.docx

三角形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:

不合理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1