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

     201421123022 王若凡        201421123026  欧阳勇    

    详细代码


     

    a.需求分析:

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

            a. 加减乘除功能测试

            b.输入非法字符测试

            c.数值超出范围测试

            d.结果除0测试


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

       1. 加减乘除功能测试

    @Test
    
        public void testAdd() {
    
              calc.add(5,8);
    
              assertEquals(13, Integer.parseInt(calc.getResult()));
    
        }
    
     
    
        @Test
    
        public void testSubstract() {
    
            calc.substract(5,8);
    
             assertEquals(-3, Integer.parseInt(calc.getResult()));
    
        }
    
     
    
        @Test
    
        public void testMultiply() {
    
             calc.multiply(5,8);
    
             assertEquals(40, Integer.parseInt(calc.getResult()));
    
        }
    
     
    
        @Test
    
        public void testDivide() {
    
             calc.divide(5,8);
    
             assertEquals(String.valueOf("5/8"), calc.getResult());
    
        }
    
     
    
        @Test
    
        public void testAdd2() {
    
            calc.add2(2,4,2,3);
    
             assertEquals(String.valueOf("7/6"), calc.getResult());
    
        }
    
     
    
        @Test
    
        public void testSubstract2() {
    
             calc.substract2(2,4,2,3);
    
             assertEquals(String.valueOf("1/-6"), calc.getResult());
    
        }
    
     
    
        @Test
    
        public void testMultiply2() {
    
            calc.multiply2(2,4,2,3);
    
             assertEquals(String.valueOf("1/3"), calc.getResult());
    
        }
    
     
    
        @Test
    
        public void testDivide2() {
    
            calc.divide2(2,4,2,3);
    
             assertEquals(String.valueOf("3/4"), calc.getResult());
    
        }

        该部分功能代码较长不贴出,将在coding中。

       2.输入非法字符测试

    @Test
    
    public void testPanduanzifu() {
    
    //String s=calc.getResult();
    
     calc.panduanzifu("4/7!#@$");
    
     assertEquals("input error", calc.getResult());
    
    }
    
      
    
     public void panduanzifu(String s) //判断输入字符,
    
            {
    
         char arr[]= s.toCharArray();
    
                for (int i = 0; i < s.length(); i++)
    
                {
    
                
    
                    if ((arr[i]<45) || (arr[i] > 58))
    
                    {
    
                     sum1="input error";
    
                    }       
    
                }
    
     
    
            }

      

       3.数值超出范围测试

    @Test
    
    public void testRange() {
    
    calc.range(11,3);
    
     assertEquals("outrange", calc.getResult());
    
    }
    
      
    
     public void range(int x, int y)//范围判断
    
                {
    
                    if((x<0 || x>10)||(y<0 || y>10))
    
         sum1="outrange";   
    
                }
    
      

       4.结果除0测试

    @Test
    
    public void testZero() {
    
     calc.zero("4/0");
    
     assertEquals("zero error", calc.getResult());
    
     
    
    }
    
      
    
      public void zero(String s) {//结果除0错误
    
        
    
        s = s.substring(s.length()-2,s.length());
    
        if(s.equals("/0"))
    
        {
    
         sum1="zero error";
    
        }
    
        }

    结果截图 

    当测试数据返回结果sum1与预先设定的结果相同则运行正确。

     


    小结与感受

     此次结对编程2-单元测试,总觉得什么都不会,就好像进入了知识盲区。一开始一头雾水,甚至都不知道要干什么,只能通过队友的言传身教以及网上搜索知识,才慢慢将此次任务完成。测试是很重要的对于一个程序来说,一个系统的测试,会让程序的运行更加安全,减少BUG的出现。经过此次作业,也是发现自己编程水平的不足,知识不全面,还需多多完善。

    汉堡包评价

     先放上一片面包:两个人的共同点在上一次已经说过,这是第二次合作,两个人更加默契了;

     放上肉与佐料:队友的知识体系是比较完善的,在这次我不知所措的时候予以了很大的帮助,虽然此次两个人的角色互换,但更多的是若凡的奉献;

     最后放上面包:第二次的合作更加默契,效率自然而然也提高了,为两个人的进步喝彩!


    PSP

    PSP2.1

    Personal Software Process Stages

    Estimated time(h)

    actual time(h)

    Planning

    计划

    6

    5.2

    · Estimate

    估计这个任务需要多少时间

    6

    5.2

    Development

    开发

    0.5

    0.3

    · Analysis

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

    0.2

    0.2

    · Design Spec

    生成设计文档

    0.2

    0.1

    · Design Review

    设计复审

    0.1

    0.1

    · Coding Standard

    代码规范

    0.2

    0.2

    · Design

    具体设计

    0.5

    0.5

    · Coding

    具体编码

    3

    2.5

    · Code Review

    代码复审

    0.5

    0.5

    · Test

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

    0.3

    0.3

    Reporting

    报告

    0.2

    0.2

    ·

    测试报告

    ·

    计算工作量

    0.1

    0.1

    ·

    并提出过程改进计划

    0.2

    0.2

  • 相关阅读:
    一起学编程(2--认识世界)
    在CentOS 6 中安装 Apache,Mysql, PHP
    JavaScript的代码库
    http get请求获取server返回的应答数据
    Effective C++ 45-48
    通过telent、php深入了解http协议
    UVA 10069 Distinct Subsequences(DP)
    Linux局域网搭建
    iTextSharp之pdfRead(两个文件文本内容的比较,指定页数的pdf截取,水印的添加)
    c#操作pdf文件系列之创建文件
  • 原文地址:https://www.cnblogs.com/ttoyy/p/6632642.html
Copyright © 2011-2022 走看看