黑盒测试实验

   实验报告

实验名称: 程序黑盒测试实验

实验地点: 一实验楼404   

实验日期: 20##-4-28_  ___

指导老师:_王科老师_______

学生班级:_0906401     ___

学生姓名:_吴 朋 发_______

提交日期:_20##-5-2________

黑盒测试

1.实验目的:

理解黑盒测试的基本方法,掌握等价类划分法和边界值方法设计测试用例。

2.实验配置:

(1)主流PC机一套,要求安装windows操作系统、Virtul Studio6.0、java等工具;

  (2)理解等价类划分法、边界值分析法的思想,划分依据;

  (3)熟悉上述方法测试用例设计的理论。

3.实验内容:

   1)输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。

要求: a.大家用自己熟悉的编程语言,实现上面问题的描述。

          b.请用等价类设计测试用例。

  2) 程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为20##年11月29日,则该程序的输出为20##年11月30日。请用黑盒测试方法的边界值设计测试用例。

4.实验步骤:

(1)三角形问题

1) 编写程序,实现三角形问题。

  

2)设计测试用例

  用等价类分析法设计测试用例。

  按照输入条件和输出形式划分等价类

  输入条件:可以从以下四个方面划分等价类:三个数,整数,非0数,正数

  输出条件:可以划分为一个等价类,一般三角形,等腰三角形,等边三角形,不构成三角形。

写出测试报告,如下表所示:

代码如下:

import java.awt.*;  import javax.swing.*;  import java.awt.event.*;

public class TriangleFrame extends JFrame implements ActionListener{

  JLabel lb1;  JLabel lb2;  JLabel lb3;  JLabel lb4;  JButton btn1;  JTextField txt1; JTextField txt2;  JTextField txt3; JPanel cp;

  TriangleFrame(){

super("三角形判定");

  lb1 = new JLabel("三角形判定问题");  lb1.setBounds(new Rectangle(153, 26, 95, 22));      lb2 = new JLabel("第一个参数a:");  lb2.setBounds(new Rectangle(44, 70, 104, 27));

  lb3 = new JLabel("第二个参数b:");  lb3.setBounds(new Rectangle(44, 113, 104, 27));

  lb4 = new JLabel("第三个参数c:");  lb4.setBounds(new Rectangle(44, 152, 104, 27));

txt1 = new JTextField(20);  txt2 = new JTextField(20); txt3 = new JTextField(20);

txt1.setBounds(new Rectangle(132, 72, 168, 23));

txt2.setBounds(new Rectangle(132, 155, 168, 23));

txt3.setBounds(new Rectangle(132, 113, 168, 23));

btn1 = new JButton("判定");  btn1.setBounds(new Rectangle(152, 217, 96, 33));

btn1.addActionListener(this);

setSize(400,300);  setVisible(true);  cp = (JPanel) getContentPane();

cp.setLayout(null); cp.add(lb1); cp.add(lb2); cp.add(txt1); cp.add(lb3); cp.add(txt2); cp.add(lb4);  cp.add(txt3);  cp.add(btn1);

}

       public void actionPerformed(ActionEvent e){

              if(e.getSource() == btn1){

           try{ Integer t1 = Integer.parseInt(txt3.getText());

          Integer t2 = Integer.parseInt(txt2.getText());

          Integer t3 = Integer.parseInt(txt1.getText());

          if (t1 < t2 + t3 && t2 < t1 + t3 && t3 < t1 + t2 && t1 == t2 && t2 == t3) {

              JOptionPane.showMessageDialog(null, "此三角形为等边三角形!");

          } else if (t1 < t2 + t3 && t2 < t1 + t3 && t3 < t1 + t2 && (t1 == t2 || t2 == t3 || t3 == t1)) {

              JOptionPane.showMessageDialog(null, "此三角形为等腰三角形!");

          } else if(t1 < t2+t3 && t2 < t1+t3 && t3 < t1+t2 && t1 != t2 &&t2 != t3){

              JOptionPane.showMessageDialog(null,"此三角形为一般三角形!");

          } else{

              JOptionPane.showMessageDialog(null,"输入的数据不能构成三角形!");

          }

      }catch(NumberFormatException e1){

          JOptionPane.showMessageDialog(null,"数据为空或者输入不符合要求!");

      }

              }

       }

       public static void main(String[] args){

              TriangleFrame f = new TriangleFrame();

       }

}

(2)NextDate问题

  1) 编写程序,实现NextDate三角形问题。

 

   2)设计测试用例

使用黑盒测试方法的边界值设计用等价类分析法设计测试用例。

a.       分析各变量的取值

     Month取1,2,6,11,12

     Day取1,2,15,30,31

     Year曲1900,1901,1975,2049,2050

b.      测试用例数

     有3个变量,会产生13个测试用例。

