一、流程图


二、测试用例设计
| 用例编号 |
覆盖方式 |
输入数据 | 预期结果 | 实际结果 | 测试结论 |
| 1 |
语句、条件覆盖 |
2051,1,1 | 年份超出范围 | 年份超出范围 | 通过 |
| 2 |
语句、条件覆盖 |
2000,0,31 | 月份超出范围 | 月份超出范围 | 通过 |
| 3 |
语句、条件覆盖 |
2014,3,32 | 日期超出范围 | 日期超出范围 | 通过 |
| 4 |
语句、条件覆盖 |
2000,2,30 | 日期超出范围 | 日期超出范围 | 通过 |
| 5 |
语句覆盖 |
2016,2,28 | 2016,2,29 |
2016,2,29 2016,2,29 |
不通过 |
| 6 |
语句、条件覆盖 |
2016,2,29 | 2016,3,1 | 2016,3,1 | 不通过 |
| 7 |
语句、条件覆盖 |
1987,4,30 | 1987,5,1 |
1987,5,1 1987,5,1 |
不通过 |
| 8 |
语句、条件覆盖 |
2050,12,31 | 1935,1,1 |
2051,12,31 2051,12,31 |
不通过 |
| 9 |
语句、条件覆盖 |
2016,1,31 | 2016,2,1 |
2016,2,1 2016,2,1 |
不通过 |
| 10 |
语句覆盖 |
1934,4,4 | 1934,4,5 | 1934,4,5 | 不通过 |
| 11 |
语句覆盖 |
1971,2,29 | 日期超出范围 | 1971,2,30 | 不通过 |
三、代码优化建议
1、缺少对非闰年2月的日期界限判断;
2、缺少返回值导致错误,如下图:

要在适当的语句块中添加return语句;
3、符合switch语句中if条件句的日期会出现两次输出,可以优化一下。
浙公网安备 33010602011771号