第五次作業+030+路凱旋
測試鏈接:http://www.cnblogs.com/hsy123/p/6803297.html
1.被測項目界面
2.測試用例設計表:
(1)等價類
輸入條件 |
有效等價類 |
編號 |
無效等價類 |
編號 |
Month |
Month=1,3,5,7,8,10 |
1 |
Month<1 |
13 |
Month=4,6,8,9,11 |
2 |
Month>12 |
14 |
|
Month=2 |
3 |
Month為非整數 |
15 |
|
Month=12 |
4 |
|||
Date |
1<=Day<=27 |
5 |
Day<1 |
16 |
Day=28 |
6 |
Day為非整數 |
17
|
|
Day=29 |
7 |
|||
Day=30 |
8 |
|||
Day=31 |
9 |
Day>31 |
18 |
|
Year |
Year為閏年 |
10 |
Year<1912 |
19 |
Year非閏年 |
11 |
Year>2050 |
20 |
|
Year為整數 |
12 |
Year為非整數 |
21 |
等價類測試用例:
測試用例 |
輸入 |
期望輸出 |
實際輸出 |
覆蓋等價類 |
通過 |
||||||
年 |
月 |
日 |
上一天 |
下一天 |
星期幾 |
上一天 |
下一天 |
星期幾 |
|||
1 |
2017 |
2 |
20 |
2017年2月19日 |
2017年2月21日 |
一 |
2017年2月19日 |
2017年2月21日 |
一 |
3,5,11,12 |
√ |
2 |
2016 |
12 |
28 |
2016年12月27日 |
2016年12月29日 |
三 |
2016年12月27日 |
2016年12月29日 |
三 |
4,6,10,12 |
√ |
3 |
2017 |
5 |
29 |
2017年5月28日 |
2017年5月30日 |
一 |
2017年5月28日 |
2017年5月30日 |
一 |
1,7,11,12 |
√ |
4 |
2017 |
6 |
30 |
2017年6月29日 |
2017年7月1日 |
五 |
2017年6月29日 |
2017年7月1日 |
五 |
2,8,11,12 |
√ |
5 |
1911 |
-1 |
31 |
年份超出範圍! |
年份超出範圍! |
9,12,13,19 |
√ |
||||
6 |
2050.1 |
15.1 |
-1.1 |
輸入有誤,請重新輸入! |
輸入有誤,請重新輸入! |
14,15,16,17 |
√ |
||||
7 |
2011 |
12 |
51 |
月份超出範圍! |
月份超出範圍! |
4,11,12,18 |
√ |
||||
8 |
2017 |
2 |
29 |
日期不合法! |
日期不合法! |
3,7,11,12 |
√ |
||||
9 |
2017 |
12 |
32 |
日期超出範圍! |
日期超出範圍! |
4,11,12,18 |
√ |
(2)邊界值:
變量month,day,year的取值範圍為:
1<=month<=12
1<=day<=31
1912<=year<=2050
邊界值測試用例:
測試用例 |
輸入 |
期望輸出 |
實際輸出 |
通過 |
|||||||||
年 |
月 |
日 |
上一天 |
下一天 |
星期幾 |
上一天 |
下一天 |
星期幾 |
|||||
1 |
2017 |
-1 |
10 |
月份超出範圍! |
月份超出範圍! |
√ |
|||||||
2 |
2017 |
0 |
10 |
月份超出範圍! |
月份超出範圍! |
√ |
|||||||
3 |
2017 |
1 |
17 |
2017年1月16日 |
2017年1月18日 |
二 |
2017年1月16日 |
2017年1月18日 |
二 |
√ |
|||
4 |
2017 |
2 |
17 |
2017年2月16日 |
2017年2月18日 |
五 |
2017年2月16日 |
2017年2月18日 |
五 |
√ |
|||
5 |
2017 |
11 |
17 |
2017年11月16日 |
2017年11月18日 |
五 |
2017年11月16日 |
2017年11月18日 |
五 |
√ |
|||
6 |
2017 |
12 |
17 |
2017年12月16日 |
2017年12月18日 |
天 |
2017年12月16日 |
2017年12月18日 |
天 |
√ |
|||
7 |
2017 |
13 |
15 |
月份超出範圍! |
月份超出範圍! |
√ |
|||||||
8 |
2017 |
5 |
-1 |
日期超出範圍! |
日期超出範圍! |
√ |
|||||||
9 |
2017 |
5 |
0 |
日期超出範圍! |
日期超出範圍! |
√ |
|||||||
10 |
2017 |
5 |
1 |
2017年4月30日 |
2017年5月2日 |
一 |
2017年6月2日 |
2017年5月31日 |
一 |
√ |
|||
11 |
2017 |
5 |
2 |
2017年5月1日 |
2017年5月3日 |
二 |
2017年5月1日 |
2017年5月3日 |
二 |
√ |
|||
12 |
2017 |
5 |
30 |
2017年5月29日 |
2017年5月31日 |
二 |
2017年5月29日 |
2017年5月31日 |
二 |
√ |
|||
13 |
2017 |
6 |
31 |
日期不合法! |
日期不合法! |
√ |
|||||||
14 |
2017 |
6 |
32 |
日期超出範圍! |
日期超出範圍! |
√ |
|||||||
15 |
1911 |
6 |
10 |
年份超出範圍! |
年份超出範圍! |
√ |
|||||||
16 |
1912 |
6 |
10 |
1912年6月9日 |
1912年6月11日 |
一 |
1912年6月9日 |
1912年6月11日 |
一 |
√ |
|||
17 |
1913 |
5 |
10 |
1913年5月9日 |
1913年5月11日 |
六 |
1913年5月9日 |
1913年5月11日 |
六 |
√ |
|||
18 |
2049 |
5 |
10 |
2049年5月9日 |
2049年5月11日 |
一 |
2049年5月9日 |
2049年5月11日 |
一 |
√ |
|||
19 |
2050 |
5 |
10 |
2050年5月9日 |
2050年5月11日 |
二 |
2049年5月9日 |
2049年5月11日 |
二 |
√ |
|||
20 |
2051 |
5 |
10 |
年份超出範圍! |
年份超出範圍! |
√ |
(3)決策表:
NextDate:
條件樁如下:
M1={month:month=4,6,9,11}
M2={month:month=1,3,5,7,8,10,}
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為非閏年}
動作樁如下:
R1:變量day加1操作;
R2:變量day復位操作;
R3:變量month加1操作;
R4:變量month復位操作;
R5:變量year加1操作;;
R6:日期不合法!
決策表:
選項規則 |
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 |
M1 |
M1 |
M2 |
M2 |
M2 |
M2 |
M2 |
M3 |
M3 |
M3 |
M3 |
M3 |
M4 |
M4 |
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 |
-- |
-- |
|
動作 |
R1:day+1 |
√ |
√ |
√ |
|
|
√ |
√ |
√ |
√ |
|
√ |
√ |
√ |
√ |
|
√ |
√ |
|
|
|
|
|
R2:day復位 |
|
|
|
√ |
|
|
|
|
|
√ |
|
|
|
|
√ |
|
|
√ |
√ |
|
|
|
|
R3:month+1 |
|
|
|
√ |
|
|
|
|
|
√ |
|
|
|
|
|
|
|
√ |
√ |
|
|
|
|
R4:month復位 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
R5:yea+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R6:日期不合法! |
|
|
|
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
√ |
√ |
√ |
選項規則 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
|
條件 |
C1=month在 |
M5 |
M5 |
M5
|
M5 |
M5 |
M5 |
M6 |
M6 |
M6 |
M6 |
M6 |
M6
|
C2=day在 |
D2 |
D3 |
D3 |
D4 |
D5 |
D6 |
D1 |
D2 |
D2 |
D3 |
D4 |
D3 |
|
C3=year在 |
-- |
Y1 |
Y2 |
-- |
-- |
-- |
-- |
Y1 |
Y2 |
-- |
--
|
--- |
|
動作 |
R1:day-1;
|
|
√ |
|
|
|
|
√ |
|
|
√ |
√ |
√ |
R2:day=28;
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
R3:day=29;
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
R4:day=30;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R5:day=31;
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
R6:month-1;
|
√ |
|
|
|
|
|
|
|
|
|
|
|
|
R7:month=12;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R8:year-1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R9:日期不合法!
|
|
|
√ |
√ |
√ |
√ |
|
|
|
|
|
|
測試用例:
測試用例 |
輸入 |
期望輸出 |
實際輸出 |
通過 |
||
年 |
月 |
日 |
上一天 |
上一天 |
||
1 |
2017 |
5 |
10 |
2017年5月9日 |
2017年5月9日 |
√ |
2 |
2017 |
5 |
1 |
2017年4月30日 |
2017年4月30日 |
√ |
3,4 |
2017 |
5 |
29 |
2017年5月28日 |
2017年5月28日 |
√ |
5 |
2017 |
5 |
31 |
2017年5月30日 |
2017年5月30日 |
√ |
6 |
2017 |
4 |
10 |
2017年4月9日 |
2017年4月9日 |
√ |
7 |
2017 |
4 |
1 |
2017年3月31日 |
2017年3月31日 |
√ |
8,9 |
2017 |
4 |
29 |
2017年4月28日 |
2017年4月28日 |
√ |
10 |
2017 |
4 |
31 |
2017年4月30日 |
2017年4月30日 |
√ |
11 |
2017 |
8 |
4 |
2004年8月3日 |
2004年8月3日 |
√ |
12 |
2017 |
8 |
1 |
2017年7月31日 |
2017年7月31日 |
√ |
13,14,15 |
2017 |
8 |
31 |
2017年8月30日 |
2017年8月30日 |
√ |
16 |
2017 |
1 |
4 |
2017年1月3日 |
2017年1月3日 |
√ |
17 |
2017 |
1 |
1 |
2016年12月31日 |
2016年12月31日 |
√ |
18~20 |
2017 |
1 |
29 |
2017年1月28日 |
2017年1月28日 |
√ |
21 |
2017 |
2 |
4 |
2017年2月4日 |
2017年2月4日 |
√ |
22 |
2017 |
2 |
1 |
2017年1月31日 |
2017年1月31日 |
√ |
23 |
2004 |
2 |
29 |
2017年2月28日 |
2017年2月28日 |
√ |
24 |
2017 |
2 |
29 |
日期不合法! |
日期不合法! |
√ |
25,26,27 |
2017 |
2 |
30 |
日期不合法! |
日期不合法! |
√ |
28 |
2017 |
3 |
4 |
2017年3月3日 |
2017年3月3日 |
√ |
29 |
2004 |
3 |
1 |
2004年2月29日 |
2004年2月29日 |
√ |
30 |
2005 |
3 |
1 |
2005年2月28日 |
2005年2月28日 |
√ |
31~33 |
2017 |
3 |
29 |
2017年3月28日 |
2017年3月28日 |
√ |
3)測試結論
測試通過
4)給開發同學的建議
希望可以優化界面,錦上添花。
第五次作業+030+路凱旋