等价类划分:
输入条件 |
有效等价类 |
编号 |
无效等价类 |
编号 | ||
Year |
>0 && <=9999 |
1 |
<=0 || >999 |
7 | ||
Month |
>0 && <=12 |
2 |
<=0 || >12 |
8 | ||
Day |
Month = 4/6/9/11 |
>0 && <=30 |
3 |
<=0 || >30 |
9 | |
Month = 1/3/5/7/8/10/12 |
>0 && <=31 |
4 |
<=0 || >31 |
10 | ||
Month = 2 |
Year=leap |
>0 && <=29 |
5 |
<=0 || >29 |
11 | |
Year!=leap |
>0 && <=28 |
6 |
<=0 || >28 |
12 |
依据上述等价类的划分而设计的测试用例如下:
测试用例编号 输入数据 覆盖等价类 预计输出 Year Month Day 1 2010 6 12 1,2,3 Saturday 2 2010 6 31 1,2,9 Error 3 0000 6 12 7,2,3 Error 4 2010 13 23 1,8 Error 5 2010 5 23 1,2,4 Sunday 6 2010 5 32 1,2,10 Error 7 2000 2 28 1,2,5 Monday 8 2000 2 30 1,2,11 Error 9 2010 2 29 1,2,12 Error 10 2010 2 1 1,2,6 Monday
这中等价类划分的测试方式没有任何问题。。。。但是,我们往下面看,问题就来了。
输入2001年6月25日 测试时的输出是 sunday,但是电脑windows系统上的时钟是monday
输入2005年7月23日 测试时的输出时 Friday,但是电脑windows系统上的时钟是 saturday
也就是说 有时候是正确的有时候却是错误的。
希望高手给我指正错误!