结对编程2——单元测试(38/39)

本人(38)码市地址:https://git.coding.net/cholin/Task.git
一、题目要求
1、把计算模块提取出来,单独创建一个类。 2、针对提取出来的计算类的接口函数做单元测试。
二、需求分析
1、通过单元测试代码,测试加法是否能正确工作; 2、通过单元测试代码,测试加减乘除功能; 3、通过单元测试代码,测试计算类对于各种参数的支持。
三、计算模块
封装加减乘除模块:
package random; import junit.framework.TestCase;
public class calculateTest3 extends TestCase
{
protected void setUp() throws Exception { super.setUp(); } public void testAdd() //加法测试模块
{ RandomNum a
=new RandomNum(2,3); RandomNum b=new RandomNum(2,3); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString());
}

public void testSubstract() //减法测试模块
{ RandomNum a
=new RandomNum(1,3); RandomNum b=new RandomNum(2,3); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } public void testDeivde() //除法测试模块
{ RandomNum a
=new RandomNum(2,1); RandomNum b=new RandomNum(3,1); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } public void testMul() //乘法测试模块
{ RandomNum a
=new RandomNum(2,3); RandomNum b=new RandomNum(2,1); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } }
四、单元测试
1、测试框架图

2、首次测试结果,加减乘除皆可执行:
3、将除法模块中,分母改为0,则测试报错:

4、测试超出范围的数相加:
五、利用clover测试代码覆盖率
六、小结
   个人:通过本次实验,我学会了如何利用JUnit进行代码模块的测试,刚开始并不懂这个有什么用,也不知道怎么测试,在队友的帮助下才掌握了方法,同时明白了这种测试的好处,它可以方便快速的找出代码中出错的地方并加以改正。在测试代码覆盖率方面也摸索了好久,有许多可以进行测试的插件,通过讨论我们选择了利用CLOVER,开始一直找不到下载的地方,后来通过百度直接在ECLIPSE的中HELP中安装成功。遗憾的是在测试最后,还是无法解决超出范围相加,导致结果溢出,却并不报错的问题。
    团队:我是个有点拖延症的人,一直都觉得还有时间就一直懒,多亏队友的一直催促提醒,我们才能按时完成。因为两人水平差不多,所以一直都是一起面对问题共同讨论解决的。就像在覆盖率插件的选择上,我们一起讨论比较选择了CLOVER,因为觉得它比较方便好用。我从队友身上学习到了以后应该克服拖延症的问题。同时也为她提了小意见就是写代码要细心一些,多注意细节方面写完整。
   回顾体会:

①良好的设计:结构化模块化编程中这对于管理、修改和扩展非常重要。最初设计时就应有模块化的思想,相互之间的联系尽量少,分层设计,这样容易修改和拓展,否则后续会导致一系列的问题,致使修改起来很苦恼。
②编码规范:每个人都有自己的编码风格,但一定要在遵守最基本的编码规则的基础上进行,否则会导致团队间无法协作,别人看不懂你的代码。
③必要的注释:对于关键代码及方法的注释非常重要,这能使别人快速方便的看懂你飞代码,方便交流节约时间。
七、PSP

PSP2.1

Personal Software Process Stages

Time (%) Senior Student(/hour)

Time (%)(/hour)

Planning

计划

5

6

· Estimate

估计这个任务需要多少时间

5

6

Development

开发

· Analysis

需求分析 (包括学习新技术)                

0.5

0.3

· Design Spec

生成设计文档

0

0

· Design Review

设计复审

0

0

· Coding Standard

代码规范

0.2

0.3

· Design

具体设计

0

0

· Coding

具体编码

0.5

0.5

· Code Review

代码复审

0.5

0.6

· Test

测试(自我测试,修改代码,提交修改)

2

4

Reporting

报告

4

3

·

测试报告

·

计算工作量

·

并提出过程改进计划

八、协作照片

===============================================【晴昼秋岚,皆入我襟怀。 只岁暮天寒 ,独对江清月白。 谢此际春风,待我慷慨。 回眸处,一川青黛。 你随缱绻烟霞而来。】================================================
原文地址:https://www.cnblogs.com/cholin/p/6639512.html