结对编程2——单元测试

 周迪 201421123089    黄睿 201421123069

 coding.net 地址:http://git.oschina.net/hr2324/SoftEngHW


1.我们的代码要使它的利用率大大提高,所以我们要通过单元测试进一步完善代码,发现细小的错误。于是这次就用JUnit进行了简单四则运算的单元测试。

a.需求分析:(1)在上次的基础上将计算模块单独创建一个类;

               (2)针对计算类做单元测试;

               (3)主要做整数和真分数的加减乘除;

                (4) 增量式开发,用git命令提交到coding.net地址。

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

(1)整数的加减乘除测试:

 

@Test
    public void testAdd() {
        number a=new number(156,78);
        number b=new number(19, 32);
        calculate c=new calculate(a,b);
        c.add();
        number a1=new number(100,78);
        number b1=new number(10, 32);
        calculate c1=new calculate(a1,b1);
        c1.add();
        
    }

    @Test
    public void testSub() {
        number a=new number(1,3);
        number b=new number(2,3);
        calculate c=new calculate(a,b);
        c.sub();
        number a1=new number(29,47);
        number b1=new number(55,67);
        calculate c1=new calculate(a1,b1);
        c1.sub();
        number a2=new number(66,7);
        number b2=new number(53,27);
        calculate c2=new calculate(a2,b2);
        c2.sub();
        
    }

    @Test
    public void testMuti() {
        
        number a=new number(1,3);
        number b=new number(2,3);
        calculate c=new calculate(a,b);
        c.muti();
        number a1=new number(27,43);
        number b1=new number(5,6);
        calculate c1=new calculate(a1,b1);
        c1.muti();
        number a2=new number(66,7);
        number b2=new number(53,27);
        calculate c2=new calculate(a2,b2);
        c2.muti();
    }

    @Test
    public void testDiv() {
        number a=new number(89,39);
        number b=new number(27,39);
        calculate c=new calculate(a,b);
        c.div();
        number a1=new number(26,24);
        number b1=new number(5,6);
        calculate c1=new calculate(a1,b1);
        c1.div();
        
    }

}

   利用JUnit看出成功与否和耗时:

(2)分数的加减乘除测试:

@Test
    public void testAdd() {
        number a=new number(77/156,78/99);
        number b=new number(19/33, 32/49);
        calculate c=new calculate(a,b);
        c.add();
    }

    @Test
    public void testSub() {
        number a=new number(1/45,5/47);
        number b=new number(2/34,3/67);
        calculate c=new calculate(a,b);
        c.sub();
    }

    @Test
    public void testMuti() {
        
        number a=new number(1/11,3/33);
        number b=new number(2/22,3/33);
        calculate c=new calculate(a,b);
        c.muti();
        number a1=new number(27/56,43/87);
        number b1=new number(5/6,6/11);
        calculate c1=new calculate(a1,b1);
        c1.muti();
    }

    @Test
    public void testDiv() {
        number a=new number(89/99,39/76);
        number b=new number(27/44,39/56);
        calculate c=new calculate(a,b);
        c.div();
        
    }

}

  利用JUnit看出成功与否和耗时:

(3)当出现 “ 248 / 0”时:出现错误

(4)代码覆盖率:

c. 小结与感受:

1、结队写作业的过程可以互相提问题查错纠错,比单独完成作业的效率更高,质量也更高,明显感觉到结对编程对我们的学习有很大的帮助。
2、测试代码覆盖率时,一头雾水,之后通过多方途径才学会了使用EclEmma工具来测试代码覆盖率。
3、学会了在Eclipse中使用GIT提交代码,以后代码可以随时同步很方便。

在隔了一周之后再看之前的代码的体会

1、良好的设计
按照之前的要求,基本功能都实现了,bug也在上一次作业中就基本修复了,但是设计还是有一些欠缺。
2、编码规范
规范性比较差,两个人合作多多少少会有些代码写得比较乱,规范性还有待提高,要多参照别人的代码规范。
3、必要的注释
两个人合作,对于注释还是非常重要的,必要的注释才能让队友看得明白,这样更容易合作。

 2.描述结对的过程,提供非摆拍的两人在讨论、细化和编程时的结对照片。

结队照片:

                                 

3.PSP:

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning计划  
· Estimate估计这个任务需要多少时间10h8h
Development开发8h7h
· Analysis需求分析 (包括学习新技术)3h5h
· Design Spec生成设计文档  
· Design Review设计复审  
· Coding Standard代码规范4h3h
· Design具体设计  
· Coding具体编码10h8h
· Code Review代码复审5h4h
· Test测试(自我测试,修改代码,提交修改)8h6h
Reporting报告2h2h
·测试报告5h4h
·计算工作量5h4h
·并提出过程改进计划  

 

转载于:https://www.cnblogs.com/89zhoudi/p/6641864.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值