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.例如:
直接点击第一行的确定