当前位置:文档之家› NextDate函数测试用例

NextDate函数测试用例


int i=0; i=day-29; while(month==2&&i>0) {
cout<<"本月是闰月,请在 1-29 之间从新输入日期"<<endl; 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:
预期结果 2011 年 6 月 16 日 日期输入有误 日期输入有误 日期输入有误 2000 年 3 月 1 日 2001 年 3 月 1 日 2001 年 4 月 1 日 2001 年 5 月 1 日 2005 年 1 月 1 日
实际结果 2011 年 6 月 16 日
输入有误,重新输入 输入有误,重新输入 输入有误,重新输入
if(day==31) {
month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 12: if(day==32) { year++; month=1; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; } cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; }
cout<<"月份输入有误,请重新输入"<<endl; cin>>month; } cout<<"请输入日期:"<<endl; cin>>day; while (day>31||day<1) { cout<<"日期输入有误,请重新输入"<<endl; cin>>day; } while(month==4&&day==31||month==6&&day==31||month==9&&day==31||month==11&&da y==31) { cout<<"小月没有 31 号"<<endl; cin>>day; } if((year%4==0 && year%100!=0) || (year%400==0)) //检查闰年; {
void NextDate(int year,int month,int day) {
cout<<"请输入年份:"<<endl; cin>>year; while(!(year>=1911 && year<=2013)) {
cout<<"年份超过界限,请重新输入"<<endl;
cin>>year; } cout<<"请输入月份:"<<endl; cin>>month; while (month>12||month<1) {
2011 年 1 月 1 日
黑盒测试
利用等价类划分法设计测试用例
输入条件
编号 有效等价类
输入年份

1912<=年<=2012
输入月份

1<=月份<=12
输入日期 输入类型

1<=日期<=31

输入为 int 型
编号 ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀
无效等价类
年<1912 年>2012 月<1 月>12 日期<1 日期>31 除 int 型外的任意输 入
1. 测试程序源代码
#include"stdafx.h" #include <iostream> using namespace std;
void NextDate(int year,int month,int day); void main() {
int year=0,month=0,day=0; NextDate(year,month,day); }
输入数据 2011 年 6 月 15 日 2501 年 6 月 15 日 2011 年 6 月 33 日 2011 年 13 月 15 日 2000 年 2 月 29 日 2001 年 2 月 28 日 2001 年 3 月 31 日 2001 年 4 月 30 日 2004 年 12 月 31 日
白盒测试
பைடு நூலகம் 开始
2 输入年、月、日
3 日期是否合 法?
5 闰年的2月29日或者 非闰年的2月28日
大月的31号或者小月
7
的30号
11
日期加1
4 无效日期
6 明天为3月1日
8 下个月是否大
于12
9
下个月1 号
10 1月1号
12
结束
DD-路径
情况 1. 由一个节点组成,内度=0 情况 2. 由一个节点组成,外度=0 情况 3. 由一个节点组成,内度>=2 或外度>=2 情况 4. 由一个节点组成,内度=1 并且外度=1 情况 5. 长度>=1 的最大链
if (day==32) {
month++; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 2: if(day==29) { month=3; day=1; cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl; } break; case 4: case 6: case 9: case 11:
情况 2 :节点 6、节点 9、节点 10 情况 3 :节点 2、节点 3、节点 5、节点 7、节点 8 情况 4 :节点 4、节点 11
白盒测试对每条 DD-路径测试用例
用例说明 输入正确的年、月、日 输入错误的年、月、日 输入错误的年、月、日 输入错误的年、月、日 输入闰年 2 月 29 日 输入非闰年 2 月 28 日 输入大月 31 日 输入小月 30 日 输入 12 月 31 日
2000 年 3 月 1 日 2001 年 3 月 1 日 2001 年 4 月 1 日 2001 年 5 月 1 日 2005 年 1 月 1 日
判定覆盖
编号 1 2
输入数据
预期结果
实际结果
2000 年 6 月 30 日 2000 年 7 月 1 日 2000 年 6 月 16 日
2010 年 12 月 31 日 2011 年 1 月 1 日
输入为闰年

输入 2 月 29 日
相关主题