第5次作业+105032014045+杨铭河
1、等价类测试:
有效类 | 无效类 | |
数据类型 | ① 数字字符 | ⑤ 有非数字字符 |
年 | ② 1920<=year<=2050 | ⑥ year<1920 或 ⑦ year>2050 |
月 | ③ 1<=month<=12 | ⑧ month<1 或 ⑨ month >12 |
日 | ④ 1<=day<=31 |
⑩ day <1 或 ⑪ 11 |
测试用例
类型 | 用例号1 | 测试数据 | 覆盖范围 | 预测输出 | 实际输出 | 通过 | ||||||
年 | 月 | 日 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||||
等价类 | 1 | 2017 | 3 | 4 | ①②③④ | 六 | 2017年3月3日 | 2017年3月5日 | 六 | 2017年2月28日 | 2017年3月5日 | ╳ |
无效等价类 | 2 | 2017 | W | 6 | ⑤ | 输入有误,请重新输入 | 空 | 空 | 空 | ╳ | ||
3 | 1900 | 5 | 10 | ⑥ | 输入有误,请重新输入 | 年份超出范围,显示出星期四 | ╳ | |||||
3 | 2080 | 5 | 10 | ⑦ | 输入有误,请重新输入 | 年份超出范围,显示出星期五 | ╳ | |||||
4 | 2017 | 0 | 10 | ⑧ | 输入有误,请重新输入 | 月份超出范围,显示出星期六 | ╳ | |||||
5 | 2017 | 13 | 10 | ⑨ | 输入有误,请重新输入 | 月份超出范围,显示出星期三 | ╳ | |||||
6 | 2017 | 5 | 0 | ⑩ | 输入有误,请重新输入 | 月份超出范围,显示出星期日 | ╳ | |||||
7 | 2017 | 5 | 40 | ⑪ | 输入有误,请重新输入 | 月份超出范围,显示出星期五 | ╳ |
2、边界值测试:
日期测试中,有着3个变量,因此会产生3*4+1=13个测试用例
用例号1 | 测试数据 | 预测输出 | 实际输出 | 通过 | ||||||
年 | 月 | 日 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||
1 | 1985 | 6 | 1 | 六 | 1985年5月31日 | 1985年6月2日 | 六 | 1985年5月31日 | 1985年6月2日 | √ |
2 | 1985 | 6 | 2 | 日 | 1985年6月1日 | 1985年6月3日 | 日 | 1985年6月1日 | 1985年6月3日 | √ |
3 | 1985 | 6 | 30 | 日 | 1985年6月29日 | 1985年7月1日 | 日 | 1985年6月29日 | 1985年7月1日 | √ |
4 | 1985 | 6 | 31 | 一 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ | ||
5 | 1985 | 1 | 15 | 二 | 1985年1月14日 | 1985年1月16日 | 二 | 1984年12月31日 | 1985年1月16日 | ╳ |
6 | 1985 | 2 | 15 | 五 | 1985年2月14日 | 1985年2月16日 | 五 | 1985年2月14日 | 1985年2月16日 | √ |
7 | 1985 | 11 | 15 | 五 | 1985年11月14日 | 1985年11月16日 | 五 | 1985年11月14日 | 1985年11月16日 | √ |
8 | 1985 | 12 | 15 | 日 | 1985年12月14日 | 1985年12月16日 | 日 | 1985年12月14日 | 1985年12月16日 | √ |
9 | 1920 | 6 | 15 | 二 | 1920年6月14日 | 1920年6月16日 | 1920年6月14日 | 1920年6月16日 | √ | |
10 | 1921 | 6 | 15 | 三 | 1921年6月14日 | 1921年6月16日 | 三 | 1921年6月14日 | 1921年6月16日 | √ |
11 | 2050 | 6 | 15 | 三 | 2050年6月14日 | 2050年6月16日 | 三 | 2050年6月14日 | 2050年6月16日 | √ |
12 | 2049 | 6 | 15 | 二 | 2049年6月14日 | 2049年6月16日 | 二 | 2049年6月14日 | 2049年6月16日 | √ |
13 | 1985 | 6 | 15 | 六 | 1985年6月14日 | 1985年6月16日 | 六 | 1985年6月14日 | 1985年6月16日 | √ |
3、决策表测试
M1={month有30天}
M2={month有31天,12月除外}
M3={month是12月}
M4={month是2月}
D1={1<=day<=27}
D2={day=28}
D3={day=29}
D4={day=30}
D5={day=31}
Y1={year是闰年}
Y2={year不是闰年}
规则\选项 |
1,2,3 | 4 | 5 | 6,7,8,9 | 10 | 11,12,13,14 | 15 | 16 | 17 | 18 | 19 | 20 | 21,22 | |
条件 | C1:month在 | M1 | M1 | M1 | M2 | M2 | M3 | M3 | M3 | M4 | M4 | M4 | M4 | M4 |
C2:day在 | D1,D2,D3 | D4 | D5 | D1,D2,D3,D4 | D5 | D1,D2,D3,D4 | D5 | D1 | D2 | D2 | D3 | D3 | D4,D5 | |
C3:year在 | -- | -- | -- | -- | -- | -- | -- | -- | Y1 | Y2 | Y1 | Y2 | -- | |
动作 | A1:不可能 | √ | √ | √ | ||||||||||
A2:day加1 | √ | √ | √ | √ | √ | |||||||||
A3:day复位 | √ | √ | √ | √ | √ | |||||||||
A4:month加1 | √ | √ | √ | √ | ||||||||||
A5:month复位 | √ | |||||||||||||
A6:year加1 | √ |
测试用例
用例号 | 测试输入 | 预期输出 | 实际输出 | 结果 | ||||||
月 | 日 | 年 | 星期 | 上一天 | 下一天 | 星期 | 上一天 | 下一天 | ||
1-3 | 9 | 16 | 2001 | 日 | 2001年9月15日 | 2001年9月17日 | 日 | 2001年9月15日 | 2001年9月17日 | √ |
4 | 9 | 30 | 2001 | 日 | 2001年9月29日 | 2001年10月1日 | 日 | 2001年9月29日 | 2001年10月1日 | √ |
5 | 9 | 31 | 2001 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ | |||
6-9 | 1 | 16 | 2004 | 五 | 2004年1月15日 | 2004年1月17日 | 五 | 2003年12月31日 | 2004年1月17日 | ╳ |
10 | 1 | 31 | 2001 | 六 | 2004年1月30日 | 2004年2月1日 | 六 | 2003年12月31日 | 2004年2月1日 | ╳ |
11-14 | 12 | 16 | 2004 | 四 | 2004年12月15日 | 2004年12月17日 | 四 | 2004年12月15日 | 2004年12月17日 | √ |
15 | 12 | 31 | 2001 | 一 | 2001年12月30日 | 2002年1月1日 | 一 | 2001年12月30日 | 2002年1月1日 | √ |
16 | 1 | 16 | 2001 | 二 | 2001年1月17日 | 2001年1月17日 | 二 | 2000年12月31日 | 2001年1月17日 | ╳ |
17 | 2 | 28 | 2001 | 三 | 2001年2月27日 | 2001年3月1日 | 三 | 2001年2月27日 | 2001年3月1日 | √ |
18 | 2 | 28 | 2004 | 六 | 2004年2月27日 | 2004年2月29日 | 六 | 2004年2月27日 | 2004年2月29日 | √ |
19 | 2 | 29 | 2004 | 日 | 2004年2月28日 | 2004年3月1日 | 日 | 2004年2月28日 | 2004年3月1日 | √ |
20 | 2 | 29 | 2001 | 输入有误,请重新输入 | 四 | 日期超出范围 | ╳ | |||
21-22 | 2 | 30 | 2004 | 输入有误,请重新输入 | 一 | 日期超出范围 | ╳ |
意见:
1、点击关闭时,界面退出了,但程序并没有完全停止
2、点击清空时,界面上的数据显示框并没有将数据清空,只将输入框清空
3、输入测试数据,就算是不存在的日期,实际输出也将星期输出