c.       设计测试用例

NextDate问题的测试用例

代码如下:

import java.awt.*;  import javax.swing.*;  import java.awt.event.*;

public class TriangleFrame extends JFrame implements ActionListener{

  JLabel lb1;  JLabel lb2;  JLabel lb3;  JLabel lb4;  JButton btn1;  JTextField txt1; JTextField txt2;  JTextField txt3; JPanel cp;

  TriangleFrame(){

super("三角形判定");

  lb1 = new JLabel("三角形判定问题");  lb1.setBounds(new Rectangle(153, 26, 95, 22));      lb2 = new JLabel("第一个参数a:");  lb2.setBounds(new Rectangle(44, 70, 104, 27));

  lb3 = new JLabel("第二个参数b:");  lb3.setBounds(new Rectangle(44, 113, 104, 27));

  lb4 = new JLabel("第三个参数c:");  lb4.setBounds(new Rectangle(44, 152, 104, 27));

txt1 = new JTextField(20);  txt2 = new JTextField(20); txt3 = new JTextField(20);

txt1.setBounds(new Rectangle(132, 72, 168, 23));

txt2.setBounds(new Rectangle(132, 155, 168, 23));

txt3.setBounds(new Rectangle(132, 113, 168, 23));

btn1 = new JButton("判定");  btn1.setBounds(new Rectangle(152, 217, 96, 33));

btn1.addActionListener(this);

setSize(400,300);  setVisible(true);  cp = (JPanel) getContentPane();

cp.setLayout(null); cp.add(lb1); cp.add(lb2); cp.add(txt1); cp.add(lb3); cp.add(txt2); cp.add(lb4);  cp.add(txt3);  cp.add(btn1);

}

       public void actionPerformed(ActionEvent e){

              if(e.getSource() == btn1){

           try{ Integer t1 = Integer.parseInt(txt3.getText());

          Integer t2 = Integer.parseInt(txt2.getText());

          Integer t3 = Integer.parseInt(txt1.getText());

          if (t1 < t2 + t3 && t2 < t1 + t3 && t3 < t1 + t2 && t1 == t2 && t2 == t3) {

              JOptionPane.showMessageDialog(null, "此三角形为等边三角形!");

          } else if (t1 < t2 + t3 && t2 < t1 + t3 && t3 < t1 + t2 && (t1 == t2 || t2 == t3 || t3 == t1)) {

              JOptionPane.showMessageDialog(null, "此三角形为等腰三角形!");

          } else if(t1 < t2+t3 && t2 < t1+t3 && t3 < t1+t2 && t1 != t2 &&t2 != t3){

              JOptionPane.showMessageDialog(null,"此三角形为一般三角形!");

          } else{

              JOptionPane.showMessageDialog(null,"输入的数据不能构成三角形!");

          }

      }catch(NumberFormatException e1){

          JOptionPane.showMessageDialog(null,"数据为空或者输入不符合要求!");

      }

              }

       }

       public static void main(String[] args){

              TriangleFrame f = new TriangleFrame();

       }

}

5.实验总结:

  通过实验,我对软件测试有了进一步的认识和学习,对黑盒测试流程有了较清楚的了解,发现了很多问题,同时也收获了很多。

 

第二篇:实验2 黑盒测试

实验2  黑盒方法测试

实验目的:

1.               使学生能够更进一步理解黑盒测试方法。

2.               掌握黑盒测试中设计测试用例的基本方法(等价类划分、边界值分析和因果图等方法)。

3.               进一步熟悉测试报告的写法。

实验环境:

Windows系统平台和学生熟悉的某一个开发环境。

实验学时:

    2学时

实验内容:

某程序的逻辑设计如下图所示,分析并构建黑盒测试的前提条件,并按照测试用例测试程序,完善测试用例各项内容的填写。

实验步骤:

1.     选择二到三种方法构建测试用例。

划分等价类:(1)有效等价类划分:x>80 ,  Y>80,x+Y>140

                                                X<80 ,Y>80,X+Y>140

                                                X<80,Y<80,X+Y>140

                                                X<80,Y<80,X+Y<140

                                                X>80,Y<80,X+Y>140

                                                X>80,Y<80,X+Y<140

                     (2) 无效等价类:X Y 超出int型的范围

                                              X Y 为小数

2.     依据测试用例测试程序。

(1)   x=81  y=81  x+y=162

 

(2)X=79   Y=81

(3)   x=79  y=79

(4) x=69 y=69

(5) x=81 y=79

(6) x=81 y=58

3.无效等价类

(1)   x=80.1  y=80.1

(2)    x=2147483648

实验总结:

    通过黑盒测试实验,我学习到了黑盒测试中的等价类划分以及边界值分析等测试方法,理解了软件测试在软件开发阶段所占的重要地位。 

相关推荐