您好,欢迎访问三七文档
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、对于NextDate问题,分析它的输入限制;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、○73)为每一个无效等价类设计一个测试用例,设计结果如下:测试数据期望结果覆盖的无效等价类(30,40,400)输入无效○2(5500,40,400)输入无效○3(55,25,400)输入无效○5(55,4000,400)输入无效○6(55,75,250)输入无效○8(55,75,33000)输入无效○94)测试结果:所有测试都成功,且测试的覆盖率为百分百2、NextDate问题1)分析它的输入限制NextDate是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。变量月份、日期和年都是整数值,并满足以下条件:c1:1=月份=12c2:1=日期=31c3:1812=年=20122)边界值测试设计编号输入期望输出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;78importjava.util.Scanner;910publicclassCommission{1112doubletotalspirit=0;//白酒总销售量13doubletotalredwine=0;//红酒总销售量14doubletotalbeer=0;//啤酒总销售量1516doublespiritprice=168;//白酒的单价17doubleredwineprice=120;//红酒的单价18doublebeerprice=5;//啤酒的单价1920doublespiritsales;21doubleredwinesales;22doublebeersales;23doublesales;2425doublecommission;//佣金26StringresultSales;272829publicCommission(doublespirit,doubleredwine,doublebeer)30{31totalspirit+=spirit;32totalredwine=+redwine;33totalbeer+=beer;34}35publicStringoperation(doublespirit,doubleredwine,doublebeer)36{37if(spirit=50&&spirit=5000)38{39if(redwine=30&&redwine=3000)40{41if(beer=300&&beer=30000)42{43spiritsales=spiritprice*totalspirit;44redwinesales=redwineprice*totalredwine;45beersales=beerprice*totalbeer;46sales=spiritsales+redwinesales+beersales;47if(sales=20000)48commission=sales*0.04;49elseif(sales20000&&sales=45000)50commission=20000*0.04+(sales-20000)*0.01;51else52commission=45000*0.01+(sales-45000)*0.005;53resultSales=CurrentState\n+54白酒销售量:+totalspirit+\n+55红酒销售量:+totalredwine+\n+56啤酒销售量:+totalbeer+\n+57公司总销售额:+sales+\n+58本月获得佣金:+commission;59}60elseif(beer300)61{62resultSales=Youdidnotcompletethecompany'ssales63index,atleastamonthtosell300bottlesofbeer.;64}65elseif(beer30000)66{67resultSales=Monthlysupplyof30000bottlesofbeer;68}69}70elseif(redwine30)71{72resultSales=Youdidnotcompletethecompany'ssales73index,atleastamonthtosell30bottlesofredwine.;74}75elseif(redwine3000)76{77resultSales=Monthlysupplyof3000bottlesofredwine;78}79}80elseif(spirit50)81{82resultSales=Youdidnotcompletethecompany'ssalesindex,at83
本文标题:黑盒测试实验报告
链接地址:https://www.777doc.com/doc-4711969 .html