第一次作业+105032014124

、流程图:根据被测代码,绘制程序流程图

二、测试用例设计:依据语句覆盖、判定覆盖,编写测试用例设计

用例编号

覆盖方式

输入数据

期待结果

实际结果

结论

U01

语句覆盖

-1322051

月份超出范围

月份超出范围

通过

U02

语句覆盖

12312008

200911

200911

通过

U03

语句覆盖

12311995

199511

199511

通过

U04

判定覆盖

6321995

日期超出范围

日期超出范围

通过

U05

判定覆盖

662051

年份超出范围

年份超出范围

通过

U06

判定覆盖

3212008

2008322

2008322

通过

U07

判定覆盖

2282008

2008229

2008229

通过

U08

判定覆盖

6212009

2009622

2009622

通过

09

判定覆盖

2282009

200931

200931

通过

10

判定覆盖

12312009

201011

201011

通过

11

判定覆盖

2292009

日期超过范围

日期超过范围

不通过

三、测试结果:

     该程序含有注释,可以使代码更清晰,且执行结果大部分正确,有一点小缺陷,如:当输入2009年2月29日(即非闰年的2月份)时,程序输出错误,没能输出预期的结果-日期超出范围。

   

四、代码优化建议:

    (1) 在画流程图时,我发现被测代码使用数组isleap、noleap,来区别闰年与非润年的2月份,这种情况会减少语句的判断,但会出现上面的错误:无法判断非润年2月29号存在的错误;

    (2) 该程序还可以对重复的语句进行删减;

    (3) 该程序利用while(1)来实现可以反复输入数据,但没有可以退出的功能,程序会一直反复执行。

原文地址:https://www.cnblogs.com/xiaojuangao/p/6605968.html