zoukankan      html  css  js  c++  java
  • 结对编程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.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划    
    · Estimate 估计这个任务需要多少时间 10h 8h
    Development 开发 8h 7h
    · Analysis 需求分析 (包括学习新技术) 3h 5h
    · Design Spec 生成设计文档    
    · Design Review 设计复审    
    · Coding Standard 代码规范 4h 3h
    · Design 具体设计    
    · Coding 具体编码 10h 8h
    · Code Review 代码复审 5h 4h
    · Test 测试(自我测试,修改代码,提交修改) 8h 6h
    Reporting 报告 2h 2h
    · 测试报告 5h 4h
    · 计算工作量 5h 4h
    · 并提出过程改进计划    
  • 相关阅读:
    ubuntu 软件管理
    java split方法
    linux tcpdump抓包
    linux 文件压缩与解压
    AngularJs出现错误Error: [ng:areq]
    php 跨域设置
    npm 安装完bower 后,提示'bower' 不是内部或外部命令
    less--Module build failed: TypeError: loaderContext.getResolve is not a function
    npm init npm ERR! code EINVALIDTAGNAME
    yarn报错:Found incompatible module
  • 原文地址:https://www.cnblogs.com/89zhoudi/p/6641864.html
Copyright © 2011-2022 走看看