5.1 实验五 四则运算单元测试

5.1 实验五 四则运算单元测试

一、过程简介:

工作人员:邵家文       学号:201306114322

              李泳江       学号:201306114314          博客:http://www.cnblogs.com/mch-29-wamc/

 分工:邵家文:将代码封装成类,用数据做测试

         李泳江:记录数据,分析错误的原因。

实验环境:Eclipse集成开发环境+JUnit4测试框架+java

总结:这次跟泳江合作我感到很开心,泳江这次也帮了不少忙,解决了不少问题!

二:代码简介(封装后的)

1.主界面的代码:

package ceshi;

import java.awt.Color;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;



    public class Jiemian extends JFrame implements ActionListener{
    private JPanel mianban;
    private JTextField wenben;
    private JTextField wenben1;
    
    private JLabel  biaoqian0;
    private JLabel  biaoqian1;
    private JLabel  biaoqian2;
    
    private JButton button;
    private JButton button1;
    private JButton button2;
    private JButton button3;
    private JButton button4;
    private JButton button5;
    private JFrame frame;
    

    private int timu_num=0;
    private static JTextArea text;
    private String daan="";
    private String daan1="";
    private int dadui_timu=0;
    private int dacuo_timu=0;
    private Pattern pattern= Pattern.compile("[0-9]*");
    private Matcher isNum;
    private String gongsi[]=new String[3];
    private String zifu="";
    private String zifu1="";
    
        public void actionPerformed(ActionEvent e) {  
        // TODO Auto-generated method stub  
            
        if(e.getSource()==button){  //容量       
        zifu=wenben.getText();
        if(!zifu.equals(""))
        {
        
            isNum = pattern.matcher(zifu); 
            if( isNum.matches()) 
            {
            timu_num= Integer.parseInt(zifu);
            if(timu_num>5)
            {
          JOptionPane.showMessageDialog(frame.getContentPane(), "题目数量超过5题,系统默认为5题!",
         "系统信息", JOptionPane.INFORMATION_MESSAGE);
                timu_num=5;
            }
            if(timu_num>0&&timu_num<=5)
            {
                gongsi1();
                timu_num--;
            }
            if(timu_num<=0)
            {
            JOptionPane.showMessageDialog(frame.getContentPane(), "输入数字不正确!",
                         "系统信息", JOptionPane.INFORMATION_MESSAGE);
            }
            }
            else
            {
                JOptionPane.showMessageDialog(frame.getContentPane(), "输入存在问题!",
                        "系统信息", JOptionPane.INFORMATION_MESSAGE);
            }    
        }
        else
        {
            JOptionPane.showMessageDialog(frame.getContentPane(), "没有输入信息!",
                       "系统信息", JOptionPane.INFORMATION_MESSAGE);
        }
        }  
       
        
        
        
        else if(e.getSource()==button1){  //价值
            zifu1=wenben1.getText();
            if(!daan.equals("")||!daan.equals(""))
             {
            
        if(timu_num>=0&&timu_num<=5)
        { if(daan.equals(zifu1)||daan1.equals(zifu1))
        {
            JOptionPane.showMessageDialog(frame.getContentPane(), "正确!", "系统信息", JOptionPane.INFORMATION_MESSAGE);
            dadui_timu++;
            text.setText("答错"+dacuo_timu+"题"+","+"答对"+dadui_timu+"题");
        }
    else
        {
            JOptionPane.showMessageDialog(frame.getContentPane(), "错误!答案为:"+daan, "系统信息", JOptionPane.INFORMATION_MESSAGE);    
            dacuo_timu++;
            text.setText("答错"+dacuo_timu+"题"+","+"答对"+dadui_timu+"题");
        }
            gongsi1();
            timu_num--;
        }
        else
        {
            JOptionPane.showMessageDialog(frame.getContentPane(), "题目已答完!", "系统信息", JOptionPane.INFORMATION_MESSAGE);    
        } 
        
        
        
        }      
            
            
             else
             {
                 JOptionPane.showMessageDialog(frame.getContentPane(), "用户没有正确操作!", "系统信息", JOptionPane.INFORMATION_MESSAGE);    
             }
        }
        
        else if(e.getSource() == button2 ){//重置   把他们的值改为空
            mianban.setBackground(Color.yellow);
        }  
        else if(e.getSource() == button3){//确定  
            mianban.setBackground(Color.green); 
            }  
            else if(e.getSource() == button4){  
            mianban.setBackground(Color.pink);
                gongsi1();
            }  
            else if(e.getSource() == button5 ){//重置   把他们的值改为空
                if(timu_num!=0)
                {
                gongsi1();
                }
                else
                {
                JOptionPane.showMessageDialog(frame.getContentPane(), "没有输入题目数量!", "系统信息", JOptionPane.INFORMATION_MESSAGE);    
                }
            } 
        }  
    

        
        
    Jiemian()
    {
        zhujiemian();
    }
    
    
    
    public void zhujiemian()
    {
          mianban=new JPanel();
          wenben=new JTextField(4);
          wenben1=new JTextField(4);
          biaoqian0=new JLabel("题目个数:");
          biaoqian1=new JLabel("等待输入公式            ");
          biaoqian2=new JLabel("背景色:");
             
         button=new JButton("确定");
         button1=new JButton("确定");
         button2=new JButton("黄色");
         button3=new JButton("绿色");
         button4=new JButton("粉红色");
         button5=new JButton("换题");
        
         button.addActionListener(this);
         button1.addActionListener(this);
         button2.addActionListener(this); 
         button3.addActionListener(this);
         button4.addActionListener(this); 
         button5.addActionListener(this);
        
        text=new JTextArea(10,24);
            
        frame=new JFrame("四则运算");
        mianban.add(biaoqian0);
        mianban.add(wenben);
        mianban.add(button);
        mianban.add(button5);
        mianban.add(biaoqian1);
        mianban.add(wenben1);
        mianban.add(button1);
        mianban.add(text);
        mianban.add(text);
        mianban.add(biaoqian2);
        mianban.add(button2);
        mianban.add(button3);
        mianban.add(button4);
        frame.add(mianban);    
        frame.setBounds(100,100,272,312);
        frame.setVisible(true);
        frame.setResizable(false);    
    }
    
    
    public    void gongsi1()
    {
        int suijichouqu;
        suijichouqu=(int)(Math.random()*5+1);
        Core gongsilei=new Core();
        switch(suijichouqu)
        {
        case 1: gongsi=gongsilei.two_number();   biaoqian1.setText(gongsi[0]);daan=gongsi[1];daan1=gongsi[2]; break;
        case 2: gongsi=gongsilei.three_num();   biaoqian1.setText(gongsi[0]);daan=gongsi[1];daan1=gongsi[2];  break;
        case 3: gongsi=gongsilei.kuohao_gongsi();biaoqian1.setText(gongsi[0]);daan=gongsi[1];daan1=gongsi[2];  break;
        case 4: gongsi=gongsilei.four_number();  biaoqian1.setText(gongsi[0]);daan=gongsi[1];daan1=gongsi[2]; break;
        case 5: gongsi=gongsilei.fenshu_gongsi(); biaoqian1.setText(gongsi[0]);daan=gongsi[1];daan1=gongsi[2]; break;    
        }
    }    
    
    public static void main(String[]args)
    {
        new Jiemian();
    }
}

 2.四则运算算法核心代码

