您的位置:首页 > 编程语言

结对编程2--单元测试

2017-03-28 19:14 183 查看
  码市:https://git.coding.net/pyj76566/Homework.git

  组员   201421123085 童毅南

       201421123086 潘益靖

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

把计算模块提取出来,单独创建一个类。

针对提取出来的计算类的接口函数做单元测试

  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 StagesTime (%) Senior StudentTime (%)
Planning计划
· Estimate估计这个任务需要多少时间6h7h
Development开发
· Analysis需求分析 (包括学习新技术)0.5h0.5h
· Design Spec生成设计文档00
· Design Review设计复审00
· Coding Standard代码规范0.1h0.2h
· Design具体设计
· Coding具体编码1h2h
· Code Review代码复审0.5h0.6h
· Test测试(自我测试,修改代码,提交修改)2h2h
Reporting报告2h2.6h
·Test Report测试报告00
· Size Measurement计算工作量
·Postmortem & Process Improvement Plan并提出过程改进计划

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: