性能测试
命令判断与处理部分
-
错误指令输入:当输入指令不合法时,弹出错误提示。
-
错误范围输入:当-c之后范围输入不合法时,弹出错误提示。
-
错误路径输入:当-s之后输入路径无效时,弹出错误提示。
生成算法部分
- 性能优化:第一版本的算法速度很慢,经过查阅资料和反复阅读代码,分析发现每行结束时使用 endl 耗费了大量时间。因为采用生成一行写入一行的方式,每次使用 endl 插入换行符后都会调用一次 flush() 。因此,将 endl 改为了使用 “\n” ,大大提高了性能。
- 输入测试:生成了1000000个终局,结果如下。
解决算法部分
- 性能优化:性能方面问题同生成算法部分,更改之后速度大大加快,符合预期。
- 输入测试:因为未找到大数据测试样本,就从网上收集了5道难度很高的数独题进行测试。可见在很短时间内就输出了正确终局。
输入:
输出
时间统计
PSP 2.1 | Personal Software Process Stages | 预估耗时(min) | 实际耗时(min) |
---|---|---|---|
Planning | 计划 | 30 | 30 |
Estimate | 估计这个任务需要多少时间 | 2860 | 1900 |
Development | 开发 | 1200 | 600 |
Analysis | 需求分析(包括学习新技术) | 240 | 360 |
Design Spec | 生成设计文档 | 60 | 60 |
Design Review | 设计复审(和同事审核审计文档) | 30 | 30 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 30 | 30 |
Design | 具体设计 | 120 | 60 |
Coding | 具体编码 | 600 | 300 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 360 | 240 |
Reporting | 报告 | 60 | 60 |
Test Report | 测试报告 | 30 | 30 |
Size Measurement | 计算工作量 | 10 | 10 |
Postmortem & Process Improvement Plan | 事后总结,并提出过程改进计划 | 60 | 30 |
合计 | 2860 | 1900 |