package ceshi;

import java.text.DecimalFormat;

public class Core {
    
    Core()
    {
        
    /*    two_number();
        three_num();
        kuohao_gongsi();
        four_number();
        fenshu_gongsi();*/
        
    }
        public    String[] two_number()
        {
            
            int shu=(int)(Math.random()*3+1);
            int shu1=(int)(Math.random()*101);
            int shu2=(int)(Math.random()*101);
            
            int shu6;
            
            String daan;
            String daan1;
            String gongsi_daan_daan1[]=new String[3];
            
            
            switch(shu)
            {
            case 1: shu6=shu1+shu2;daan=String.valueOf(shu6);daan=String.valueOf(shu6);
            daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"+"+shu2+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;  break;
            case 2: shu6=shu1*shu2;daan=String.valueOf(shu6);daan=String.valueOf(shu6);
            daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"*"+shu2+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            
            
            case 3: shu6=shu1-shu2;daan=String.valueOf(shu6);daan=String.valueOf(shu6);
            daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"-"+shu2+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
                    
            }    
            return gongsi_daan_daan1;
        }
        
        
        
        public String[] three_num()
        {
        int shu=(int)(Math.random()*10+1);
        int shu1=(int)(Math.random()*101);
        int shu2=(int)(Math.random()*101);
        int shu3=(int)(Math.random()*101);
        
        int shu6;
        
        String daan;
        String daan1;
        String gongsi_daan_daan1[]=new String[3];
        
        switch(shu)
        {
            case 1:
            shu6=shu1*shu2-shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"*"+shu2+"-"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 2:
            shu6=shu1*shu2+shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"*"+shu2+"+"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 3:
            shu6=shu1*shu2+shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"*"+shu2+"+"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 4:
            shu6=shu1*shu2*shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"*"+shu2+"*"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 5:
            shu6=shu1-shu2+shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"-"+shu2+"+"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 6:
            shu6=shu1-shu2-shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"-"+shu2+"-"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 7:
            shu6=shu1-shu2*shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"-"+shu2+"*"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 8:
            shu6=shu1+shu2-shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 9:
            shu6=shu1+shu2+shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"+"+shu2+"+"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 10:
            shu6=shu1+shu2*shu3;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu1+"+"+shu2+"*"+shu3+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        }
        return gongsi_daan_daan1;
        }
        
        
        
