zoukankan      html  css  js  c++  java
  • 测试与封装5.1

     我的队友是52吴舒婷,博客内容主要是白盒黑盒的测试数据分析

    我们通过简单的四则运算来进行程序的测试与封装

    我们主要完成的是事情

    (1)封装:将运算要运用的方法进行封装

    文件主要有三个:Calculate(存放运算要用得到方法)、CalcuTest(主要main方法)、Test(测试)

    Calculate中主要的方法:Cal()运算、input()输入、judge判断()

     代码如下:CalcuTest(主要main方法)

    package Test.src.src;
    
    import java.util.Scanner;
    
    
    public class CalcuTest {
        static Scanner sc = new Scanner(System.in);
        static int a=0;
        static int b=0;
        static String cc=new String();
        public static void main(String[] args) 
        {
            Calculate c1=new Calculate();
            c1.input();
            a=c1.a1;
            b=c1.b1;
            cc=c1.cc1;
            
             int total=c1.Cal(a,b,cc);
            System.out.println("计算结果是:"+total);        
            
        }
        
    }
    View Code

     Calculate(存放运算要用得到方法)

    package Test.src.src;
    
    import java.util.Scanner;
    
    
    public class Calculate {
        
        static Scanner sc = new Scanner(System.in);
        int a1=0;
        int b1=0;
        String cc1=new String();
        static public int Cal(int a,int b,String cc)
        {
            cc=judge(cc);
            int result=0;
            
            if(cc.equals("+"))
                result=a+b;
            else if(cc.equals("-"))
                result=a-b;
            else if(cc.equals("*"))
                result=a*b;
            else if(cc.equals("/"))
                
                try{
             result=a/b;
            }catch(Exception e)//对输入的数值进行异常处理
            {
                System.out.println("	    除数不能为0");
            }
                     
            else 
                System.out.println("	请输入正确运算符!请重新执行");
             
         
                
             return result;
        }
        
        public void input()
        {
            
            try{
            System.out.println("运算符是 +,-,*,/"); 
            
            System.out.println("请输入第一个数:");
             a1=sc.nextInt();
            System.out.println("请输入第二个数:");
             b1=sc.nextInt();
            System.out.println("请输入运算符:");
             cc1 = sc.next();
             
            }catch(Exception  e)
        {
            System.out.println("输入数值出现异常");
        }
        }
        
        
        static public String judge(String cc2)
        {
            boolean a=false;
            if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/"))
                a=true;
            while(a==false)
            {
                
             System.out.println("	非法运算符");
             System.out.println("请输入运算符:");
             cc2 = sc.next();
             if(cc2.equals("+") || cc2.equals("-")|| cc2.equals("*")||cc2.equals("/"))
                    a=true;
        }
            return cc2;
        }
        
    }
    View Code

    (2)测试

    A、进行四个运算的基本测试

    B、进行除法除数不能为0的测试

    C、对数的数值规范进行测试

    D、对输入的运算符是否正确的测试

    package Test.src.src;
    
    
    
    import static org.junit.Assert.*;
    
    import org.junit.Test;
    
    
    public class Tests {
    
        @Test
        public void testAdd()//测试加法基本功能
        {
            
            int result=new Calculate().Cal(3,3,"+");
            assertEquals(6,result);
        }
        
        
        @Test
        public void testSub()//测试减法基本功能
        {
            
            int result=new Calculate().Cal(6,3,"-");
            assertEquals(3,result);
        }
    
        @Test
        public void testMuti()//测试乘法基本功能
        {
            int result=new Calculate().Cal(3,3,"*");
            assertEquals(9,result);
        }
        
        @Test
        public void testDivi()//测试除法基本功能
        {
            int result=new Calculate().Cal(3,3,"/");
            assertEquals(1,result);
        }
        
        @Test
        public void testDiviZero()//测试除法出书不为零基本功能
        {
            Calculate c1=new Calculate();
            c1.Cal(3, 0,"/");
        }
        
        
        @Test
        public void testIlligal()//
        {
            Calculate c1=new Calculate();
            c1.input();
            
        }
        
        @Test
        public void testcalStr()//
        {
            Calculate c1=new Calculate();
            c1.Cal(3,5,"k");
            
        }
    
    
    }
    View Code

    运行结果
    测试开始:

    测试运算符

    测试全部

    可以测试出程序基本无错误,有更深的错误会在后面在一次更新~~~

    因为单元测试这边没什么把握,先从简单开始,还不敢用自己的程序来测试,终有一天会用到我自己的程序进行测试

  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/maxx/p/4469638.html
Copyright © 2011-2022 走看看