实验二黑盒测试技术二.docx

上传人:b****6 文档编号:3112601 上传时间:2022-11-17 格式:DOCX 页数:17 大小:39.99KB
下载 相关 举报
实验二黑盒测试技术二.docx_第1页
第1页 / 共17页
实验二黑盒测试技术二.docx_第2页
第2页 / 共17页
实验二黑盒测试技术二.docx_第3页
第3页 / 共17页
实验二黑盒测试技术二.docx_第4页
第4页 / 共17页
实验二黑盒测试技术二.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

实验二黑盒测试技术二.docx

《实验二黑盒测试技术二.docx》由会员分享,可在线阅读,更多相关《实验二黑盒测试技术二.docx(17页珍藏版)》请在冰豆网上搜索。

实验二黑盒测试技术二.docx

实验二黑盒测试技术二

实验二、黑盒测试技术

(二)

实验二、黑盒测试技术

(二)

一、实验类型

实验类型为验证型,2个学时。

二、实验目的

(1)能熟练应用边界值和决策表测试技术进行测试用例设计;

(2)对测试用例进行优化设计;

三、背景知识

(一)边界值测试

1.边界值分析

边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。

边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。

边界值分析的基本思想是:

使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。

2.健壮性测试

健壮性是指在异常情况下,软件还能正常运行的能力。

健壮性考虑的主要部分是预期输出,而不是输入。

健壮性测试是边界值分析的一种简单扩展。

除了变量的5个边界分析取值还要考虑略超过最大值(max)和略小于最小值(min)时的情况。

3.最坏情况测试

最坏情况测试将意味着更大工作量,n变量函数的最坏情况测试会产生5的n次方个测试用例,而边界值分析只产生4n+1个测试用例。

(二)基于决策表的测试

决策表适合描述不同条件集合下采取行动的若干组合的情况。

使用决策表标识测试用例,则把条件解释为输入,行动解释为输出。

有时条件最终引用输入的等价类,行为引用被测试软件的主要功能处理部分,规则解释为测试用例。

对于有限条目决策表,如果有n个条件,则必须有2条规则。

如果不关心条目实际地表明条件是不相关的,则没有不关心条目的规则统计为1条规则,规则中每出现一个不关心条目,该规则数乘一次2。

四、实验设备

主流PC机一套,要求安装windows操作系统、VisualStudio2010或Eclipse开发工具和OFFICE工具

五、实验内容

NextDate函数

根据下面给出的规格说明,分别利用决策表方法,给出足够的测试用例并根据用例执行测试。

NextDate函数包含三个变量:

Month(月份)、day(日期)和year(年),函数的输出为输入日期后一天的日期。

例如,输入为2007年9月9日,则函数的输出为2007年9月10日。

要求输入变量month、day和year均为整数,并且满足下列条件:

(1)1<=month<=12;

(2)1<=day<=31;(3)1912<=year<=2050

C语言程序

JAVA程序界面

六、实验步骤

(1)首先根据题目要求编写nextday功能函数;

(2)根据功能性测试技术设计测试用例,主要考虑决策表测试技术:

分析条件桩和动作桩

输入:

-Month

-Day

-Year

为获得下一个日期,NextDate函数需执行的操作只有如下5种:

-day变量加1

-day变量复位为1

-month变量加1

-month变量复位为1

-year变量加1

考虑规则个数:

M1={月份:

每月有30天}

M2={月份:

每月有31天,12月除外}

M3={月份:

此月是12月}

M4={月份:

此月是2月}

D1={日期:

1≤日期≤27}

D2={日期:

日期=28}

D3={日期:

日期=29}

D4={日期:

日期=30}

D5={日期:

日期=31}

Y1={年:

年是闰年}

Y2={年:

年是平年}

制定初始决策表:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

.......

22

条件桩

Month在

M1

Day在

D1

Year在

--

动作桩

不可能

Day加1

Day复位

Month加1

Month复位

Year加1

化简决策表:

1

2

3

4

5

6

7

8

9

10

11

12

13

条件桩

Month在

Day在

Year在

动作桩

不可能

Day加1

Day复位

Month加1

Month复位

Year加1

(3)设计测试用例

用例ID

年份

月份

日期

期望输出

实际结果

1

2001

4

15

2001-04-16

2

3

4

5

6

7

8

9

10

11

12

13

 

七、实验报告要求

(1)完成初始决策表和化简决策表,并设计测试用例,记录实验结果;

(2)总结决策表设计测试用例的步骤

 

NextDay核心代码

packagecom.example.nextday;

importjava.awt.FlowLayout;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JOptionPane;

importjavax.swing.JTextField;

publicclassNextDayextendsJFrameimplementsActionListener{

privateJTextFieldyear=null;

privateJTextFieldmonth=null;

privateJTextFieldday=null;

privateJTextFieldnextDate=null;

privateJButtoncomfir=null;

privateJButtonclear=null;

publicNextDay(){

add(newJLabel("年:

"));

year=newJTextField(3);

add(year);

add(newJLabel("月:

"));

month=newJTextField

(2);

add(month);

add(newJLabel("日:

"));

day=newJTextField

(2);

add(day);

add(newJLabel("NextDate:

"));

nextDate=newJTextField(10);

nextDate.setEditable(false);

add(nextDate);

comfir=newJButton("下一天");

clear=newJButton("清除");

add(comfir);

add(clear);

comfir.addActionListener(this);

clear.addActionListener(this);

setResizable(false);

setLayout(newFlowLayout());

setBounds(0,0,250,300);

setVisible(true);

}

/**

*判断是否为闰年

*@paramyear

*@return

*/

publicbooleanleap(intyear){

if((year%4==0&&year%100!

=0)||year%400==0){

returntrue;

}else{

returnfalse;

}

}

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

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

inty=Integer.parseInt(year.getText().trim());

intm=Integer.parseInt(month.getText().trim());

intd=Integer.parseInt(day.getText().trim());

if((y>=1970&&y<=3000)&&(m>=1&&m<=12)&&(d>=1&&d<=31)){

//

if((m==1)||(m==3)||(m==5)||(m==7)||(m==8)||(m==10)||(m==12)){

//对12月的处理

if(m==12){

if(d<31){

nextDate.setText(y+"-"+m+"-"+(d+1));

}else{

nextDate.setText((y+1)+"-"+1+"-"+1);

}

//对1、3、5、7、8、10月份的处理

}else{

if(d<31){

nextDate.setText(y+"-"+m+"-"+(d+1));

}else{

nextDate.setText(y+"-"+(m+1)+"-"+1);

}

}

}else{

if(m==2){

if(leap(y)){

if(d<30){

if(d<29){

nextDate.setText(y+"-"+m+"-"+(d+1));

}else{

nextDate.setText(y+"-"+(m+1)+"-"+1);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1