黑盒测试实验二

  • 格式:doc
  • 大小:47.00 KB
  • 文档页数:5

黑盒测试 实验二

1. NextDate函数的边界值分析测试用例

程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。例如,输入为2005年11月30日,则该程序的输出为2005年12月1日。请用等价类测试和边界测试法设计测试用例。

等价类测试法:

有效等价类 month、day、year、均为整数值,且1≤month≤12、1≤day≤31、1900≤ year ≤2050。

测试用例为:5 month,10 day,2010 year 预期输出为: 5 month,11 day,2010 year

无效等价类

1、month、day、year、不为整数值,1≤month≤12、1≤day≤31、1900≤ year ≤2050

测试用例为:5.4 month,10 day,2010 year 预期输出为:无效输入

2、month、day、year、均为整数值,不满足1≤month≤12、1≤day≤31、1900≤ year ≤2050三个条件中其中一个。

测试用例为:13 month,10 day,2010 year 预期输出为:无效输入

边界测试法:

测试用例为:1 month,1 day,1900 year 12 month,31 day,2050 year

预期输出为:1 month,2 day,1900 year 预期输出为:无效输入

0 month,1 day,1900 year 13 month,10 day,1900 year

预期输出为:无效输入 预期输出为:无效输入

5 month,0 day,1902 year 5 month,32 day,1903 year

预期输出为:无效输入 预期输出为:无效输入

7 month, 5 day,1899 year 7 month,5 day, 2051 year

预期输出为:无效输入 预期输出为:无效输入

实验代码:

#include

void con()

{

int a,b,c;

printf("年份:");

scanf("%d",&a);

printf("月份:");

scanf("%d",&b);

printf("日:");

scanf("%d",&c);

if(a>=1900 && a<=2050)

{

if(b>0 && b<=12)

{

if(b==2)

{

if(a%4==0)

{

if(c>0 && c<=29)

{

if(c==29)

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

c=1;

b=b+1;

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

else

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("输入的天数不在--29之间!\n");

}

}

if(a%4!=0)

{

if(c>0 && c<=28)

{

if(c==28)

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

c=1;

b=b+1;

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

else

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("输入的天数不在--28之间!\n");

}

}

}

else

{

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

{

if(c>0 && c<=30)

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

c=c+1;

if(c>30)

{

c=1;

b=b+1;

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

else

{

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("输入的天数不在--30之间!\n");

}

}

else

{

if(c>0 && c<=31)

{

printf("输入的日期是:%d年%d月%d日\n",a,b,c);

c=c+1;

if(c>31)

{

c=1;

b=b+1;

if(b>12)

{

b=1;

a=a+1;

if(a>2050)

{

printf("第二天的日期不在到范围之内!\n");

}

else

{

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("第二天的日期是:%d年%d月%d日\n",a,b,c);

}

}

else

{

printf("输入的天数不在--31之间!\n");

}

}

}

}

else

{

printf("输入的月份不在--12之间!\n");

}

}

else

{

printf("输入的年份不在到范围之内!\n");

}

}

void main()

{

con();

printf("是否继续(Y|N)?");

char x;

scanf("%s",&x);

if(x=='Y' || x=='y')

printf("\n");

main();

}