zoukankan      html  css  js  c++  java
  • 结对编程2--单元测试

      码市:https://git.coding.net/pyj76566/Homework.git

      组员   201421123085 童毅南

           201421123086 潘益靖

      上一周大家为四则运算程序设计了2-3个新功能,本次在隔了一周之后,我们循序渐进地进阶。本次目标:

    1. 把计算模块提取出来,单独创建一个类。
    2. 针对提取出来的计算类的接口函数做单元测试

      a、需求分析:单元测试能够让我们写的代码更加健全,能够让程序能够不用牵一发而动全身,大大

      的改善了后期的维护花费的工作量。我们把四则运算提取出来做单元测试

      --加法运算--

      

      首先我们提取的是加法,产生两个新分数后调用Calculator.add()方法,在和我们算出的答案用JUNIT中的asserEquals方法比较答案是否一致。

      

      当我们把分母替换成0时候,这行代码就没有通过了

      --减法运算--

      

      我们默认的分数都是正数的,所以当出现1-2=-1时候程序并没有执行下去

      --乘法运算--

      

      乘法我们测试了有的功能,都能执行过

      --除法运算--

      

      不仅四则运算,我们还测试了其他的一些功能,有关分数的例如:

      --判断一个数是否是分数--

      

      其中我们用到了assertFalse()方法 

        用法:assertFalse(boolean condition);

           condition:如果condition结果为false,则通过测试.

     图中我们可以看出缺少分母的数判断是否为分数的结果是false所以是通过了,同理缺少分子,不是数字,分母为零,分子为零,分数误输入为“O”(字母O)结果都是false
      
     --计算分子分母的最大公约数--
     

     
     当我们故意输入一个错的最大公约数,自然是通过不了。

     --判断两个分数是否相等--

     
     
     主要适用于测试两个分数是否相等的功能,这个方法用于比较系统算出的答案和用户输入的答案书否相等。

     --代码覆盖率--

     计算模块的:
      
     
      分数模块的:
     

     --小结与感受--
     
     之前的代码我们已经做到了至少是好一些的规划,每每要用到一个新方法时候,都不在这个方法里面直接写,而是重新写一个目标方法,单元测试我觉得很有意义,能够让我写代码时候能够把一个方法写到尽量

     完美无缺,减少了以后的修改量,还是得代码,条理清晰,一看到就能知道功能,不用再从头开始想,这段代码的意义。

      --体会--

      (1)良好的设计

      在设计程序之前一定要想好自己要设计什么,功能有哪些,可能会出现的错误,不考虑这些的话最后只能是想到一点儿改一点儿,别人提出建议改一点儿,又浪费时间又费事。

      (2)编码规范

      这次这么费劲儿的修改,我们知道以后写程序的时候模块化,函数独立的好处了,就不会修改一点儿就要大幅度改动了,写程序的时候变量名称最好有意义,才能方便以后的读改。

      (3)必要的注释

      这个是早有体会,以后会一直这样做的。

     

      

    PSP(Personal Software Process)表格

      Personal Software Process Stages Time (%) Senior Student Time (%)
    Planning 计划    
    · Estimate 估计这个任务需要多少时间 6h 7h
    Development 开发    
    · Analysis 需求分析 (包括学习新技术) 0.5h 0.5h
    · Design Spec 生成设计文档 0 0
    · Design Review 设计复审 0 0
    · Coding Standard 代码规范 0.1h 0.2h
    · Design 具体设计    
    · Coding 具体编码 1h 2h
    · Code Review 代码复审 0.5h 0.6h
    · Test 测试(自我测试,修改代码,提交修改) 2h 2h
    Reporting 报告 2h 2.6h
    ·Test Report 测试报告 0 0
    · Size Measurement 计算工作量    
    ·Postmortem & Process Improvement Plan 并提出过程改进计划  
    
    
    
  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/smile12231/p/6635651.html
Copyright © 2011-2022 走看看