zoukankan      html  css  js  c++  java
  • 结对编程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

    我和我的同伴:

  • 相关阅读:
    Linux
    python中元类
    POJ 1182 食物链
    POJ 1733 Parity game
    top 介绍
    周记 2014.8.31
    windows10配置python
    oracle执行update时卡死问题的解决办法
    An Easy Introduction to CUDA C and C++
    super()
  • 原文地址:https://www.cnblogs.com/belong033/p/6629254.html
Copyright © 2011-2022 走看看