结对项目博客

项目 内容
这个作业属于哪个课程 2020计算机学院软件工程(罗杰 任健)
这个作业的要求在哪里 结对项目作业
教学班级 006
项目地址

1. PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
· Estimate · 估计这个任务需要多少时间
Development 开发
· Analysis · 需求分析 (包括学习新技术)
· Design Spec · 生成设计文档
· Design Review · 设计复审 (和同事审核设计文档)
· Coding Standard · 代码规范 (为目前的开发制定合适的规范)
· Design · 具体设计
· Coding · 具体编码
· Code Review · 代码复审
· Test · 测试(自我测试,修改代码,提交修改)
Reporting 报告
· Test Report · 测试报告
· Size Measurement · 计算工作量
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划
合计

4. 计算模块接口的设计与实现

6. 计算模块接口部分的性能改进

7. Design by Contract & Code Contract

8. 单元测试覆盖率

代码覆盖率情况:(使用VS2017 Enterprise代码覆盖率工具生成)

image-20200321234124390

对项目中的类的单元测试覆盖率为 \(93.07\%\) ,对类 Circle 的覆盖率为 \(100\%\), 对类 Line 的覆盖率为 \(98.5\%\)

我们设置了针对功能的测试和针对异常的测试。

针对功能性测试,我们测试了圆、直线、线段和射线的一些函数在正常情况下的功能性,同时也构造了一些特殊情况下的测试用例,比如

// 射线 圆 内部相交
PlaneContainer pc;
pc.insert(new Circle(0, 0, 2));
pc.insert(new Line(1, 0, 2, 2, RL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 1);
// 射线 射线 一个交点
PlaneContainer pc;
pc.insert(new Line(0, 0, 1, 1, RL));
pc.insert(new Line(0, 0, -1, -1, RL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 1);
// 精度测试
PlaneContainer pc;
pc.insert(new Line(0, -100000, 1, 100000, SL));
pc.insert(new Line(0, 0, 0, 1, SL));
pc.insert(new Line(0, -99999, 1, -99999, SL));
int count = pc.countIntersectionPoints();
Assert::AreEqual(count, 3);

而针对异常的测试用例如下:

异常

猜你喜欢

转载自www.cnblogs.com/zkksx/p/12560849.html
今日推荐