黑盒测试实验报告文档格式.docx
《黑盒测试实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《黑盒测试实验报告文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表示处理的中间状态。
中间结点:
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:
=日期<
=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
ssales73inde_,atleastamonthtosell30bottlesofredwine.”;
74
}75
elseif(redwine>
3000)76
{77
resultSales=“Monthlysupplyof3000bottlesofredwine”;
78
}79
}80
elseif(spirit<
50)81
{82
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
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__
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