某函数包含三个输入变量year、month、day,分别表示年、月、日,函数的输出为输入日期后一天的日期。例如,输入year=2010、month=1、day=1,则函数的输出为2010年1月2日。 已定义变量year、month、day的值均为正整数,且year取值从1900到2012年。试采用等价类划分法设计测试用例。
时间: 2023-04-04 08:05:07 浏览: 197
定义一个Date 类,数据成员有year,month, day。以“年_月_日“的格式输出日期, 还提供把天加一的成员函数nextdate( ),要求能测试出如下的结果:
5星 · 资源好评率100%
答:根据等价类划分法,我们可以将输入变量划分为以下几类:
1. 闰年的2月份,输入变量为year能被4整除但不能被100整除,或者能被400整除的情况;
2. 平年的2月份,输入变量为year不能被4整除或者能被100整除但不能被400整除的情况;
3. 大月份,即1、3、5、7、8、10、12月份;
4. 小月份,即4、6、9、11月份;
5. 非法输入,如输入的年份小于1900或大于2012,月份小于1或大于12,日期小于1或大于当月的最大日期。
我们可以设计以下测试用例:
1. 输入year=2000、month=2、day=28,预期输出为2000年2月29日;
2. 输入year=2001、month=2、day=28,预期输出为2001年3月1日;
3. 输入year=2012、month=12、day=31,预期输出为2013年1月1日;
4. 输入year=2010、month=4、day=30,预期输出为2010年5月1日;
5. 输入year=1899、month=2、day=29,预期输出为非法输入;
6. 输入year=2012、month=13、day=1,预期输出为非法输入;
7. 输入year=2012、month=2、day=30,预期输出为非法输入。
阅读全文