zoukankan      html  css  js  c++  java
  • 结队编程二---单元测试

    结对编程2——单元测试

    201421123001 廖婷婷    201421123008 刘伟霞

    一、需求分析:

    1.整数加减乘除的测试;

    2.真分数加减乘除的测试;

    3.最小值测试;

    4.最大公约数测试;

    5.最大公倍数测试;

    二、测试框架:

    项目以JAVA开发,然后使用JUNIT4进行测试,eclemma实现代码覆盖率统计。

    三、测试用例:

    1.整数加减乘除的测试:

    public class CalculatorTest {
    
        @Test
        public void testCalculatorint() {
            Calculator calculator=new Calculator();
            calculator.Calculatorint(2,2,"+");
            assertEquals(4, calculator.getResult());
            calculator.Calculatorint(2,2,"-");
            assertEquals(0, calculator.getResult());
            calculator.Calculatorint(2,2,"*");
            assertEquals(4, calculator.getResult());
            calculator.Calculatorint(2,2,"/");
            assertEquals(1, calculator.getResult());
        }                                                
    }
    package test;
    import static org.junit.Assert.*;
    import org.junit.Test;
    public class CalculatorTest {
        @Test
        public void testCalculatorint() {
            Calculator calculator=new Calculator();
            calculator.Calculatorint(2,2,"+");
            assertEquals(4, calculator.getResult());
            calculator.Calculatorint(2,2,"-");
            assertEquals(0, calculator.getResult());
            calculator.Calculatorint(2,2,"*");
            assertEquals(4, calculator.getResult());
            calculator.Calculatorint(2,2,"/");
            assertEquals(1, calculator.getResult());
        }                                                
    }

    2.真分数加减乘除测试:

    package test;
    import static org.junit.Assert.*;
    import org.junit.Test;
    public class ProfraCalculatorTest {
      @Test
      public void testProfraAdd() {
        ProfraCalculator a=new ProfraCalculator();
        a.profraAdd(2, 5, 2, 5);
        assertEquals((double)4/5, a.getResult(), 0.1);
      }
      @Test
      public void testProfraSub() {
        ProfraCalculator a=new ProfraCalculator();
        a.profraSub(3, 5, 2, 5);
        assertEquals((double)1/5, a.getResult(), 0.1);
        
      }
      @Test
      public void testProfraMul() {
        ProfraCalculator a=new ProfraCalculator();
        a.profraMul(2, 5, 2, 5);
        assertEquals((double)4/25, a.getResult(), 0.1);
        
      }
      @Test
      public void testProfraDiv() {
        ProfraCalculator a=new ProfraCalculator();
        a.profraDiv(2, 5, 2, 5);
        assertEquals(1, a.getResult(), 0.1);
        
      }

    3.最小值、最大公约数、最小公倍数测试:

      @Test
      public void testMin() {
        ProfraCalculator.min(5, 6);
        assertEquals(5, ProfraCalculator.min(5, 6));
      }
      
      @Test
      public void testGcd() {
        ProfraCalculator.gcd(10, 2);
        assertEquals(2, ProfraCalculator.gcd(10, 2));
        
      }
      @Test
      public void testLcm() {
        ProfraCalculator.lcm(10, 2);
        assertEquals(10, ProfraCalculator.lcm(10, 2));
       
      }

    4.整体覆盖率:

    四、小结与感受:

    这已经是第二次结队作业了,有了之前的合作经验,再次合作更加有默契。在我们俩共同的努力的下,轻松愉快地完成了第二次结对作业。

    隔了一周再看之前写过的代码,我和我的队友廖婷婷一致认为,尽管当时我们多次互相查错纠错,反反复复试验了很多次才交的作业,依然可以找到得以改进的地方,可以有更好的设计,编码也可以更加规范,代码旁添加注释会让读者看起来更方便。

    结队写作业的过程可以互相提问题查错纠错,比单独完成作业的效率更高,质量也更高,明显感觉到结对编程对我们的学习有很大的帮助。

    这次结队作业经过我和廖婷婷的多次测试和修改,才提交了最终版本。多次提交的记录可以在我队友廖婷婷的码市上看的出来,测试完成之后我只提交了最终版本。

    五、码市地址:https://coding.net/u/Dt-ghost/p/teamwork2.0/git/tree/master/

    六:PSP

    PSP2.1 Personal Software Process Stages Time (%) Senior Student Time (%)
    Planning 计划    
    · Estimate 估计这个任务需要多少时间 15h 20h
    Development 开发    
    · Analysis 需求分析 (包括学习新技术) 1h 2h
    · Design Spec 生成设计文档    
    · Design Review 设计复审    
    · Coding Standard 代码规范 1h 1h
    · Design 具体设计    
    · Coding 具体编码 12h 15h
    · Code Review 代码复审 2h 1h
    · Test 测试(自我测试,修改代码,提交修改) 5h 4h
    Reporting 报告 1h 1h
    ·Test Report 测试报告    
    · Size Measurement 计算工作量    
    ·Postmortem & Process Improvement Plan 并提出过程改进计划
  • 相关阅读:
    Nginx配置SSL证书实现https访问及端口映射
    Nginx动静分离实现
    Nginx+Keepalived实现高可用部署
    Linux环境Nginx反向代理实现负载均衡
    Linux环境Nginx安装
    merlin矿池被攻击详情
    CVE-2021-26855 Exchange Server RCE
    C语言博客作业04--数组
    第四次作业
    SpringBoot集成多数据源-----基于数据库维护
  • 原文地址:https://www.cnblogs.com/Dt-ghost/p/6639318.html
Copyright © 2011-2022 走看看