结对编程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
· 并提出过程改进计划    
时间: 2024-08-02 06:59:29

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

结对编程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)     

结对编程2单元测试

成员: 林 钊 -- 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) { return b; } else if (b

结对编程——单元测试

结对编程 结对人:宫成荣 代码如下: 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

结对编程

结对编程(英语: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