结队编程二---单元测试

结对编程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 并提出过程改进计划
原文地址:https://www.cnblogs.com/Dt-ghost/p/6639318.html