黑盒测试实验二
- 格式: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();
}