您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页NextDate函数测试用例

NextDate函数测试用例

来源:筏尚旅游网
NextDate函数测试用例

1. 测试程序源代码

#include\"stdafx。h\" #include using namespace std;

void NextDate(int year,int month,int day); void main() {

int year=0,month=0,day=0; NextDate(year,month,day); }

void NextDate(int year,int month,int day) {

cout〈<”请输入年份:”<>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〈〈”日期输入有误,请重新输入\"〈>day; }

while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&day==31) {

cout〈<”小月没有31号”〈day; } if((year%4==0 && year%100!=0) || (year%400==0)) //检查闰年; {

int i=0; i=day-29;

while(month==2&&i〉0) {

cout〈〈”本月是闰月,请在1-29之间从新输入日期\"<〈endl;

NextDate函数测试用例

cin〉>day; }

if(month==2&&day==29) {

month=3; day=1;

}

else day++; }

else day++; //月底计算;

switch(month) {

case 1: case 3: case 5: case 7: case 8: case 10:

if (day==32) {

month++; day=1;

cout<<\"明天是:\"<break; case 2:

if(day==29) {

month=3; day=1; cout〈〈\"明天是:\"〈break; case 4: case 6: case 9: case 11:

if(day==31) {

month++; day=1;

cout<〈\"明天是:\"〈break; case 12:

if(day==32)

NextDate函数测试用例

year++; month=1; day=1;

cout〈<\"明天是:”〈break; } cout〈〈”明天是:”<白盒测试

1开始 2输入年、月、日43日期是否合法?无效日期5闰年的2月29日或者非闰年的2月28日6明天为3月1日87大月的31号或者小月的30号下个月是否大于129下个月1号1011日期加11月1号12结束 NextDate函数测试用例

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-路径测试用例

用例说明 输入正确的年、月、日 输入错误的年、月、日 输入错误的年、月、日 输入错误的年、月、日 输入闰年2月29日 输入非闰年2月28日 输入大月31日 输入小月30日 输入12月31日 输入数据 预期结果 实际结果 2011年6月162011年6月15日 2011年6月16日 日 2501年6月15日 日期输入有误 输入有误,重新输入 2011年6月33日 日期输入有误 输入有误,重新输入 2011年13月15日期输入有误 输入有误,重新输入 日 2000年3月12000年2月29日 2000年3月1日 日 2001年3月12001年2月28日 2001年3月1日 日 2001年4月12001年3月31日 2001年4月1日 日 2001年5月12001年4月30日 2001年5月1日 日 2004年12月312005年1月12005年1月1日 日 日

NextDate函数测试用例

NextDate函数测试用例

判定覆盖

编号 1 2 输入数据 预期结果 实际结果 2000年7月12000年6月30日 2000年6月16日 日 2011年1月12010年12月31日 2011年1月1日 日 NextDate函数测试用例

黑盒测试

利用等价类划分法设计测试用例 输入条件 编号 有效等价类 输入年份 输入月份 输入日期 输入类型 输入为闰年 输入为平年 ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ 编号 无效等价类 年<1912 年〉2012 月〈1 月〉12 日期<1 日期〉31 除int型外的任意输入 输入为闰年2月30日 输入2月29日 覆盖等价类 ⑴⑵⑶⑷ ⑸ ⑹ 1912〈=年<=2012 ⑺ ⑻ 1〈=月份〈=12 ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ 实际输出 1988/2/4 2000/3/1 2001/3/1 1<=日期〈=31 输入为int型 输入2月29日 输入2月28日 预期结果 1988/2/4 2000/3/1 2001/3/1 测试执行情况与记录 测试用例编号 输入 1 1988/2/3 2 2000/2/29 3 2001/2/28 4 1800/1/2年份输入年份输入有误,请重新输⑺ NextDate函数测试用例

3 5 2200/3/2 6 1912/0/3 7 1927/30/3 1956/3/—20 1972/3/43 asd 2000/2/30 8 9 10 11 12 2001/2/29 有误,请重新输入 年份输入有误,请重新输入 月份输入有误,请重新输入 月份输入有误,请重新输入 日期输入有误,请重新输入 日期输入有误,请重新输入 程序进入死循环 本月是闰月,请在1—29之间从新输入日期 2001/2/30 入 年份输入有误,请重新输⑻ 入 月份输入有误,请重新输⑼ 入 月份输入有误,请重新输⑽ 入 日期输入有误,请重新输⑾ 入 日期输入有误,请重新输⑿ 入 程序进入死循环 ⒀ 本月是闰月,请在1—29⒁ 之间从新输入日期 2001/2/30 ⒂

NextDate函数测试用例

NextDate函数测试用例

NextDate函数测试用例

边界值测试

用例 月份 日期 年 1 2 3 4 5 6 7 8 9 10 11 6 6 6 6 6 6 6 6 6 6 1 15 15 15 15 15 1 2 15 30 31 15 1911 1912 1962 2012 2013 1962 1962 1962 1962 1962 1962 预期输出 实际输出 6/16/1911 6/16/1911 6/16/1912 6/16/1912 6/16/1962 6/16/1962 6/16/2012 6/16/2012 6/16/2013 6/16/2013 6/2/1962 6/2/1962 6/3/1962 6/3/1962 6/16/1962 6/16/1962 7/1/1962 7/1/1962 非法输入 非法输入 1/16/1962 1/16/1962 NextDate函数测试用例

12 13 14 15

2 6 11 12 15 15 15 15 1962 1962 1962 1962 2/16/1962 2/16/1962 6/16/1962 6/16/1962 11/16/1962 11/16/1962 12/16/1962 12/16/1962

NextDate函数测试用例

NextDate函数测试用例

NextDate函数测试用例

结果分析:

白盒测试和黑盒测试的用例中,预期结果与运行结果都是相同的,与实际日期符合的,因此,本函数准确性较好,但是存在死循环,说明程序鲁棒性不好,还有待改

NextDate函数测试用例

进。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务