1. 题目
- 构造 NextDate 问题的弱一般的等价类测试用例。
NextDate 问题:NextDate() 是整型变量 month, day 和 year 的函
数,输入 1812-2012 年期间的某一日期的 month, day 和 year 的
值,输出这一天的下一天的日期的 month, day 和 year 值。
2. 答案
1. 划分等价类
变量 month:
- M1 = {month: month has 30 days}
- M2 = {month: month has 31 days except December}
- M3 = {month: month is December}
- M4 = {month: month is February}
变量 day:
- D1 = {day: 1 ≤ day ≤ 27}
- D2 = {day: day = 28}
- D3 = {day: day = 29}
- D4 = {day: day = 30}
- D5 = {day: day = 31}
变量 year:
- Y1 = {year: year is a leap year}
- Y2 = {year: year is a common year}
2. 弱一般的等价类测试用例
用例ID | 月份 | 日期 | 年 | 预期输出 |
---|---|---|---|---|
WN1 | 4 | 27 | 2000 | 2000年4月28日 |
WN2 | 1 | 28 | 1996 | 1996年1月29日 |
WN3 | 12 | 30 | 2002 | 2002年12月31日 |
WN4 | 2 | 30 | 1997 | 输入日期不合法 |
WN5 | 6 | 31 | 1998 | 输入日期不合法 |