• 结对编程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

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

  • 相关阅读:
    OpenCV数字图像处理学习笔记整理
    SSM框架整合
    Spring MVC 拦截器
    SpringMVC的JSON数据交互和RESTful支持
    Spring MVC数据绑定
    Spring MVC 入门
    Spring 与 Mybatis整合
    MyBatis的关联映射
    iview table中的render函数使用
    iview+vue查询分页实现
  • 原文地址:https://www.cnblogs.com/ly-35/p/6636951.html
Copyright © 2020-2023  润新知