结对编程二--四则运算单元测试

成员:201421123021 吕志哲

        201421123024 许明涛

详细代码:https://git.coding.net/lz201421/NO.-3.git

a、需求分析

把计算模块提取出来,单独创建一个类。针对提取出来的计算类的接口函数做单元测试。

进行加减乘除的功能测试,显示功能编写是否正确。

b. 设计测试框架, 模拟测试数据

加法测试:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestProject2
{

   [TestClass]
   public class add
   {
       public int addtest2(int p,int q)
      {
          int z;
          z = p + q;
          return z;
      }
      public string addtest3(int a,int b,int c,int d)
      {
          int m, n;
          m=a*c;
          n=b*c+a*d;
          string l = n + "/" + m;
          return l;

      }

      [TestMethod]
      public void TestMethod1()
      {

          var real= addtest2(2,4);
          var answer = 6;
          Assert.IsTrue(real == answer);
          var real1 = addtest3(2,1,3,1);
          var answer1 = "5/6";
          Assert.IsTrue(real1 == answer1);

      }
   }
}

结果 :

乘法测试:

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestProject2
{

    [TestClass]
    public class chengfa
    {
         public int chengfatest2(int p, int q
{
int z; z = p * q; return z; } public string chengfatest3(int a, int b, int c, int d) { int m, n; m = a * c; n =b*d; string l = n + "/" + m; return l; } [TestMethod] public void TestMethod1() { var real =chengfatest2(2, 4); var answer =8; Assert.IsTrue(real == answer); var real1 = chengfatest3(2, 1, 3, 1); var answer1 = "1/6"; Assert.IsTrue(real1 == answer1); } } } 其他运算代码大致相同,可查看coding详细代码。

全部测试通过结果:

具体代码详见地址如开头给出

c. 小结与感受

感受:刚看到这个题目整个人都懵了,可以说几乎不知道怎么做,单独创建一个模块我是懂的,但之前我是根本没接触过单元测试这种东西的,去网上查询相关资料和例子也是完全看不懂,通过其他人的点拨才有了点思绪。

汉堡式评价

先来一片面包:我们两个都是从没做过单元测试的,所以刚开始大部分时间是一点实际的成果也没有,只能多多浏览网上的资料。

再把肉放上:我的队友理解力比我好,所以在实际编程测试中往往能先我一步解决问题,这次的实验他付出的可是比我多,但他比较容易走便捷的方法,做出来的程序也不是很完善。

再来一片面包:两个人的合作配合好,相互帮助,相互促进,共同完成任务。

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

      (1) 良好的设计:逻辑清晰优质,模块化设计的确为设计者提供清晰的思路。

  

      (2) 编码规范:代码规范,变量含义易懂很让人舒服,也才有看下去的欲望。

 

      (3) 必要的注释:注释能帮人理解代码语句的编写目的,注释越多越通俗会越好。

 结对照片:

 

                                             PSP

Personal Software Process Stages

Estimated Time(min)

Actual Time (min)

计划

15

20

·任务估计

10

11

开发

120

200

·需求分析 (包括学习新技术)

30

45

·生成设计文档

15

15

·设计复审

10

11

·代码规范

10

13

·具体设计

10

8

·具体编码

50

69

·代码复审

15

15

·测试(自我测试,修改代码,提交修改)

20

25

报告

30

35

·测试报告

20

22

·计算工作量

10

9

posted @ 2017-03-29 17:39  双口  阅读(148)  评论(2编辑  收藏  举报