黑盒测试实验报告.docx

上传人:b****6 文档编号:9100727 上传时间:2023-02-03 格式:DOCX 页数:33 大小:22.93KB
下载 相关 举报
黑盒测试实验报告.docx_第1页
第1页 / 共33页
黑盒测试实验报告.docx_第2页
第2页 / 共33页
黑盒测试实验报告.docx_第3页
第3页 / 共33页
黑盒测试实验报告.docx_第4页
第4页 / 共33页
黑盒测试实验报告.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

黑盒测试实验报告.docx

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

黑盒测试实验报告.docx

黑盒测试实验报告

黑盒测试实验报告

1《软件测试技术

》实验报告

2实验序号:

04

实验项目名称:

黑盒测试

3一、实验目的及要求掌握用等价类、边界值分析法、因果图的方法设计测试用例二、实验设备(环境)及要求实验在计算机系的机房进行,安装了VC6.0,JavaSDK,TurboC等软件,学生能采用C语言,C++,或Java语言进行编程。

三、实验内容与步骤任务一:

佣金问题问题描述如下:

一酒水销售公司指派销售员销售各种酒水。

白酒卖168元/瓶,红酒卖120元/瓶,啤酒卖5元/瓶。

白酒每月的供应量为5000瓶,红酒为3000瓶,啤酒为30000瓶,各个销售员每月至少要售出白酒50瓶,红酒30瓶,啤酒300瓶。

月末,每个销售员上报他所在区域的销售业绩。

这样酒水销售公司就知道了当月的销售情况,并根据销售额计算佣金提成如下:

2万以下(含):

4%;2万(不含)~4.5万(含):

1%4.5万以上(不含):

0.5%这样,佣金程序生成月份销售报告,汇总售出的白酒、红酒和啤酒总数,销售公司的总销售额和各个销售员的佣金。

这个问题分为三个不同的部分:

输入数据部分,用来处理输入数据的有效性;销售额计算部分;佣金(提成)计算部分.

1、充分考虑输入有效性校验,编写佣金问题的代码;2、按照等价类划分的思想,设计等价类测试用例;1)佣金问题中,首先分析输入和输出,注意分析佣金问题中给出和隐含的

对输入条件的要求:

2)针对输入进行等价类划分,形成等价类列表,并为每一个等价类编号; 3)从等价类划分的表格中设计测试用例:

为有效等价类设计测试用例,为每一个无效等价类至少设计一个测试用例3、执行测试,记录发现的问题。

任务二:

下一天问题1、对于Ne_tDate问题,分析它的输入限制; 2、从输入限制的边界设计测试用例; 3、执行测试,记录结果。

任务三:

自动售货机问题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:

若投入5角钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。

若售货机没有零钱找,则一个显示[零钱找完]的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示[零钱找完]的红灯灭,在送出饮料的同时退还5角硬币。

1、分析这一段说明,列出原因和结果

2、画出因果图。

所有原因结点列在左边,所有结果结点列在右边。

建立中间结点,表示处理的中间状态。

中间结点:

1)投入1元硬币且押下饮料按钮

2)押下〖橙汁〗或〖啤酒〗的按钮

3)应当找5角零钱并且售货机有零钱找

4)钱已付清

3、转换成判定表

4、在判定表中,把不可能出现的情况删去。

5、最后根据判定表中剩下的列作为确定测试用例的依据,设计测试用例。

6、实验报告要求及记录、格式四、程序调试与结果1、佣金问题

1)划分等价类并编号,下表等价类划分的结果

输入等价类有效等价类无效等价类白酒数量○1在50~5000之间○2在0~49之间○3在5000以上不包括5000红酒数量○4在30~3000之间○5在0~29之间○6在3000以上不包括3000

啤酒数量○7在300~30000之间○8在0~299之间○9在30000以上不包括300002)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、○4、○7,设计的测试用例如下:

测试数据期望结果覆盖的有效等价类

(55,40,400)

输入有效①、○4、○7

3)为每一个无效等价类设计一个测试用例,设计结果如下:

测试数据期望结果覆盖的无效等价类(30,40,400)

输入无效○2(5500,40,400)

输入无效○3(55,25,400)

输入无效○5

(55,4000,400)

输入无效○6(55,75,250)

输入无效○8(55,75,33000)

输入无效○9

4)测试结果:

所有测试都成功,且测试的覆盖率为百分百

2、Ne_tDate问题

1)分析它的输入限制

Ne_tDate是一个有三个变量(月份、日期和年)的函数。

函数返回输入日期后面的那个日期。

变量月份、日期和年都是整数值,并满足以下条件:

c1:

1<=月份<=12c2:

1<=日期<=31c3:

1812<=年<=20__

2)边界值测试设计编号输入期望输出YearMonthDay0011993-115Month不在1~12中0021993015Month不在1~12中00319931151993年1月16日004199311151993年11月16日

005199312151993年12月16日00619931315Month不在1~12中

