211606379王熙航 211606342杨艺勇2
自己取一个大气又可爱的标题
一、预估与实际
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 1350 | 1410 |
• Estimate | • 估计这个任务需要多少时间 | 60 | 60 |
Development | 开发 | 600 | 660 |
• Analysis | • 需求分析 (包括学习新技术) | 60 | 60 |
• Design Spec | • 生成设计文档 | 30 | 30 |
• Design Review | • 设计复审 | 30 | 30 |
• Coding Standard | • 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
• Design | • 具体设计 | 60 | 60 |
• Coding | • 具体编码 | 120 | 120 |
• Code Review | • 代码复审 | 60 | 60 |
• Test | • 测试(自我测试,修改代码,提交修改) | 120 | 120 |
Reporting | 报告 | 60 | 60 |
• Test Repor | • 测试报告 | 60 | 60 |
• Size Measurement | • 计算工作量 | 30 | 30 |
• Postmortem & Process Improvement Plan | • 事后总结, 并提出过程改进计划 | 30 | 30 |
合计 | 1410 |
三、设计
1. 设计思路
允许某些测试被忽略或分组并一起执行。
从有返回值,有传参的函数开始入手。测试预期值和返回值是否一样。
定义一个待测试的类,并且定义两个变量,一个用于存放参数,一个用于存放期待的结果。
由于void函数无返回值,则通过设立flag检查测试。
2. 实现方案
四、编码
代码覆盖率度量在运行单元测试时执行了多少代码(百分比)。通常,覆盖率高的代码包含未被检测到的bug的可能性会降低,因为在测试过程中已经执行了更多的源代码。
使用代码工具,这里我们使用PMD代码覆盖测试工具,使用工具可以提高测试质量,因为这些工具可以指出未经测试的代码区域,减少错误率,提高测试效率。
确保有涵盖代码所有分支的测试用例,比如if else语句。
100%的代码覆盖率并不能真正表明测试是否涵盖了所有的场景。
2. 关键代码
测试系统是否能够处理无效数据的测试用例。
用户指定非字母数字值,如特殊字符。
用户指定空白值。
边缘测试用例测试系统是否适合于极值。
五、测试
优化前
1.查找可共用的代码,对重复代码进行封装简化
2.解决增加循环条件的可能性,减少重复操作
3.删除可被替代的参数
优化后