您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > NextDate函数测试用例
1.测试程序源代码#includestdafx.h#includeiostreamusingnamespacestd;voidNextDate(intyear,intmonth,intday);voidmain(){intyear=0,month=0,day=0;NextDate(year,month,day);}voidNextDate(intyear,intmonth,intday){cout请输入年份:endl;cinyear;while(!(year=1911&&year=2013)){cout年份超过界限,请重新输入endl;cinyear;}cout请输入月份:endl;cinmonth;while(month12||month1){cout月份输入有误,请重新输入endl;cinmonth;}cout请输入日期:endl;cinday;while(day31||day1){cout日期输入有误,请重新输入endl;cinday;}while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&day==31){cout小月没有31号endl;cinday;}if((year%4==0&&year%100!=0)||(year%400==0))//检查闰年;{inti=0;i=day-29;while(month==2&&i0){cout本月是闰月,请在1-29之间从新输入日期endl;cinday;}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明天是:year'/'month'/'dayendl;}break;case2:if(day==29){month=3;day=1;cout明天是:year'/'month'/'dayendl;}break;case4:case6:case9:case11:if(day==31){month++;day=1;cout明天是:year'/'month'/'dayendl;}break;case12:if(day==32){year++;month=1;day=1;cout明天是:year'/'month'/'dayendl;}break;}cout明天是:year'/'month'/'dayendl;}白盒测试开始输入年、月、日日期是否合法?无效日期闰年的2月29日或者非闰年的2月28日明天为3月1日大月的31号或者小月的30号日期加1结束下个月是否大于121月1号下个月1号123456789101112DD-路径情况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日判定覆盖编号输入数据预期结果实际结果12000年6月30日2000年7月1日2000年6月16日22010年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日测试执行情况与记录测试用例编号输入预期结果实际输出覆盖等价类11988/2/31988/2/41988/2/4⑴⑵⑶⑷22000/2/292000/3/12000/3/1⑸32001/2/282001/3/12001/3/1⑹41800/1/23年份输入有误,请重新输入年份输入有误,请重新输入⑺52200/3/2年份输入有误,请重新输入年份输入有误,请重新输入⑻61912/0/3月份输入有误,请重新输入月份输入有误,请重新输入⑼71927/30/3月份输入月份输入有误,请重新输入⑽有误,请重新输入81956/3/-20日期输入有误,请重新输入日期输入有误,请重新输入⑾91972/3/43日期输入有误,请重新输入日期输入有误,请重新输入⑿10asd程序进入死循环程序进入死循环⒀112000/2/30本月是闰月,请在1-29之间从新输入日期本月是闰月,请在1-29之间从新输入日期⒁122001/2/292001/2/302001/2/30⒂边界值测试用例月份日期年预期输出实际输出161519116/16/19116/16/1911261519126/16/19126/16/1912361519626/16/19626/16/1962461520126/16/20126/16/2012561520136/16/20136/16/201366119626/2/19626/2/196276219626/3/19626/3/1962861519626/16/19626/16/1962963019627/1/19627/1/1962106311962非法输入非法输入1111519621/16/19621/16/19621221519622/16/19622/16/19621361519626/16/19626/16/1962141115196211/16/196211/16/1962151215196212/16/196212/16/1962结果分析:白盒测试和黑盒测试的用例中,预期结果与运行结果都是相同的,与实际日期符合的,因此,本函数准确性较好,但是存在死循环,说明程序鲁棒性不好,还有待改进。
本文标题:NextDate函数测试用例
链接地址:https://www.777doc.com/doc-5328985 .html