00719936-1Day不在1~31中008199360Day不在1~31中0091993611993年6月2日01019936151993年6月16日01119936291992年6月30日01219936301992年7月1日0131993631Day不在1~30中01419932-1Day不在1~29中015199320Day不在1~29中0161993211993年2月2日01719932151993年2月16日01819922281993年2月29日02919932281993年3月1日01919922291993年3月1日0201993229平年2月没有29号0211993230Day不在1~31中0221993231Day不在1~31中023199312-1Day不在1~31中0241993120Day不在1~31中02519931211993年12月2日026199312301993年12月31日027199312311994年1月1日02819931232Day不在1~31中03019931-1Day不在1~31中031199310Day不在1~31中0321993111993年1月2日03319931301993年1月31日

03419931311993年2月1日0351993132Day不在1~31中3)测试结果:

所有测试都成功,且测试的覆盖率为百分百

3、自动售货机问题1)分析自动售货机中一共存在5个条件和5个结果:

条件:

C1、售货机有零钱找

C2、投入1元硬币

C3、投入5角硬币

C4、按下橙汁按钮

C5、按下啤酒按钮结果:

E1、售货机“零钱找完”灯亮

E2、退还1元硬币

E3、退还5角硬币

E4、送出橙汁饮料

E5、送出啤酒饮料2)因果图的分析结果

有零钱选橙汁选啤酒投5角投1元红灯亮出橙汁出啤酒找5角找1元EE选商品钱付清VVVV应该找零钱V能够找零钱VV4)有效的条件组合构成的判定表

输入C10000000011111111C21110000011100000C30001110000011100C40100101001001010C50010010100100101

结果E11110000000000000E21110000000000000E30001000001100000E40000100001001000E500000100001001005)测试用例编号输入值状态期望值001(cola,1D)

有零钱TypeError002(OrangeJuice,1D)

有零钱送出橙汁,退5角003(Beer,1D)

有零钱送出啤酒,退5角004(cola,5C)

有零钱TypeError005(OrangeJuice,5C)

有零钱送出橙汁

006(Beer,5C)

有零钱送出啤酒007(OrangeJuice,4C)

有零钱MoneyError008(Beer,4C)

有零钱MoneyError009(cola,1D)

无零钱红灯亮,退1元010(OrangeJuice,1D)

无零钱红灯亮,退1元011(Beer,1D)

无零钱红灯亮,退1元012(cola,5C)

无零钱退5角013(OrangeJuice,5C)

无零钱送出橙汁014(Beer,5C)

无零钱送出啤酒015(OrangeJuice,4C)

无零钱MoneyError016(Beer,4C)

无零钱MoneyError6)测试结果:

所有测试都成功,且测试的覆盖率为百分百

五、分析与讨论该实验借助了Eclipse+JUnit+EclEmma进行了测试。

可以将代码实现的功能过一遍。

更快捷的找到自己的测试用例的不足。

六、教师评语

签名____:

日期:

成绩

附件:

41、佣金问题5实现代码:

6packagetest4;7

8importjava.util.Scanner;9

10publicclassmission{11

12

doubletotalspirit=0;//白酒总销售量13

doubletotalredwine=0;//红酒总销售量14

doubletotalbeer=0;//啤酒总销售量15

16

doublespiritprice=168;//白酒的单价17

doubleredwineprice=120;//红酒的单价18

doublebeerprice=5;//啤酒的单价19

20

doublespiritsales;21

doubleredwinesales;22

doublebeersales;23

doublesales;24

25

doublemission;//佣金26

StringresultSales;27

28

29

publicmission(doublespirit,doubleredwine,doublebeer)30

{31

totalspirit+=spirit;32

totalredwine=+redwine;33

totalbeer+=beer;34

}35

publicStringoperation(doublespirit,doubleredwine,doublebeer)36

{37

if(spirit>=50;;spirit<=5000)38

{39

if(redwine>=30;;redwine<=3000)40

{41

if(beer>=300;;beer<=30000)42

{

43

spiritsales=spiritprice_totalspirit;44

redwinesales=redwineprice_totalredwine;45

beersales=beerprice_totalbeer;46

sales=spiritsales+redwinesales+beersales;47

if(sales<=20__00)48

mission=sales_0.04;49

elseif(sales>20__00;;sales<=45000)50

mission=20__00_0.04+(sales-20__00)_0.01;51

else52

mission=45000_0.01+(sales-45000)_0.005;53

resultSales=“CurrentState\n”+54

“白酒销售量:

”+totalspirit+“\n”+55

“红酒销售量:

”+totalredwine+“\n”+56

“啤酒销售量:

”+totalbeer+“\n”+57

“公司总销售额:

”+sales+“\n”+58

“本月获得佣金:

”+mission;59

}60

elseif(beer<300)61

{62

resultSales=“Youdidnotpletethepany"ssales63inde_,atleastamonthtosell300bottlesofbeer.”;64

}65

elseif(beer>30000)66

{67

resultSales=“Monthlysupplyof30000bottlesofbeer”;68

}69

}70

elseif(redwine<30)71

{72

resultSales=“Youdidnotpletethepany"ssales73inde_,atleastamonthtosell30bottlesofredwine.”;74

}75

elseif(redwine>3000)76

{77

resultSales=“Monthlysupplyof3000bottlesofredwine”;78

}79

}80

elseif(spirit<50)81

{82

resultSales=“Youdidnotpletethepany"ssalesinde_,at83leastamonthtosell50bottlesofspirit.”;84

}85

elseif(spirit>5000)86

{87

resultSales=“Monthlysupplyof5000bottlesofspirit”;88

}89

returnresultSales;90

}91

}

