• 结对编程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 并提出过程改进计划  
    
    
    
  • 相关阅读:
    bzoj1618 / P2918 [USACO08NOV]买干草Buying Hay(完全背包)
    bzoj1617 / P2904 [USACO08MAR]跨河River Crossing
    bzoj1615 / P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler
    bzoj1613 / P1353 [USACO08JAN]跑步Running
    bzoj1612 / P2419 [USACO08JAN]牛大赛Cow Contest(Floyd)
    bzoj1611 / P2895 [USACO08FEB]流星雨Meteor Shower
    bzoj1610 / P2665 [USACO08FEB]连线游戏Game of Lines
    bzoj1609 / P2896 [USACO08FEB]一起吃饭Eating Together(最长不降子序列)
    bzoj1606 / P2925 [USACO08DEC]干草出售Hay For Sale(01背包)
    [bzoj1041][HAOI2008]圆上的整点
  • 原文地址:https://www.cnblogs.com/smile12231/p/6635651.html
Copyright © 2020-2023  润新知