您的位置:首页 > 党团公文 > 入党材料 > 入党程序 > 正文

黑盒测试实验

【www.rconcon.com--入党程序】

实验报告

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

实验地点:

实验日期:

指导老师:

学生班级:

学生姓名:

提交日期: 一实验楼404 2012-4-28_ ___ _王科老师_______ _0906401 ___ _2012-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。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为2005年11月29日,则该程序的输出为2005年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. 设计测试用例

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,"输入的数据不能构成三角形!"); }

}cat

黑盒测试实验 ch(NumberFormatException e1){

JOptionPane.showMessageDialog(null,"数据为空或者输入不符合要求!"); } } } public static void main(String[] args){ TriangleFrame f = new TriangleFrame(); } }

5.实验总结:

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

本文来源:http://www.rconcon.com/dangtuangongwen/16562/