结对编程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)”在数值范围是 -1000 .. 1000 的时候,传进去 “10000 + 32768”,”考虑到是数组越界和输入错误的情况,经过讨论决定写成异常抛出,经测试后成功;
(3)代码的模块化和规范化还是非常重要的,整个代码都比之前的清晰了非常多,一目了然,比起之前凌乱的状况好多了;
(4)测试这一块是由我来做的,当我测试出问题时,我和我的搭档先分析问题是什么,进而思考解决方法,由于之前合作过一次,所以这次合作起来更为融洽。而且两个人可以互相取长补短,一起讨论,学习对方身上的优点。我还是很喜欢这种结对的合作方式的。

四、在隔了一周之后再看之前的代码,是否更能体会到下面这些东西

(1) 良好的设计
良好的设计还是非常重要的,宏观上有着很清晰的划分作用,使人一目了然。刚开始编程的时候我们把计算的功能放整个程序里,以至于程序冗长而不直观,而且进行单元测试的时候有点困难,于是我们只能对整个代码重新设计,再编写。所以说,良好的设计是非常重要的,模块功能要清晰。这样阅读代码也比较方便。

(2) 编码规范
编码规范这块倒是没什么太大的问题。以后还是会继续加强的。

(3) 必要的注释
由于我们在之前的代码里都会加上必要的注释,这样做不仅方便别人阅读我们的代码。也方便我们重新熟悉自己的代码。

五、PSP

最后附上我们两合作的照片一张:

 

posted on 2017-03-28 21:23  justly  阅读(157)  评论(1编辑  收藏  举报