结对编程-单元测试

单元测试

201421123098 胡丹丹 201421123118 张中结
代码地址:https://git.coding.net/zzj201421123118/together-2.git

一、需求分析

1.整数四则运算测试

2.分数四则运算测试

3.求最大公约数测试

二、测试环境

 
项目基于eclipse开发,然后使用用自带JUNIT4进行测试,eclemma实现代码覆盖率统计。

三、测试用例

package JieDui;
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculateTest {
    @Test
    public void testReduce(){
        Calculate cal = new Calculate();
        int result = cal.reduce(40,20);
        int expected=20;
        assertEquals(expected, result);
    }

    @Test
    public void testAdd() {
        Calculate cal = new Calculate();
        String result = cal.add(10, 32768);
        String expected="32778";
        assertEquals(expected, result);
    }
    @Test
    public void testSub() {
        Calculate cal = new Calculate();
        String result = cal.sub(6,3);
        String expected="3";
        assertEquals(expected, result);

    }
    @Test
    public void testMul() {
        Calculate cal = new Calculate();
        String result = cal.mul(6,3);
        String expected="18";
        assertEquals(expected, result);
    }
    @Test
    public void testDiv() {
        Calculate cal = new Calculate();
        String result = cal.div(5,2);
        String expected="5/2";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreAdd() {
        Calculate cal = new Calculate();
        String result = cal.ScoreAdd(6,5,1,5);
        String expected="7/5";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreSub() {
        Calculate cal = new Calculate();
        String result = cal.ScoreSub(4,5,1,5);
        String expected="3/5";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreMul() {
        Calculate cal = new Calculate();
        String result = cal.ScoreMul(4,5,1,5);
        String expected="4/25";
        assertEquals(expected, result);
    }
    @Test
    public void testScoreDiv() {
        Calculate cal = new Calculate();
        String result = cal.ScoreDiv(4,5,1,2);
        String expected="8/5";
        assertEquals(expected, result);
    }
}

运行结果

  

5.覆盖率

6.结对照片

背景是一样的,这是一起约图书馆时拍的,身边没有其他人,就我给他拍,他给我拍。

PSP展示

PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
· Planning 计划 2 2.5
· Estimate 估计这个任务需要多少时间 0.5 0.5
· Analysis 需求分析 (包括学习新技术) 1 1
· Coding Standard 代码规范 0.5 0.5
· Design 具体设计 1.5 2
· Coding 具体编码 20 24
· Test 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1

小结

在提取计算类的时候遇到一个比较严重的问题就是怎么样才能把类提出来之后又能满足主函数的调用和运行不出问题,尝试了好多种方法,只要愿意去做,总还是有办法的。

PS:问在隔了一周之后再看之前的代码,是否更能体会到下面这些东西?

(1) 良好的设计

(2) 编码规范

(3) 必要的注释

答:良好的设计会让我们在后面对程序的扩展应用中少走不少弯路,对于测试类也好,修改代码也好,不会影响到整个程序的运行。而编码的规范能让我们更好的理解代码的运行,对于越大的程序,编码的规范就越重要。而必要的注释更有利于他人理解我们的程序。总之,在以后的编程中要多注意这些因素。

评价下伙伴:

先来一片面包:队友能在我的基础上提出很合适的建议,对于程序的优化和应用扩展,提供了很多思路。

在把肉放上:有时候会想着希望能做得更好点,提出的建议想法都很不错,但是由于编程能力有限,还是选择了简便易行的方式。

再来一片面包: 想要做好不是一个人的事,有时候两个人可能都比较懒惰,做得比较慢,比较拖沓

时间: 2024-11-16 09:43:02

结对编程-单元测试的相关文章

结对编程——单元测试

结对编程 结对人:宫成荣 代码如下: 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 struct Word /* 单词对象 */ 6 { 7 Word() : Str( "" ), Count( 0 ) 8 { 9 } 10 string Str; 11 int Count; 12 }; 13 14 15 void CalcCount( Word *words, stri

结对编程2——单元测试

 周迪 201421123089    黄睿 201421123069  coding.net 地址:http://git.oschina.net/hr2324/SoftEngHW 1.我们的代码要使它的利用率大大提高,所以我们要通过单元测试进一步完善代码,发现细小的错误.于是这次就用JUnit进行了简单四则运算的单元测试. a.需求分析:(1)在上次的基础上将计算模块单独创建一个类: (2)针对计算类做单元测试: (3)主要做整数和真分数的加减乘除: (4) 增量式开发,用git命令提交到co

结对编程2—— 单元测试

结对伙伴:201421123048,201421123036 coding.net 地址:https://git.coding.net/YJh_/PairProject_2.git a. 需求分析:测试上有哪些详细的需求? 1.把计算模块提取出来,单独创建一个类2.通过单元测试代码,测试加法是否能正确工作3.通过单元测试代码,测试加减乘除功能4.通过单元测试代码,测试计算类对于各种参数的支持 输入是有错误的,例如 "1 ++ 2" 在数值范围是 -1000 .. 1000 的时候,传进

结对编程之单元测试

成员: 林 钊 -- 201421123105 吴世荣 -- 201421123119  王坤彬 -- 201421123108 coding地址:https://coding.net/u/linzhao/p/UnitTest/git 需求分析: 1.整数加减乘除的测试: 2.分数加减乘除的测试: 3.最大公约数测试: 4.判断真分数测试: 计算模块: public int gcd(int a, int b)//公约数         {             if (a == 0)     

结对编程

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作.一个人输入代码,而另一个人审查他输入的每一行代码.输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员).两个程序员经常互换角色. 在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理.这样使得驾驶者可以集中全部注意力在完成当前任务的"战术"方面.观察员当作安全网和指南.结对编程对开发程序有很多好处.比如增加纪律性,写出更好的代码等.

结对编程博客作业

一.结对编程: 结对编程的优点: 1.在写代码过程中,有人进行实时的“复审”,能够有效减少逻辑错误. 2.测试时,多一个人就多一个思路,可以更好地找到很多边界情况进行测试. 3.能够互相学习,开拓事业. 缺点: 1.两人的时间凑到一起并不容易,很难完全按照结对编程的工作模式进行工作. 2.分工的话必然会造成工作量上的差异,容易引起一些问题. 3.个人的编程习惯可能会有差异,相互适应的过程中会花费掉一定的实践. 我的同伴的优点: 1.性格挺好,易于沟通. 2.认真完成分工. 3.没有什么不良嗜好以

pair work结对编程(张艺 杨伊)

一.结对编程人员: 张艺(学号后三位:185) 杨伊(学号后三位:151) 二.这是我们工作的样子:(图片) 三.结对编程优缺点:  优点:  1.结对编程时间紧密,在一定程度上可以督促双方学习,提高效率. 2.Coder在coding过程中会遇到一些细小的问题,而reviewer可以及时指出错误,并给予解决方案进行讨论.  3.遇到问题时,两个人一起讨论,并补充对方没有想到的地方,是完善程序最好的方式.  缺点:  在编程过程中,很长时间是coder在coding的过程中想思路,大概这也是每个

结对编程2--单元测试(95\97)

小组成员: 林清青 201421123095  郑   莹 201421123097 代码地址:https://coding.net/u/zy97/p/pp2/git/tree/master/ 一.测试需求分析a.把计算模块提取出来,单独创建一个类. b.针对提取出来的计算类的接口函数做单元测试. c.测试相关单元模块运算错误: 输入错误.例如:"1 ++ 2"的随机算式,或者"*""/"在第一个的错误算式.除数为0的非法表达式错误.例如:除数为

Week4 结对编程

1.照片 1.1  结对编程参与者:李文涛.黎柏文 1.2  展示照片 2.结对编程的优点&缺点 2.1 优点 2.1.1.两人分工合作,减少了工作量 2.1.2.结对编程的伙伴往往能提供不同的思维,能提高解决问题的速度 2.1.3.结对编程的时候能互相测试,更容易发现自己单独发现不了的bug 2.2 缺点 2.2.1.结对编程需要经常讨论,不方便集中注意力 2.3 自己的优缺点 单独工作的时候效率较高 2.4 对方的优点 生活习惯良好,能时刻紧跟进度 3.怎样利用好的设计方法,如Informa