第一次作业+105032014093

(1)程序流程图

(2)测试用例设计

覆盖方式

用例号

输入

期待结果

实际结果

通过

时间

判断覆盖

1

1911 1 1

年份超出范围

年份超出范围

 

判断覆盖

2

2017 0 5

月份超出范围

月份超出范围

 

判断覆盖

3

2017 3 20

2017年3月21日

2017年3月21日

 

判断覆盖

4

2017 3 31

2017年4月1日

2017年4月1日

 

判断覆盖

5

2017 12 31

2018年1月1日

2018年1月1日

 

判断覆盖

6

2017 3 32

日期超出范围

日期超出范围

 

判断覆盖

7

2017 4 29

2017年4月30日

日期超出范围

×

 

判断覆盖

8

2017 4 30

2017年5月1日

2017年5月1日

 

判断覆盖

9

2017 4 31

日期超出范围

日期超出范围

 

判断覆盖

10

2016 2 28

2016年2月29日

日期超出范围

×

 

判断覆盖

11

2016 2 29

2016年3月1日

2016年3月1日

 

判断覆盖

12

2016 2 30

日期超出范围

日期超出范围

 

判断覆盖

13

2017 2 27

2017年2月28日

日期超出范围

×

 

判断覆盖

14

2017 2 28

2017年3月1日

2017年3月1日

 

判断覆盖

15

2017 2 29

日期超出范围

日期超出范围

 

(3)测试结果

基本上是正确的,但是在判断日期的时候,小月(只有30天)的第29天以及2月的第28天(闰年)和第27天(非闰年)没有包含在内,有一点小瑕疵。

(4)代码优化建议

 public static boolean isLeapYear(int y)
    {
        if((y % 4 == 0 && y % 100 != 0)||y % 400 == 0)
            return true;
        else
            return false;
    }
if(isLeapYear(y))
isLeapYear()是多余的,在判断是否为闰年的时候,直接在if语句里判断就可以了
还有就是测试结果的小瑕疵,后面加上“=”就可以了
 if(1 <= 1d && d < 29)

if(1 <= d && d < 28)

if(1 <= d && d < 27)

 

posted on 2017-03-20 22:12  ,。?!  阅读(185)  评论(0)    收藏  举报