结对编程2——单元测试

编程人员:林晨昕(201421123033)、林莹(201421123035)

coding地址:https://git.coding.net/Belong033/java-third.git

一、需求分析

1、把计算模块提取出来,单独创建一个类。

2、针对提取出来的计算类的接口函数做单元测试:

(1)、通过单元测试代码,测试加法是否能正确工作;

(2)、通过单元测试代码,测试加减乘除功能;

(3)、通过单元测试代码,测试计算类对于各种参数的支持:

a. 输入是有错误的,例如 “1 ++ 2”,

b. 在数值范围是 -1000 .. 1000 的时候,传进去 “10000 + 32768”,

c. 或者是 “ 248 / 0” 怎么办?

d. 怎么告诉函数的调用者 “你错了”? 把返回的字符串定义为 “-1” 来表示?

e. 那么如果真的计算结果是 “-1” 又怎么处理呢?

二、设计测试框架, 模拟测试数据

(1)、测试加减乘除;

(2)、测试计算类对于各种参数的支持:

a. 输入是有错误的,例如 “1 ++ 2”

b. 在数值范围是 -1000 .. 1000 的时候,传进去 “10000 + 32768”,

c. 或者是 “ 248 / 0” 怎么办?

d. 怎么告诉函数的调用者 “你错了”? 把返回的字符串定义为 “-1” 来表示?

在代码里写了个异常抛出

e.代码覆盖率:

三、小结与感受

(1)一开始将整数和分数的计算模块合并时,只写了简单的分数不为零的情况,进过测试后发现除法出问题了,进而解决;
(2)、后来考虑数组越界和输入错误的情况,还是决定写成异常抛出,经测试后成功;
(3)、代码的模块化和规范化还是非常重要的,整个代码都比之前的清晰了非常多,一目了然,比起之前凌乱的状况好多了;
(4)、测试这一块是由林莹来做的,当她测试出问题时,我们都是一边讨论一边修改,效率还是非常高的,毕竟一加一大于二嘛,组队编程还是非常好的合作方式,能够互相监督,而不至于犯懒一直拖延。。

四、在隔了一周之后再看之前的代码,是否更能体会到下面这些东西
(1) 良好的设计
因为开始写的时候并没有对代码进行细致的规划,所以导致计算模块的代码其实散落在整个程序里,后来进行单元测试的时候其实有点困难,要整个代码在进行整理重写
(2) 编码规范
编码规范没什么问题,就是代码的模块模块化没有做好,其他都还好
(3) 必要的注释
在编写代码的过程之中我都会注意加上注释,这是一个好习惯,对于自己重新熟悉代码带来了非常大的方便,不然还得看好久才知道写的是啥
五、PSP

我和我的同伴:

posted @ 2017-03-28 12:56  belong033  阅读(232)  评论(2编辑  收藏  举报