• 结对编程2-单元测试


    卢少锐 201421123027、刘存 201421033023

    coding.net地址

    a. 需求分析:

    1.通过单元测试,测试加减乘除功能。

    2.通过单元测试代码,测试计算类对于各种参数的支持:

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

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

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

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

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

    b. 设计测试框架, 模拟测试数据:

    (1) 请给出计算模块的测试用例及运行结果

    加法测试用例:"3/4"+"1/2" 运行结果:"5/4"

          减法测试用例:"3/4"-"1/2" 运行结果:"1/2"

          乘法测试用例:"3/4"*"1/2" 运行结果:"3/8"

          除法测试用例:"3/4"/"1/2" 运行结果:"3/2"

          约分测试用例:77/88 运行结果:"7/8"

          负数计算测试用例:"-3/4"-"1/2" 运行结果:"5/4"

          输入错误运算符测试用例:"3/4"+-"1/2" 运行结果:"请输入正确运算符!"

          将输入整数转换为分数形式测试用例:"5" 运行结果:"5/1"

    (2) 描述测试过程中遇到的问题以及解决的方案。

    单元测试要求将四则运算算法单独抽出来写成一个类,但之前四则运算gui实现就已经将四则运算算法单独写成了一个类,因此就没有怎么改直接进行的单元测试,在测试过程中遇到了一些字符转换方面的问题,还有就是compute()方法只能识别分数,输入整数时不能识别,后来写了一个方法将输入的整数转化为分数,再进行运算。测试算法时只能识别四种运算符——"+-*/",改了一下之后,在输入错误运算符时会进行报错,输出"请输入正确运算符!"。

    (3) 请展示上面描述的单元测试的每个环节。

    http://images2015.cnblogs.com/blog/1111754/201703/1111754-20170327225425217-2053470814.png

    http://images2015.cnblogs.com/blog/1111754/201703/1111754-20170327225435623-1852929583.png

    c. 小结与感受:由于之前写的四则运算类有许多不完善的地方 ,所以测试的过程出的错比较多,不过后来慢慢也都找到问题所在,都改了过来,通过这个测试,我感受到了代码规范的重要性,这样在出错的时候才能更快的处理,不至于理不出头绪。

    评价下伙伴:

    先来一片面包:写代码的能力很好,全程基本都是他在写,而我在旁边给建议。

    再把肉放上:做事喜欢托到最后才做,而且不够专心,别一边写代码,一边跟女票聊天。

    再来一片面包:做事要积极,而且要专心

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

      1) 良好的设计

      虽然基本功能都实现了,但逻辑不清晰。

      2) 编码规范

       规范性有点差,代码看起来比较乱。

      3) 必要的注释

      大致的注释都有,各个函数的用处开头也都有注释,还可以。

    e.编程时图片

    f.psp

    PSP2.1

      Personal Software Process Stages Time (%) Senior Student Time (%)
    Planning 计划 1 1
    · Estimate 估计这个任务需要多少时间 3 2
    Development 开发 4 5
    · Analysis 需求分析 (包括学习新技术)                 1 2
    · Design Spec 生成设计文档 0 1
    · Design Review 设计复审 2 1
    · Coding Standard 代码规范 1 1
    · Design 具体设计 3 1
    · Coding 具体编码 2 4
    · Code Review 代码复审 1 2
    · Test 测试(自我测试,修改代码,提交修改) 2 3
    Reporting 报告 1 1
    · 测试报告 1 1
    · 计算工作量 2 2
    · 并提出过程改进计划 3 2
  • 相关阅读:
    YUI的treeview组件——带checkbox类型的treeview如何实现disabled功能
    [转载 js] 15个基于Web的HTML编辑器
    YUI3学习笔记 ( 8 )
    js中用于继承的函数extend——摘自《javascript设计模式》
    YUI的treeview组件——带checkbox类型的treeview如何实现disabled功能
    YUI3学习笔记 ( 8 )
    Delphi 2007 代码补全、语句提示的快捷键是什么?
    Fastreport使用经验(转)在Delphi程序中访问报表对象
    cxGrid使用记录
    Delphi编程地一些小程序
  • 原文地址:https://www.cnblogs.com/voga/p/6636583.html
Copyright © 2020-2023  润新知