第1次作业+105032014074

所测源码:http://www.cnblogs.com/m350377814/p/6531687.html

一、流程图

           

二、测试用例

 覆盖方式 用例号 输入 期待结果 实际结果 通过 时间
年           月          日 年          月          日 
语句覆盖 1 2050       12         30 2050        12       31 编译错误 × 19:29:24
语句覆盖 2 2050       12         32 日期超出范围 编译错误 × 19:29:30
语句覆盖 3 2050       11         29 2050       11        30 编译错误 × 19:29:33
语句覆盖 4 2050       11         31 日期超出范围 编译错误 × 19:29:36
语句覆盖 5 2050       13         30 月份超出范围 编译错误 × 19:29:38
语句覆盖 6 2051         1          1 年份超出范围 编译错误 × 19:29:41
语句覆盖 7 2016        2         29 2016         3          1 编译错误 × 19:29:47
语句覆盖 8 2016        2         28 2016         2         29 编译错误 × 19:29:49
语句覆盖 9 2016        2          30 日期超出范围 编译错误 × 19:29:51
语句覆盖 10     0        12         30 程序退出 编译错误 × 19:29:54
判定覆盖 11 2050       12         30 2050        12       31 编译错误 × 19:29:58
判定覆盖 12 2050       12         31 2051         1         1 编译错误 × 19:30:02
判定覆盖 13 2050       11         29 2050        11       30 编译错误 × 19:36:18
判定覆盖 14 2050       11         31 日期超出范围 编译错误 × 19:36:20
判定覆盖 15 2016        2         28 2016        2         29 编译错误 × 19:36:22
判定覆盖 16 2016        2         29 2016        3          1 编译错误 × 19:36:24
判定覆盖 17 2016        2         30 日期超出范围 编译错误 × 19:36:27
判定覆盖 18 2051       13         31 月份超出范围 编译错误 × 19:36:28
判定覆盖 19 2051       12         30 年份超出范围 编译错误 × 19:36:31
             

三、测试结果

          代码编译错误,不能通过测试

四、代码优化建议

          1.代码未能够通过编译,在基本的语法上存在错误,如代码的第23行 int Date::Day(int day1;int month1;int year1); 。

          2.未按照Nextdate()程序的需求编写的(如日期不满足就输出"日期超出范围“而不是"error1",程序中多处出现此类错误。又如未按照“先判断月份在判断日期再判断年,并输出最先不满足的错误”这要求编写代码)。

          3.由流程图可以看出,逻辑上是存在错误的,代码未能通过编译,我判断这个代码逻辑上错误是很多的,如代码的第88行,判断闰年的闰月29天应该在if(month1 ==2)的语句中,而不是在外面。

          4.在逻辑上希望重新梳理,重新按照程序的要求编写代码。

(ps.看完所测的代码我是很难过的,感想只能用一张图形容(what???.jpg)这到底是在写什么?现在已经尽我所能看懂程序,并画出所测程序的流程和编写测试用例)

原文地址:https://www.cnblogs.com/linpanhuang/p/6581912.html