黑盒测试 实验二
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() {
if(a>=1900 && a<=2050) {
if(b>0 && b<=12) {
if(b==2) {
if(a%4==0) { }
if(a%4!=0) {
if(c>0 && c<=28) {
if(c==28) {
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); }
int a,b,c; printf(\年份:\); scanf(\,&a); printf(\月份:\); scanf(\,&b); printf(\日:\); scanf(\,&c);
else
printf(\输入的天数不在--29之间!\\n\);
} else {
if( b==4 || b==6|| b==9 || b==11) { } else {
if(c>0 && c<=31) if(c>0 && c<=30) { } else { }
printf(\输入的天数不在--30之间!\\n\); c=c+1; if(c>30) { } else { }
printf(\第二天的日期是:%d年%d月%d日\\n\,a,b,c); c=1; b=b+1;
}
} { }
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\);
printf(\输入的日期是:%d年%d月%d日\\n\,a,b,c);
printf(\第二天的日期是:%d年%d月%d日\\n\,a,b,c);
} else {
} else { }
printf(\输入的月份不在--12之间!\\n\); }
}
{ } else { }
printf(\输入的天数不在--31之间!\\n\);
printf(\输入的日期是:%d年%d月%d日\\n\,a,b,c); c=c+1; if(c>31) { } else { }
printf(\第二天的日期是:%d年%d月%d日\\n\,a,b,c); c=1; b=b+1; if(b>12) { } else { }
printf(\第二天的日期是:%d年%d月%d日\\n\,a,b,c); b=1; a=a+1; if(a>2050) { } { }
printf(\第二天的日期不在到范围之内!\\n\);
else
printf(\第二天的日期是:%d年%d月%d日\\n\,a,b,c);
}
void main() { }
con();
printf(\是否继续(Y|N)?\); char x; scanf(\,&x); if(x=='Y' || x=='y') printf(\); main(); }
printf(\输入的年份不在到范围之内!\\n\);