92测试代码:

93packagetest4;94

95importtest3.SaleMachine;96importjunit.framework.TestCase;97

98publicclassTestmissione_tendsTestCase{99

publicvoidtestOperation1100

{

missionsaleMan1=newmission(55,40,400);102

Stringe_pectedResult=“CurrentState\n”+103

“白酒销售量:

”+55.0+“\n”+104

“红酒销售量:

”+40.0+“\n”+105

“啤酒销售量:

”+400.0+“\n”+106

“公司总销售额:

”+16040.0+“\n”+107

“本月获得佣金:

”+641.6;108

assertEquals(e_pectedResult,saleMan1.operation(55,40,400));109

}110

publicvoidtestOperation2111

{112

missionsaleMan2=newmission(30,40,400);113

Stringe_pectedResult=“Youdidnotpletethepany"ssalesinde_,atleasta114monthtosell50bottlesofspirit.”;115

assertEquals(e_pectedResult,saleMan2.operation(30,40,400));116

}117

publicvoidtestOperation3118

{119

missionsaleMan3=newmission(5500,40,400);120

Stringe_pectedResult=“Monthlysupplyof5000bottlesofspirit”;121

assertEquals(e_pectedResult,saleMan3.operation(5500,40,400));122

}123

publicvoidtestOperation4124

{125

missionsaleMan4=newmission(55,25,400);126

Stringe_pectedResult=“Youdidnotpletethepany"ssalesinde_,atleasta127monthtosell30bottlesofredwine.”;128

assertEquals(e_pectedResult,saleMan4.operation(55,25,400));129

}130

publicvoidtestOperation5131

{132

missionsaleMan5=newmission(55,4000,400);133

Stringe_pectedResult=“Monthlysupplyof3000bottlesofredwine”;134

assertEquals(e_pectedResult,saleMan5.operation(55,4000,400));135

}136

publicvoidtestOperation6137

{138

missionsaleMan6=newmission(55,75,250);139

Stringe_pectedResult=“Youdidnotpletethepany"ssalesinde_,atleasta140monthtosell300bottlesofbeer.”;141

assertEquals(e_pectedResult,saleMan6.operation(55,75,250));142

}143

publicvoidtestOperation7144

{145

missionsaleMan7=newmission(55,75,33000);146

Stringe_pectedResult=“Monthlysupplyof30000bottlesofbeer”;147

assertEquals(e_pectedResult,saleMan7.operation(55,75,33000));148

}149

publicvoidtestOperation8150

{151

missionsaleMan8=newmission(100,150,1000);152

Stringe_pectedResult=“CurrentState\n”+153

“白酒销售量:

”+100.0+“\n”+154

“红酒销售量:

”+150.0+“\n”+155

“啤酒销售量:

”+1000.0+“\n”+156

“公司总销售额:

”+39800.0+“\n”+157

“本月获得佣金:

”+998.0;158

assertEquals(e_pectedResult,saleMan8.operation(100,150,1000));159

}160

publicvoidtestOperation9161

{162

missionsaleMan9=newmission(250,1000,5000);163

Stringe_pectedResult=“CurrentState\n”+164

“白酒销售量:

”+250.0+“\n”+165

“红酒销售量:

”+1000.0+“\n”+166

“啤酒销售量:

”+5000.0+“\n”+167

“公司总销售额:

”+187000.0+“\n”+168

“本月获得佣金:

”+1160.0;169

assertEquals(e_pectedResult,saleMan9.operation(250,1000,5000));170

}171}172

1732、Ne_tDate问题

174实现代码:

175packagetest4;176

177

178publicclassNe_tDay{179

180

intyear;181

intmonth;182

intday;183

intne_tday;184

intne_tmonth;185

intne_tyear;186

StringresultDate;187

188

publicNe_tDay(intyear,intmonth,intday)189

{190

ne_tday=day;191

ne_tmonth=month;192

ne_tyear=year;193

}194

publicStringoperation(intyear,intmonth,intday)195

{196

if(1>month||month>12)197

{198

resultDate=“Thismonthnotbetween1and12”;199

}20__

if(1>day||day>31)201

{202

resultDate=“Thisdaynotbetween1and31”;203

}204

else{205

switch(month)206

{207

case

(1):

208

case(3):

209

case(5):

210

case(7):

211

case(8):

212

case(10):

213

if(day<31)214

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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