结对编程2——单元测试(38/39)

结对编程2——单元测试(38/39)PSP2.1PersonalSoftwareProcessStagesTime(%)SeniorStudent(/hour)Time(%)(/hour)Planning计划56·Estimate估计这个任务需要多少时间56Development开发

大家好,欢迎来到IT知识分享网。

本人(38)码市地址:https://git.coding.net/cholin/Task.git
一、题目要求
1、把计算模块提取出来,单独创建一个类。 2、针对提取出来的计算类的接口函数做单元测试。
二、需求分析
1、通过单元测试代码,测试加法是否能正确工作; 2、通过单元测试代码,测试加减乘除功能; 3、通过单元测试代码,测试计算类对于各种参数的支持。
三、计算模块
封装加减乘除模块:
package random; import junit.framework.TestCase;
public class calculateTest3 extends TestCase
{
protected void setUp() throws Exception { super.setUp(); } public void testAdd() //加法测试模块
{ RandomNum a
=new RandomNum(2,3); RandomNum b=new RandomNum(2,3); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString());
}

public void testSubstract() //减法测试模块
{ RandomNum a
=new RandomNum(1,3); RandomNum b=new RandomNum(2,3); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } public void testDeivde() //除法测试模块
{ RandomNum a
=new RandomNum(2,1); RandomNum b=new RandomNum(3,1); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } public void testMul() //乘法测试模块
{ RandomNum a
=new RandomNum(2,3); RandomNum b=new RandomNum(2,1); calculate c=new calculate(); c.Add(a, b); System.out.println(a.toString()); } }
四、单元测试
1、测试框架图
结对编程2——单元测试(38/39)

2、首次测试结果,加减乘除皆可执行:
结对编程2——单元测试(38/39)

3、将除法模块中,分母改为0,则测试报错:

结对编程2——单元测试(38/39)

4、测试超出范围的数相加:

结对编程2——单元测试(38/39)

五、利用clover测试代码覆盖率
结对编程2——单元测试(38/39)
六、小结
   个人:通过本次实验,我学会了如何利用JUnit进行代码模块的测试,刚开始并不懂这个有什么用,也不知道怎么测试,在队友的帮助下才掌握了方法,同时明白了这种测试的好处,它可以方便快速的找出代码中出错的地方并加以改正。在测试代码覆盖率方面也摸索了好久,有许多可以进行测试的插件,通过讨论我们选择了利用CLOVER,开始一直找不到下载的地方,后来通过百度直接在ECLIPSE的中HELP中安装成功。遗憾的是在测试最后,还是无法解决超出范围相加,导致结果溢出,却并不报错的问题。

    团队:我是个有点拖延症的人,一直都觉得还有时间就一直懒,多亏队友的一直催促提醒,我们才能按时完成。因为两人水平差不多,所以一直都是一起面对问题共同讨论解决的。就像在覆盖率插件的选择上,我们一起讨论比较选择了CLOVER,因为觉得它比较方便好用。我从队友身上学习到了以后应该克服拖延症的问题。同时也为她提了小意见就是写代码要细心一些,多注意细节方面写完整。

   回顾体会:

①良好的设计:结构化模块化编程中这对于管理、修改和扩展非常重要。最初设计时就应有模块化的思想,相互之间的联系尽量少,分层设计,这样容易修改和拓展,否则后续会导致一系列的问题,致使修改起来很苦恼。
②编码规范:每个人都有自己的编码风格,但一定要在遵守最基本的编码规则的基础上进行,否则会导致团队间无法协作,别人看不懂你的代码。
③必要的注释:对于关键代码及方法的注释非常重要,这能使别人快速方便的看懂你飞代码,方便交流节约时间。

七、PSP

PSP2.1

Personal Software Process Stages

Time (%) Senior Student(/hour)

Time (%)(/hour)

Planning

计划

5

6

· Estimate

估计这个任务需要多少时间

5

6

Development

开发

 

 

· Analysis

需求分析 (包括学习新技术)                

0.5

0.3

· Design Spec

生成设计文档

0

0

· Design Review

设计复审

0

0

· Coding Standard

代码规范

0.2

0.3

· Design

具体设计

0

0

· Coding

具体编码

0.5

0.5

· Code Review

代码复审

0.5

0.6

· Test

测试(自我测试,修改代码,提交修改)

2

4

Reporting

报告

4

3

·

测试报告

 

 

·

计算工作量

 

 

·

并提出过程改进计划

 

 

八、协作照片

结对编程2——单元测试(38/39)


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34410.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信