第5次作业+160+曾元鹏
开发人员代码:http://www.cnblogs.com/linpanhuang/p/6790891.html
1)被测项目界面。
2)测试用例设计表
等价类
输入条件 |
有效等价类 |
编号 |
无效等价类 |
编号 |
年 |
1912≤year≤2050 |
① |
year<1912 |
② |
Year>2050 |
③ |
|||
非数字 |
||||
月 |
Month= 1,3,5,7,8,10,12 |
④ |
Month<1 |
⑤ |
Month= 4,6,9,11 |
month>12 |
⑥ |
||
Month= 2 |
非数字 |
|||
日 |
1≤ day ≤31 |
⑦ |
day<1 |
⑧ |
Day>311 |
⑨ |
|||
非数字 |
测试用例表
测试用例编号 |
输入数据 |
预期输出 |
实际结果 |
通过与否 |
||||||
Year |
Month |
Day |
这天是星期 |
上一天是 |
下一天是 |
这天是星期 |
上一天是 |
下一天是 |
||
1 |
2000 |
12 |
6 |
三
|
2000年12月5日
|
2000年12月7日 |
三
|
2000年12月5日
|
2000年12月7日 |
通过 |
2 |
2000 |
6 |
30 |
五
|
2000年6月29日 |
2000年7月1日 |
五
|
2000年6月29日 |
2000年7月1日 |
通过 |
3 |
2000 |
2 |
28 |
一
|
2000年2月27日 |
2000年2月29日 |
一
|
2000年2月27日 |
2000年2月29日 |
通过 |
4 |
2055 |
12 |
1 |
|
年份超出范围 |
年份超出范围 |
|
年份超出范围 |
年份超出范围 |
通过 |
5 |
2000 |
13 |
1 |
|
月份超出范围 |
月份超出范围 |
|
月份超出范围 |
月份超出范围 |
通过 |
6 |
2000 |
12 |
32 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
7 |
1900 |
12 |
1 |
|
年份超出范围 |
年份超出范围 |
|
年份超出范围 |
年份超出范围 |
通过 |
8 |
2000 |
0 |
1 |
|
月份超出范围 |
月份超出范围 |
|
月份超出范围 |
月份超出范围 |
通过 |
9 |
1999 |
2 |
30 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
10 |
a |
2 |
12 |
|
年份超出范围 |
年份超出范围 |
程序出现异常 |
不通过 |
||
11 |
2000 |
2s |
10 |
|
月份超出范围 |
月份超出范围 |
程序出现异常 |
不通过 |
||
12 |
2000 |
2 |
Jk |
|
日期超出范围 |
日期超出范围 |
程序出现异常 |
不通过 |
边界值分析法
边界值: 1992≤year≤2050 1≤Month≤12,1≤ day ≤31
测试用例编号 |
输入数据 |
预期输出 |
实际结果 |
通过与否 |
||||||
Year |
Month |
Day |
这天是星期 |
上一天是 |
下一天是 |
这天是星期 |
上一天是 |
下一天是 |
||
1 |
1911 |
12 |
6 |
|
年份超出范围 |
年份超出范围 |
|
年份超出范围 |
年份超出范围 |
通过 |
2 |
1912-1992 |
12 |
6 |
五 |
1912-1992年12月5日 |
1912-1992年12月7日 |
|
年份超出范围 |
年份超出范围 |
不通过 |
3 |
2049 |
12 |
7 |
二 |
2049年12月6日 |
2049年12月8日 |
二 |
2049年12月6日 |
2049年12月8日 |
通过 |
4 |
2050 |
12 |
7 |
三 |
2050年12月6日 |
2050年12月8日 |
三 |
2050年12月6日 |
2050年12月8日 |
通过 |
5 |
2051 |
12 |
7 |
|
年份超出范围 |
年份超出范围 |
|
年份超出范围 |
年份超出范围 |
通过 |
6 |
2000 |
11 |
7 |
二 |
2000年11月6日 |
2000年11月8日 |
二 |
2000年11月6日 |
2000年11月8日 |
通过 |
7 |
2000 |
12 |
7 |
四 |
2000年12月6日 |
2000年12月8日 |
四 |
2000年12月6日 |
2000年12月8日 |
通过 |
8 |
2000 |
13 |
7 |
|
月份超出范围 |
月份超出范围 |
|
月份超出范围 |
月份超出范围 |
通过 |
9 |
2000 |
2 |
28 |
一 |
2000年2月27日 |
2000年2月29日 |
一 |
2000年2月27日 |
2000年2月29日 |
通过 |
10 |
2000 |
2 |
29 |
二 |
2000年2月28日 |
2000年3月1日 |
一 |
2000年2月28日 |
2000年3月1日 |
不通过 |
11 |
2000 |
2 |
30 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
12 |
2000 |
12 |
30 |
六 |
2000年12月29日 |
2000年12月31日 |
六 |
2000年12月29日 |
2000年12月31日 |
通过 |
13 |
2000 |
12 |
31 |
日 |
2000年12月30日 |
2001年1月1日 |
日 |
2000年12月30日 |
2001年1月1日 |
通过 |
14 |
2000 |
12 |
32 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
15 |
2000 |
4 |
29 |
六 |
2000年4月28 |
2000年4月28 |
六 |
2000年4月28 |
2000年4月28 |
通过 |
16 |
2000 |
4 |
30 |
日 |
2000年4月29日 |
2000年4月29日 |
日 |
2000年4月29日 |
2000年4月29日 |
通过 |
17 |
2000 |
4 |
31 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
决策表
M1:{month:month有30天}
M2:{month:month有31天,12月除外}
M3:{month:month有12月}
M4:{month:month有2月}
D1:{day:1≤day≤27}
D2:{day:day=28}
D3:{day:day=29}
D4:{day:day=30}
D5:{day:day=31}
Y1:{year:year是润年}
Y2:{year:year不是润年}
规则1-5处理30天的月份
规则6-10和规则11-15处理有31天的月份,其中规则6-10处理12月之外的月份
规则11-15处理12月,不肯能规则也列出。
规则16-22关注闰年和2月问题
规则 |
1-3 |
4 |
5 |
6-9 |
10 |
11-14 |
15 |
16 |
17 |
18 |
19 |
20 |
21-22 |
||
C1:month在 |
M1 |
M1 |
M1 |
M2 |
M2 |
M3 |
M3 |
M4 |
M4 |
M4 |
M4 |
M4 |
M4 |
||
C2:day在 |
D1-D3 |
D4 |
D5 |
D1-D4 |
D5 |
D1-D4 |
D5 |
D1 |
D2 |
D2 |
D3 |
D3 |
D4-D5 |
||
C3:yer在 |
- |
- |
- |
- |
- |
- |
- |
- |
Y1 |
Y2 |
Y1 |
Y2 |
- |
||
动作 |
|||||||||||||||
a1:不可能 |
|
|
成立 |
|
|
|
|
|
|
|
|
成立 |
成立 |
||
a2:day加1 |
成立 |
|
|
成立 |
|
成立 |
|
成立 |
成立 |
|
|
|
|
||
a3:day复位 |
|
成立 |
|
|
成立 |
|
成立 |
|
|
成立 |
成立 |
|
|
||
a4:month加1 |
|
成立 |
|
|
成立 |
|
|
|
|
成立 |
成立 |
|
|
||
a5:month复位 |
|
|
|
|
|
|
成立 |
|
|
|
|
|
|
||
a6:year加1 |
|
|
|
|
|
|
成立 |
|
|
|
|
|
|
测试用例
测试用例编号 |
输入数据 |
预期输出 |
实际结果 |
通过与否 |
||||||
Year |
Month |
Day |
这天是星期 |
上一天是 |
下一天是 |
这天是星期 |
上一天是 |
下一天是 |
||
1-3 |
2001 |
8 |
16 |
四 |
2001年8月15日 |
2001年8月17日 |
四 |
2001年8月15日 |
2001年8月17日 |
通过 |
4 |
2004 |
8 |
30 |
一 |
2004年8月29日 |
2004年8月31日 |
一 |
2004年8月29日 |
2004年8月31日 |
通过 |
5 |
2001 |
9 |
31 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
6-9 |
2004 |
1 |
16 |
五 |
2004年1月15日 |
2004年1月17日 |
五 |
2004年1月15日 |
2004年1月17日 |
通过 |
10 |
2001 |
1 |
31 |
三 |
2001年1月30日 |
2002年2月1 |
三 |
2001年1月30日 |
2001年2月1 |
不通过 |
11-14 |
2004 |
12 |
16 |
四 |
2004年12月15日 |
2004年12月17日 |
四 |
2004年12月15日 |
2004年12月17日 |
通过 |
15 |
2001 |
12 |
31 |
一 |
2001年12月30日 |
2002年1月1日 |
一 |
2001年12月30日 |
2002年1月1日 |
通过 |
16 |
2004 |
2 |
16 |
一 |
2004年2月15日 |
2004年2月17日 |
一 |
2004年2月15日 |
2004年2月17日 |
通过 |
17 |
2004 |
2 |
28 |
六 |
2004年2月27日 |
2004年2月29日 |
六 |
2004年2月27日 |
2004年2月29日 |
通过 |
18 |
2001 |
2 |
28 |
三 |
2001年2月27日 |
2001年3月1日 |
三 |
2001年2月27日 |
2001年3月1日 |
通过 |
19 |
2004 |
2 |
29 |
日 |
2004年2月28日 |
2004年3月1日 |
三 |
2004年2月28日 |
2004年3月1日 |
不通过 |
20 |
2001 |
2 |
29 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
21-22 |
2004 |
2 |
30 |
|
日期超出范围 |
日期超出范围 |
|
日期超出范围 |
日期超出范围 |
通过 |
3)测试结论
在等价类测试中,通过寻找等价关系可大大减少工作量,同时可以测试有效类与无效类对测序进行测试正确与否。在边界类测试中,最容易找出程序的缺陷所在,对边界值的确认得到进一步的保证。在决策表中表的规模较大,可将问题进行分解使条件的分配组合更为合理。
4)给开发同学的建议
该程序的年限内范围是从1912-2050,而程序中只有1992-2050在此需要改进,同时在边界值,尤其是月份的时候要注意年的+1以及在天数时月的加一。测试中的不通过用例需对此进行改进。