        public String[] kuohao_gongsi()
        {
        int shu=(int)(Math.random()*3+1);
        
        int shu6;
        int shu7=(int)(Math.random()*201)-100,shu8=(int)(Math.random()*201)-100;
        
    
        
        String daan;
        String daan1;
        String gongsi_daan_daan1[]=new String[3];
        switch(shu)
        {
        case 1:
            
            if(shu7>=0&&shu8>=0)
            {
            shu6=shu7+shu8;daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu7+"+"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8>=0)
            {
                shu6=(shu7)+shu8;daan=String.valueOf(shu6);daan1=daan;
                gongsi_daan_daan1[0]="("+shu7+")"+"+"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7>=0&&shu8<0)
            {
            shu6=shu7+(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]="("+shu7+")"+"+"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8<0)
            {
            shu6=(shu7)+(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu7+"+"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
                
            case 2:
            if(shu7>=0&&shu8>=0)
            {
                shu6=shu7-shu8;daan=String.valueOf(shu6);daan1=daan;
                gongsi_daan_daan1[0]=shu7+"-"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8>=0)
            {
                shu6=(shu7)-shu8;daan=String.valueOf(shu6);daan1=daan;
                gongsi_daan_daan1[0]="("+shu7+")"+"-"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7>=0&&shu8<0)
            {
            shu6=shu7-(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]="("+shu7+")"+"-"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8<0)
            {
            shu6=(shu7)-(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu7+"-"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            
            case 3:
            if(shu7>=0&&shu8>=0)
            {
                shu6=shu7*shu8;daan=String.valueOf(shu6);daan1=daan;
                gongsi_daan_daan1[0]=shu7+"*"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8>=0)
            {
                shu6=(shu7)*shu8;daan=String.valueOf(shu6);daan1=daan;
                gongsi_daan_daan1[0]="("+shu7+")"+"*"+shu8+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7>=0&&shu8<0)
            {
            shu6=shu7*(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]="("+shu7+")"+"*"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }
            else if(shu7<0&&shu8<0)
            {
            shu6=(shu7)*(shu8);daan=String.valueOf(shu6);daan1=daan;
            gongsi_daan_daan1[0]=shu7+"*"+"("+shu8+")"+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            }  
        }
        return  gongsi_daan_daan1;
        }
        
        
        
        public String[] four_number()
        {
            
            int shu=(int)(Math.random()*11+1);
            int shu1=(int)(Math.random()*101);
            int shu2=(int)(Math.random()*101);
        
            int shu4=(int)(Math.random()*101);
            int shu5=(int)(Math.random()*101);
            int shu9=(int)(Math.random()*101);
            int shu6;
            
            String daan;
            String daan1;
            String gongsi_daan_daan1[]=new String[3];
            
            
            
        switch(shu)
        {
        case 1:shu6=shu1+shu2+shu4+shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"+"+shu4+"+"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 2:shu6=shu1-shu2-shu4-shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"-"+shu2+"-"+shu4+"-"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break; 
        case 3:shu6=shu1-shu2-shu4+shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"-"+shu2+"-"+shu4+"+"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 4:shu6=shu1+shu2-shu4-shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu4+"-"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 5:shu6=shu1+shu2-shu4+shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu4+"+"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 6:shu6=shu1+shu2-shu4+shu5;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu4+"+"+shu5+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 7:shu6=shu1+shu2-shu4+shu5+shu9;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu4+"+"+shu5+"+"+shu9+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 8:shu6=shu1+shu2-shu4-shu5-shu9;
        daan=String.valueOf(shu6);daan1=daan; 
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"-"+shu4+"-"+shu5+"-"+shu9+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 9:shu6=shu1+shu2+shu4+shu5+shu9;
        daan=String.valueOf(shu6);daan1=daan;
        gongsi_daan_daan1[0]=shu1+"+"+shu2+"+"+shu4+"+"+shu5+"+"+shu9+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 10:shu6=shu1-shu2-shu4+shu5+shu9;
        daan=String.valueOf(shu6);daan1=daan; 
        gongsi_daan_daan1[0]=shu1+"-"+shu2+"-"+shu4+"+"+shu5+"+"+shu9+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        case 11:shu6=shu1-shu2-shu4+shu5*shu9;
        daan=String.valueOf(shu6);daan1=daan; 
        gongsi_daan_daan1[0]=shu1+"-"+shu2+"-"+shu4+"+"+shu5+"*"+shu9+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break; 
        }
        return  gongsi_daan_daan1;
        }
        
        
        public String[] fenshu_gongsi()
        {
        int shu=(int)(Math.random()*7+1);
        String in;
        float shu10=(int)(Math.random()*101);
        float shu11=(int)(Math.random()*101);
        float shu12=(int)(Math.random()*101);
        int shu13;
        int shu14;
        float shu15=(int)(Math.random()*101);
        DecimalFormat df2  = new DecimalFormat("###0.00");
        int shu16=(int)(Math.random()*6+1);
        int shu17=1;
        int shu18=0;
        String daan;
        String daan1;
        String gongsi_daan_daan1[]=new String[3];
        switch(shu)
        {
        case 1:shu13=(int)(shu10+shu11);shu14=(int)shu12;in=df2.format((shu10+shu11)/shu12);
            daan=in;daan1=shu13+"/"+shu14;
            gongsi_daan_daan1[0]="小数与分数题:"+"("+shu10+"+"+shu11+")"+"/"+shu12+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 2:shu13=(int)(shu10-shu11);shu14=(int)shu12;in=df2.format((shu10-shu11)/shu12); 
            daan=in;daan1=shu13+"/"+shu14;
            gongsi_daan_daan1[0]="小数与分数题:"+"("+shu10+"-"+shu11+")"+"/"+shu12+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 3: shu13=(int)(shu10*shu11);shu14=(int)shu12;in=df2.format((shu10*shu11)/shu12);
            daan=in;daan1=shu13+"/"+shu14;
            gongsi_daan_daan1[0]="小数与分数题:"+"("+shu10+"*"+shu11+")"+"/"+shu12+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 4: shu13=(int)(shu10+shu11+shu15);shu14=(int)shu12;in=df2.format((shu10+shu11+shu15)/shu12);
            daan=in;daan1=shu13+"/"+shu14;
            gongsi_daan_daan1[0]="小数与分数题:"+"("+shu10+"+"+shu11+"+"+shu15+")"+"/"+shu12+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 5:shu13=(int)(shu10+shu11-shu15);shu14=(int)shu12;in=df2.format((shu10+shu11-shu15)/shu12); 
            
            daan=in;daan1=shu13+"/"+shu14;
            gongsi_daan_daan1[0]="小数与分数题:"+"("+shu10+"+"+shu11+"-"+shu15+")"+"/"+shu12+"=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 6:shu18=shu16; while(shu16>0){shu17=shu17*shu16;shu16--;};
            daan=String.valueOf(shu17);daan1=daan;
            gongsi_daan_daan1[0]=shu18+"!=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
            case 7:shu18=shu16;while(shu16>0){shu17=shu17*shu16;shu16--;};
            daan=String.valueOf(shu17);daan1=daan;
            gongsi_daan_daan1[0]=shu18+"!=";  gongsi_daan_daan1[1]=daan;  gongsi_daan_daan1[2]=daan1;break;
        }
        return  gongsi_daan_daan1;
        }
    
}

 3.测试用的代码

package ceshi;

import static org.junit.Assert.*;
import java.util.*;
import org.junit.Before;
import org.junit.Test;
public class ShengChengGongSiTest {
    private static Core shengchenggongsi=new Core();
    String gongsi[]=new String[3];
    String define;
    String define1;
    Scanner in=new Scanner(System.in);
    @Before
    public void setUp() throws Exception {
        
    }

    @Test
    public void testTwo_number() {
        gongsi=shengchenggongsi.two_number();
        System.out.println(gongsi[0]);
        define=in.next();    
        assertEquals(define,gongsi[1]);
        assertEquals(define,gongsi[2]);

    }
    @Test
    public void testThree_num() {
        gongsi=shengchenggongsi.three_num();
        System.out.println(gongsi[0]);
        define=in.next();    
        assertEquals(define,gongsi[1]);
        assertEquals(define,gongsi[2]);
    }
    
    @Test
    public void testFour_num() {
        gongsi=shengchenggongsi.four_number();
        System.out.println(gongsi[0]);
        define=in.next();    
        assertEquals(define,gongsi[1]);
        assertEquals(define,gongsi[2]);
    }
    @Test
    public void testFenShu_num() {
        gongsi=shengchenggongsi.fenshu_gongsi();
        System.out.println(gongsi[0]);
        define=in.next();    
        assertEquals(define,gongsi[1]);
        
        System.out.println(gongsi[0]);
        define=in.next();
        assertEquals(define,gongsi[2]);
    }
    @Test
    public void testKuohao_num() {
        gongsi=shengchenggongsi.kuohao_gongsi();
        System.out.println(gongsi[0]);
        define=in.next();    
        assertEquals(define,gongsi[1]);
        assertEquals(define,gongsi[2]);
    }
}

 三.测试过程

三、白盒单元测试

1、测试用例表:(由于我的算法里面的内容是随机出现的,所以就不能输入特定的数据,于是就做了一点变通。详细怎样变通就在测试代码里就可以看得出来)

测试项目名称

四则运算程序

测试人员

邵家文、李泳江

编制日期

2015/4/30

功能特性

生成四则运算公式与答案

用例编号

生成公式

输入数据

预期输出

实际输出

测试状态

1

53-6

47

47

47

正确

2

(43.0+99.0+19.0)/27.0

5.96

161/27

5.96

161/27

5.96

161/27

正确

3

(27)+(-55)

-28

-28

-28

正确

4

45+89+10

144

144

144

正确

5

85-42-29+93

107

107

107

正确

6

44+92

136

136

136

正确

7

(19.0-70.0)/31.0

-1.65

-51/31

-1.65

-51/31

-1.65

-51/31

正确

8

-70+(-12)

-82

-82

-82

正确

9

15-38-57

-80

-80

-80

正确

10

23+91-42-86-51

-65

-65

-65

正确

11

30*1+7

37

37

37

正确

12

37-97-50+75

-35

-35

-35

正确

13

9-12

-3

-3

-3

正确

14

0!

0

0

与输入结果不符

错误

15

-30*(-37)

1110

1110

1110

正确

16

60-19+72

113

113

113

正确

17

7+26-83+50

0

0

0

正确

18

23-11

12

12

12

正确

19

(64.0+80.0-16.0)/93.0

1.38

128/93

1.38

128/93

1.38

128/93

正确

20

(-43)+25

-18

-18

-18

正确

2.图片:

 

                                                                                            图一:用例编号1-5测试状态

                                                                                            图二:用例编号6-10测试状态

                                                                                           图三:用例编号10-15测试状态

                                                                                         图四:用例编号15-20测试状态

3.发现错误源

4.修改后

四:黑盒测试

1.算法流程图与界面。

 

2.根据以上流程图,与界面,覆盖用户操作的按钮,改变背景色的除外

 

T1代表文本框

B1代表"确定"

B2代表"换题"

T2代表文本框

B3代表确定

文本与按钮

T1

B1

B2

T2

B3

运行

put

不可

put

不可

put

不可

Yes

put

x

x

put

可以

Yes

put

x

x

不可

NO

x

x

x

x

不可

Yes

x

x

x

不可

NO

put

x

x

x

不可

                                                   注:Yes 代表正确操作,NO代表不正确操作,put代表按下去,空代表不操作,x代表任意

 3.例如:

直接点击第一行的确定

原文地址:https://www.cnblogs.com/shaojiawen/p/4468834.html