个人项目博客(四)

性能测试

命令判断与处理部分

  1. 错误指令输入:当输入指令不合法时,弹出错误提示。
    个人项目博客(四)

  2. 错误范围输入:当-c之后范围输入不合法时,弹出错误提示。
    个人项目博客(四)

  3. 错误路径输入:当-s之后输入路径无效时,弹出错误提示。
    个人项目博客(四)

生成算法部分

  1. 性能优化:第一版本的算法速度很慢,经过查阅资料和反复阅读代码,分析发现每行结束时使用 endl 耗费了大量时间。因为采用生成一行写入一行的方式,每次使用 endl 插入换行符后都会调用一次 flush() 。因此,将 endl 改为了使用 “\n” ,大大提高了性能。
  2. 输入测试:生成了1000000个终局,结果如下。
    个人项目博客(四)个人项目博客(四)

解决算法部分

  1. 性能优化:性能方面问题同生成算法部分,更改之后速度大大加快,符合预期。
  2. 输入测试:因为未找到大数据测试样本,就从网上收集了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