2025.3.17(周一)
1、设计函数实现输入日期显示星期几,并用等价类及边界值法测试
实验步骤:
① 设计程序
② 划分等价类,得到等价类表。等价类表格式如下:
输入条件 |
有效等价类 |
唯一标识 |
无效等价类 |
唯一标识 |
年 |
1900到2050内的闰年 |
(1) |
Year<1900 |
(10) |
1900到2050内的平年 |
(2) |
Year>2050 |
(11) |
|
|
|
非数字 |
(12) |
|
月 |
1,3,5,7,8,10,12 |
(3) |
Month<1 |
(13) |
4,6,9,11 |
(4) |
Month>12 |
(14) |
|
2 |
(5) |
非数字 |
(15) |
|
日 |
1-28 |
(6) |
Day<1 |
(16) |
29 |
(7) |
Day>31 |
(17) |
|
30 |
(8) |
Year为闰年 且Month 为2时,Day>29 |
(18) |
|
31 |
(9) |
Year为平年 且Month 为2时,Day>28 |
(19) |
|
|
|
|
Month=1,3,5,7,8,10,12时,Day>31 |
(20) |
|
|
|
Month=4,6,9,11时,Day>30 |
(21) |
|
|
|
非数字 |
(22) |
③ 运用等价类划分法设计测试用例,得到测试用例表。测试用例表格式如下:
序号 |
输入数据 |
覆盖等价类 |
输出 |
1 |
2000.2.29 |
1,5,7 |
星期二 |
2 |
2024,3,31 |
1,3,9 |
星期日 |
3 |
2023.5.30 |
2,3,8 |
星期二 |
4 |
2023.4.30 |
2,4,8 |
星期日 |
5 |
2022.2.28 |
2,5,6 |
星期一 |
6 |
2025.12.31 |
2,3,9 |
星期三 |
7 |
1899.3.15 |
10 |
输入日期无效 |
8 |
2051.8.30 |
11 |
输入日期无效 |
9 |
-2020.5.10 |
10 |
输入日期无效 |
10 |
2024.0.15 |
13 |
输入日期无效 |
11 |
2023.13.20 |
14 |
输入日期无效 |
12 |
2023.4.31 |
17,21 |
输入日期无效 |
13 |
2023.2.30 |
19 |
输入日期无效 |
14 |
2023.6.0 |
16 |
输入日期无效 |
15 |
2023.3.32 |
17,20 |
输入日期无效 |
16 |
2000.2.30 |
18 |
输入日期无效 |
17 |
2024.a.10 |
15 |
输入日期无效 |
18 |
b.5.10 |
12 |
输入日期无效 |
19 |
2023.6.c |
22 |
输入日期无效 |
④ 运用边界值法设计测试用例。
测试编号 |
年份 (year) |
月份 (month) |
日期 (day) |
预期结果 |
测试类型 |
1 |
1900 |
1 |
1 |
星期一 |
有效边界 |
2 |
2050 |
12 |
31 |
星期六 |
有效边界 |
3 |
2000 |
2 |
29 |
星期二 |
闰年边界 |
4 |
2024 |
2 |
28 |
星期三 |
平年边界 |
5 |
2023 |
4 |
30 |
星期日 |
有效边界 |
6 |
2022 |
5 |
31 |
星期二 |
有效边界 |
7 |
1899 |
1 |
1 |
输入日期无效 |
年份下边界无效 |
8 |
2051 |
12 |
31 |
输入日期无效 |
年份上边界无效 |
9 |
2023 |
0 |
1 |
输入日期无效 |
月份下边界无效 |
10 |
2023 |
13 |
1 |
输入日期无效 |
月份上边界无效 |
11 |
2023 |
4 |
31 |
输入日期无效 |
30天月份无效 |
12 |
2023 |
2 |
30 |
输入日期无效 |
平年2月无效 |
13 |
2023 |
6 |
0 |
输入日期无效 |
日期下边界无效 |
14 |
2023 |
6 |
32 |
输入日期无效 |
日期上边界无效 |
15 |
2000 |
2 |
29 |
星期二 |
闰年有效边界 |
16 |
2023 |
2 |
28 |
星期二 |
平年有效边界 |
17 |
1900 |
2 |
28 |
星期三 |
世纪年特殊情况 |
18 |
2100 |
2 |
28 |
输入日期无效 |
世纪年无效 |
19 |
2024 |
12 |
31 |
星期二 |
年末边界 |
20 |
2025 |
1 |
1 |
星期三 |
年初边界 |
⑤程序测试示例