所测源码: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)这到底是在写什么?现在已经尽我所能看懂程序,并画出所测程序的流程和编写测试用例)