nextdate函数 c语言,软件测试NextDate函数决策表测试法实验报告.doc

一、实验目的:

掌握黑盒测试中的决策表测试法,并对被测程序设计测试用例。

二、实验环境

操作系统:Windows XP + SP2 /win7

三、实验内容

1、编写一个NextDate函数。

2、掌握黑盒测试中的决策表测试法的基本步骤。

3、使用决策表法设计测试用例,对编写的函数实施测试,总结分析测试结果。

实验步骤

1、编写一个NextDate函数。(C语言、C++)

2、根据黑盒测试的决策表测试法设计测试用例。

3、根据测试用例实施测试,并记录测试结果。

五、实验代码

#include

using namespace std;

int a,b,c,y,m,d;

//判断是否为闰年

bool Feb(int y){

if((2060-y)%4==0)

return 1;

else

return 0;}

//年份的累加

int NextYear(int y){

a=y+1;

if(a>2060)

{cout<

return 1;}

else

return a;}

//月份的累加

int NextMonth(int m){

b=m+1;

if(b==13){

b=1;

NextYear(y);}

return b;}

//天数的累加

int NextDay(int d){

c=d+1;

//大月满32天月份加1

if(c==32){

if(m==1|m==3|m==5|m==7|m==8|m==10|m==12)

{c=1;

NextMonth(m);}}

//小月满31天月份加1

if(c==31){

if(m==4|m==6|m==9|m==11)

{c=1;

NextMonth(m);}}

//若为闰年,2月满30天,月份加1

if(c==30){

if(Feb(y)&&m==2){

c=1;

b=3;}}

//若不是闰年,2月满29天,月份加1

if(c==29){

if(!Feb(y)&&m==2){

c=1;

b=3;}}

return c;}

//NextDate函数

int NextDate ( int y, int m, int d){

if (y<1900|y>2060|m<1|m>12|d<1|d>31){

cout<

return 1;}

if(m==4|m==6|m==9|m==11&&d==31) {

cout<

return 1;}

if(Feb(y)&&m==2&&d>29) {

cout<

return 1;}

if(!Feb(y)&&m==2&&d>28)

{cout<

return 1;}

else{

NextDay(d);

cout<

return 0;}}

//main函数

int main()

{while(1){

cout << "请输入正确格式的日期."<

cout << "年份范围是1960-2060"<

cout<

cin >>y;

cout<

cin>>m;

cout<

cin>>d;

a=y;

b=m;

c=d;

NextDate ( y, m, d);}

return 0;}

六、测试用例表

NxetDate函数求解给定某个日期的下一个日期的动作桩如下:

变量day加1操作;

变量day复位操作;

变量month加1操作;

变量month复位操作;

变量year加1操作

NxetDate函数的求解关键是日和月的问题,所以可以在下面的条件桩的基础上建立决策表

M1={month:month有30天};

M2={month:month有31天,12月除外};

M3={month:month是12月};

M4={month:month是2月};

D1={day:1=

D2={day:day=28};

D3={day:day=29};

D4={day:day=30};

D5={day:day=31};

Y1={year:year是闰年};

Y2={year:year不是闰年}

NxetDa

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值