结对编程之附加题:单元测试
Deadline:
2017-10-29 22:00PM,以博客发表日期为准。
评分基准:
- 检查的项目包括后文的三个方面
- 题目要求
- 代码提交
- 博文规范
题目描述:
上一周大家为四则运算程序设计了2-3个新功能,我们循序渐进地进阶。本次目标:
- 把计算模块提取出来,单独创建一个类。
- 针对提取出来的计算类的接口函数做单元测试。
-
参考助教的示例:
单元测试
一旦我们分离出核心模块,就可以针对该核心模块一步一步开发并做好单元测试,什么是单元测试?请阅读并学习《构建之法》第二章关于单元测试,回归测试的内容。
好了,你一定针对单元测试做了一番学习:
- 阅读并学习了课本上单元测试例子,以及代码覆盖率的知识;
- 或者你还去bing.com,google.com了一把单元测试,JUnit;例如
- 如果你是C/C++写的,你还去挖了一遍CUnit;
- 或者你直接用了C的 #include
- 或者你用了C#,学习了课本上提到的Visual Studio的单元测试框架;
- 请参考《构建之法》
总之,你找到了适合自己语言的一种可以进行单元测试的工具。
那么,勤快的你已经迫不及待的想要自己上手来测一把:
- 通过单元测试代码,测试加法是否能正确工作;
- 通过单元测试代码,测试加减乘除功能。
-
通过单元测试代码,测试计算类对于各种参数的支持。
-
通过增量修改的方式,改进程序, 完成对各种错误情况的处理。
题目要求:
- 结对编程实现上述功能,同样的,在程序正式开发之前,请先预估下PSP每个环节的消耗时间(分钟),并在过程中统计实际耗时(分钟),最后提交PSP表格。
- 继续两人结对协作,把编码规范、领航员和驾驶员角色互换做到位。
- 单元测试: 有单元测试保证,有代码覆盖率。
代码提交:
要求必须增量式开发-用git命令提交到coding.net地址,coding上要能看到多次commit的记录,同时必须有两个人各自的commit记录。
博文规范
-
提交的博客(两个同学都要写)必须完整包含下面内容:
a. 需求分析:测试上有哪些详细的需求?b. 设计测试框架, 模拟测试数据:
- (1) 请给出计算模块的测试用例及运行结果
- (2) 描述测试过程中遇到的问题以及解决的方案。
- (3) 请展示上面描述的单元测试的每个环节。
d. 在隔了一周之后再看之前的代码,是否更能体会到下面这些东西
- (1) 良好的设计
- (2) 编码规范
- (3) 必要的注释
- 在随笔开头,备注两个同学的学号。
- 提供项目开发的coding.net 地址。
- 描述结对的过程,提供非摆拍的两人在讨论、细化和编程时的结对照片。
-
提供此次结对作业的PSP。