NextDate函数测试用例.docx
- 文档编号:2398230
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:19
- 大小:487.43KB
NextDate函数测试用例.docx
《NextDate函数测试用例.docx》由会员分享,可在线阅读,更多相关《NextDate函数测试用例.docx(19页珍藏版)》请在冰豆网上搜索。
NextDate函数测试用例
1.测试程序源代码
#include"stdafx。
h"
#include
usingnamespacestd;
voidNextDate(intyear,intmonth,intday);
voidmain()
{
intyear=0,month=0,day=0;
NextDate(year,month,day);
}
voidNextDate(intyear,intmonth,intday)
{
cout〈<”请输入年份:
”< cin>>year; while(! (year>=1911&&year<=2013)) { cout<<"年份超过界限,请重新输入”<〈endl; cin>〉year; } cout<〈”请输入月份: "<〈endl; cin〉〉month; while(month〉12||month<1) { cout〈〈”月份输入有误,请重新输入"<〈endl; cin>>month; } cout<〈”请输入日期: "<〈endl; cin〉>day; while(day〉31||day<1) { cout〈〈”日期输入有误,请重新输入"〈 cin>>day; } while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&day==31) { cout〈<”小月没有31号”〈 cin〉>day; }if((year%4==0&&year%100! =0)||(year%400==0))//检查闰年; { inti=0; i=day-29; while(month==2&&i〉0) { cout〈〈”本月是闰月,请在1-29之间从新输入日期"<〈endl; cin〉>day; } if(month==2&&day==29) { month=3; day=1; } elseday++; } elseday++; //月底计算; switch(month) { case1: case3: case5: case7: case8: case10: if(day==32) { month++; day=1; cout<<"明天是: "< } break; case2: if(day==29) { month=3; day=1; cout〈〈"明天是: "〈 } break; case4: case6: case9: case11: if(day==31) { month++; day=1; cout<〈"明天是: "〈 } break; case12: if(day==32) { year++; month=1; day=1; cout〈<"明天是: ”〈 } break; } cout〈〈”明天是: ”< } 白盒测试 DD-路径 情况1.由一个节点组成,内度=0 情况2。 由一个节点组成,外度=0 情况3.由一个节点组成,内度>=2或外度〉=2 情况4.由一个节点组成,内度=1并且外度=1 情况5。 长度〉=1的最大链 情况2: 节点6、节点9、节点10 情况3: 节点2、节点3、节点5、节点7、节点8 情况4: 节点4、节点11 白盒测试对每条DD-路径测试用例 用例说明 输入数据 预期结果 实际结果 输入正确的年、月、日 2011年6月15日 2011年6月16日 2011年6月16日 输入错误的年、月、日 2501年6月15日 日期输入有误 输入有误,重新输入 输入错误的年、月、日 2011年6月33日 日期输入有误 输入有误,重新输入 输入错误的年、月、日 2011年13月15日 日期输入有误 输入有误,重新输入 输入闰年2月29日 2000年2月29日 2000年3月1日 2000年3月1日 输入非闰年2月28日 2001年2月28日 2001年3月1日 2001年3月1日 输入大月31日 2001年3月31日 2001年4月1日 2001年4月1日 输入小月30日 2001年4月30日 2001年5月1日 2001年5月1日 输入12月31日 2004年12月31日 2005年1月1日 2005年1月1日 判定覆盖 编号 输入数据 预期结果 实际结果 1 2000年6月30日 2000年7月1日 2000年6月16日 2 2010年12月31日 2011年1月1日 2011年1月1日 黑盒测试 利用等价类划分法设计测试用例 输入条件 编号 有效等价类 编号 无效等价类 输入年份 ⑴ 1912〈=年<=2012 ⑺ 年<1912 ⑻ 年〉2012 输入月份 ⑵ 1〈=月份〈=12 ⑼ 月〈1 ⑽ 月〉12 输入日期 ⑶ 1<=日期〈=31 ⑾ 日期<1 ⑿ 日期〉31 输入类型 ⑷ 输入为int型 ⒀ 除int型外的任意输入 输入为闰年 ⑸ 输入2月29日 ⒁ 输入为闰年2月30日 输入为平年 ⑹ 输入2月28日 ⒂ 输入2月29日 测试执行情况与记录 测试用例编号 输入 预期结果 实际输出 覆盖等价类 1 1988/2/3 1988/2/4 1988/2/4 ⑴⑵⑶⑷ 2 2000/2/29 2000/3/1 2000/3/1 ⑸ 3 2001/2/28 2001/3/1 2001/3/1 ⑹ 4 1800/1/23 年份输入有误,请重新输入 年份输入有误,请重新输入 ⑺ 5 2200/3/2 年份输入有误,请重新输入 年份输入有误,请重新输入 ⑻ 6 1912/0/3 月份输入有误,请重新输入 月份输入有误,请重新输入 ⑼ 7 1927/30/3 月份输入有误,请重新输入 月份输入有误,请重新输入 ⑽ 8 1956/3/—20 日期输入有误,请重新输入 日期输入有误,请重新输入 ⑾ 9 1972/3/43 日期输入有误,请重新输入 日期输入有误,请重新输入 ⑿ 10 asd 程序进入死循环 程序进入死循环 ⒀ 11 2000/2/30 本月是闰月,请在1—29之间从新输入日期 本月是闰月,请在1—29之间从新输入日期 ⒁ 12 2001/2/29 2001/2/30 2001/2/30 ⒂ 边界值测试 用例 月份 日期 年 预期输出 实际输出 1 6 15 1911 6/16/1911 6/16/1911 2 6 15 1912 6/16/1912 6/16/1912 3 6 15 1962 6/16/1962 6/16/1962 4 6 15 2012 6/16/2012 6/16/2012 5 6 15 2013 6/16/2013 6/16/2013 6 6 1 1962 6/2/1962 6/2/1962 7 6 2 1962 6/3/1962 6/3/1962 8 6 15 1962 6/16/1962 6/16/1962 9 6 30 1962 7/1/1962 7/1/1962 10 6 31 1962 非法输入 非法输入 11 1 15 1962 1/16/1962 1/16/1962 12 2 15 1962 2/16/1962 2/16/1962 13 6 15 1962 6/16/1962 6/16/1962 14 11 15 1962 11/16/1962 11/16/1962 15 12 15 1962 12/16/1962 12/16/1962 结果分析: 白盒测试和黑盒测试的用例中,预期结果与运行结果都是相同的,与实际日期符合的,因此,本函数准确性较好,但是存在死循环,说明程序鲁棒性不好,还有待改进。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NextDate 函数 测试