07黑盒测试—边界值解析.ppt

上传人:得****1 文档编号:74915176 上传时间:2023-03-01 格式:PPT 页数:60 大小:2.95MB
返回 下载 相关 举报
07黑盒测试—边界值解析.ppt_第1页
第1页 / 共60页
07黑盒测试—边界值解析.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《07黑盒测试—边界值解析.ppt》由会员分享,可在线阅读,更多相关《07黑盒测试—边界值解析.ppt(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、复旦大学成都东软学院软 件 测 试 基 础软工团队软工团队 唐远涛唐远涛 Tel:15982371977 Email: Office:Floor 2,Building C7NEUSOFTNEUSOFT21.黑盒测试技术常用的黑盒测试技术有:1.1等价类划分法1.2边界值分析法1.3错误推测法1.4因果图和决策表1.5场景法1.6功能图法1.7判定表驱动法1.8正交试验设计法NEUSOFTNEUSOFT31.2边界值分析法(BoundaryValueAnalysis,BVA)长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况

2、设计测试用例,可以查出更多的错误。美国陆军对其软件进行了研究,令人吃惊地发现,大量缺陷都是边界值缺陷。NEUSOFTNEUSOFT4定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。BVA不是选择等价类的任何元素,而是选择等价类边界的测试用例BVA不仅注重于输入条件,而且也从输出域导出测试用例。NEUSOFTNEUSOFT5使用边界值分析方法设计测试用例首先应确定边界情况通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取

3、等价类中的典型值或任意值作为测试数据。NEUSOFTNEUSOFT6边界值分析原则(1)如果输入条件规定了一个输入值范围,则应针对范围的边界设计测试用例,针对刚刚越界的情况设计无效输入测试用例。例如果输入值的有效范围是0-100,那么应针对-1,101设计测试用例NEUSOFTNEUSOFT7边界值分析指南(2)如果输入条件规定了输入值的数量,则应针对输入数量的最小值、输入数量的最大值、以及比最小数量少一个,比最大数量多一个的情况设计测试用例。例如果某个输入文件可容纳1-255条记录,那么应根据0、1、255和256条记录的情况设计测试用例NEUSOFTNEUSOFT8边界值分析指南(3)对每

4、个输出条件应用规则1和2。即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出每月保险金扣除额为0至1165.25元,其测试用例可取0.00及1165.24、还可取一0.01及116526等。再如一程序属于情报检索系统,要求每次最少显示1条、最多显示4条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。NEUSOFTNEUSOFT9边界值分析指南4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。6)分析规格说明

5、,找出其它可能的边界条件。NEUSOFTNEUSOFT10边界值的类型及检验数值字符位置数量速度地点尺寸NEUSOFTNEUSOFT11边界值检验在进行边界值检验时,要考虑这些类型的以下特征:第一个/最后一个开始/完成空/满最慢/最快最大/最小相邻/最远最小值/最大值超过/在内最短/最长最早/最迟最高/最低NEUSOFTNEUSOFT12越界检验的通常做法是简单地对于最大值加1或很小的数,以及对于最小值减1或很小的数,例如:第一个减1/最后一个加1开始减1/完成加1空了再减/满了再加慢上加慢/快上加快最大加1/最小减1最小值减1/最大值加1相邻/最远刚刚超过/刚好在内短了再短/长了再长早了更早

6、/晚了更晚最高加1/最低减1NEUSOFTNEUSOFT13边界值附近数据的几种确定方法项边界值附件数据测试用例的设计思路字符起始-1个字符/结束+1个字符假设一个文本区域要求允许输入1到255个字符,输入1个和255个字符作为有效等价类;输入字符(0个)和输入256个字符作为无效等价类数字开始位-1/结束位+1如数据的输入域为1-999,其最小值为1,而最大值为999,则0、1000则刚好在边界值附件空间小于零空间一点/大于满空间一点测试软盘的数据存储,使用比剩余磁盘空间大一点(几KB)的文件作为测试的边界条件附件值NEUSOFTNEUSOFT14技巧:提出边界条件时,一定要测试临近边界的有

7、效数据,测试最后一个可能有效的数据,同时测试刚超过边界的无效数据。NEUSOFTNEUSOFT15例1:保险费率计算中,投保人年龄范围为1,99,年龄2039岁6点4059岁4点60岁以上,20岁以下2点要求采用边界值分析法设计测试用例。0,1,2 19,20,2139,40,4159,60,6199,100NEUSOFTNEUSOFT16ints=newint10;inti;for(i=1;i=10;i+)si=0;很明显,这段代码的目的是创建包含10个元素的数组,并为数组中的每一个元素赋初值0。看看有什么问题?例2:分析以下代码段NEUSOFTNEUSOFT17例3:Office中的页面设

8、置试一下:幻灯片的宽度和高度的边界值是什么?采用边界值分析法为宽度和高度设计测试用例NEUSOFTNEUSOFT18课上练习:采用边界值分析法设计测试用例,对Taxi1_fat.jar进行测试,找出其中的缺陷。NEUSOFTNEUSOFT19课后预习以组委单位,熟悉佣金问题(见下页),要求:1.分析输入和输出参数及其取值范围2.分析并写出佣金的计算逻辑进一步思考:1.如何利用所学的方法来设计测试用例并对程序进行测试NEUSOFTNEUSOFT20软件测试经典案例:佣金问题某步枪经销商销售某制造商生产的枪枪托和枪管,枪栓45美元,枪托30美元,枪管25美元。经销商每月至少要售出一支完整的步枪,且

9、经销商每月最多可售出枪栓70支,枪托80支,枪管90支。每月月底,经销商向制造商报告当月销售情况,制造商根据销售量计算经销商应得的佣金。销售额不超过1000美元的部分,佣金为10%,大于1000且不超过1800美元的部分为15%,超过1800美元的部分为20%。NEUSOFTNEUSOFT21上节课内容回顾边界值测试的重要性常用边界值分析法设计测试用例的步骤常见的边界值类型NEUSOFTNEUSOFT22本节课内容使用边界值分析法测试用例完成以下任务:1.Commission佣金计算程序的测试2.calculate_price程序的测试NEUSOFTNEUSOFT23软件测试经典案例:佣金问题

10、某步枪经销商销售某制造商生产的枪枪托和枪管,枪栓45美元,枪托30美元,枪管25美元。经销商每月至少要售出一支完整的步枪,且经销商每月最多可售出枪栓70支,枪托80支,枪管90支。每月月底,经销商向制造商报告当月销售情况,制造商根据销售量计算经销商应得的佣金。销售额不超过1000美元的部分,佣金为10%,大于1000且不超过1800美元的部分为15%,超过1800美元的部分为20%。NEUSOFTNEUSOFT24A complex problem,right?解决问题的步骤:1.分析问题a)分析输入和输出参数及其取值范围b)分析并写出佣金的计算逻辑2.设计测试用例3.执行测试用例comple

11、x adj.复杂的NEUSOFTNEUSOFT251、问题分析:由此得到什么信息输入域:枪栓、枪托、枪管1枪栓70、1枪托80、1枪管90输出域:所得佣金为销售额乘以佣金比例NEUSOFTNEUSOFT26用函数表示佣金问题设销售额为S(Sales),则:S(x,y,z)=x45+y30+z25其中:x、y、z分别代表枪栓、枪托和枪管的月销售量设佣金为C(Commission),则:S10%if S=1000C(S)=(100010%)+(S-1000)15%if S1800NEUSOFTNEUSOFT272、设计测试用例利用所学的方法设计测试用例对佣金问题进行测试思考:如何做?等价类划分法边

12、界值分析法NEUSOFTNEUSOFT28等价类划分参数有效等价类(vEC)无效等价类(iEC)枪栓1x70 x70枪托1y80 x80枪管1z90 x90思考:以上测试用例能否测试佣金问题中的计算问题?NEUSOFTNEUSOFT29提示:参数有效等价类(vEC)无效等价类(iEC)销售额销售额10001000销售额1800销售额1800同时考虑边界值考虑输出域的等价类:NEUSOFTNEUSOFT30边界值分析思考:有哪些边界值?提示:对输入域同时对输出域采用边界值分析法进行测试。NEUSOFTNEUSOFT31Now,designyourtestcases.功能描述计算佣金用例目的测试佣

13、金计算的正确性前提条件无编号输入(枪栓、枪托、枪管)期望的输出/响应实际情况1有效销售量,例35,40,4564021,1,110030,1,1报错4.5NEUSOFTNEUSOFT323.OK.Now,itistimetoruntestcases.Theformatofthetestcasefile:Input values of x,y,zOutput:commission运行步骤同三角形问题。NEUSOFTNEUSOFT33Tips:UseExecltogetexpectedresults.Input parametersOutput-Commission中间结果,方便理解NEUSOFT

14、NEUSOFT34=IF(D2100,Error,IF(D2=1000,D2*10%,IF(D2=1800,1000*10%+(D2-1000)*15%,IF(D2=7800),1000*10%+800*15%+(D2-1800)*20%,Error)改进版=IF(OR(A41,B41,C470,B480,C490),Error,IF(D4=1000,D4*10%,IF(D4=1800,1000*10%+(D4-1000)*15%,1000*10%+800*15%+(D4-1800)*20%)NEUSOFTNEUSOFT35实验3:利用所学的方法设计测试用例对佣金问题进行测试提交形式:纸质版由

15、各班收齐后一起交给我提交截至时间:NEUSOFTNEUSOFT36再看函数calculate_price()函数的功能描述和接口描述如下:功能:计算购车总价doublecalculate_price(doublebaseprice,/basepriceofthevehicledoublespecialprice,/specialmodeladditiondoubleextraprice,/priceoftheextrasintextras,/numberofextrasdoublediscount/dealersdiscount)NEUSOFTNEUSOFT37函数的规格说明:汽车价格的起点是

16、:基准价(baseprice)减去折扣,其中基准价是汽车的基本价格,折扣价是销售商给予的在基准价基础上的折扣。增加特殊设备的特殊价格和附加设备的附加价格如果选择了3个或更多的附加设备(这些设备不包括在特殊设备中),这些附加设备可以有10%的折扣,如果选择了5个或更多的附加设备,这些附加设备的折扣可增加到15%。销售商提供的折扣只针对基准价,特别设备的折扣只能用在特别设备上,这些折扣不能相互叠加。NEUSOFTNEUSOFT38计算逻辑分析汽车价格=baseprice(1-discount)+specialprice+Priceforextras其中:extrapriceextras3Price

17、forextras=extraprice(1-10%)extras3extraprice(1-15%)extras5NEUSOFTNEUSOFT39第一步:划分并标识等价类参数等价类代表值1basepricevEC11:0,MAX_DOUBLE20000.00iEC11:MIN_DOUBLE,0-1.00iEC12:NaN“abc”2SpecialpricevEC21:0,MAX_DOUBLE3450.00iEC11:MIN_DOUBLE,0-1.00iEC22:NaN“abc”3extrapricevEC31:0,MAX_DOUBLE6000.00iEC11:MIN_DOUBLE,0-1.0

18、0iEC32:NaN“abc”4extarsvEC41:0,21vEC41:3,43vEC41:5,MAX_INT20iEC41:MIN_INT,0-1.00iEC42:NaN“abc”5discountvEC51:0,10010iEC51:MIN_DOUBLE,0-1.00iEC11:100,MAX_DOUBLE101.00iEC52:NaN“abc”NEUSOFTNEUSOFT40第二步设计测试用例用例编号BasepriceSpecialpriceExtrapriceExtrasDiscountresult120000.003450.006000.00110.0027450.0022000

19、0.003450.006000.00310.0026850.00320000.003450.006000.002010.0026550.004-1.003450.006000.00110.00NOT_VALID5“abc”3450.006000.00110.00NOT_VALID620000.00-1.006000.00110.00NOT_VALID720000.00“abc”6000.00110.00NOT_VALID820000.003450.00-1.00110.00NOT_VALID920000.003450.00“abc”110.00NOT_VALID1020000.003450.0

20、06000.00-1.0010.00NOT_VALID1120000.003450.006000.00“abc”10.00NOT_VALID1220000.003450.006000.001-1.00NOT_VALID1320000.003450.006000.001101.00NOT_VALID1420000.003450.006000.001“abc”NOT_VALIDNEUSOFTNEUSOFT41考虑本例中的边界值问题参数等价类代表值1basepricevEC11:0,MAX_DOUBLE20000.00iEC11:MIN_DOUBLE,0-1.00iEC12:NaN“abc”2Spe

21、cialpricevEC21:0,MAX_DOUBLE3450.00iEC11:MIN_DOUBLE,0-1.00iEC22:NaN“abc”3extrapricevEC31:0,MAX_DOUBLE6000.00iEC11:MIN_DOUBLE,0-1.00iEC32:NaN“abc”4extarsvEC41:0,21vEC41:3,43vEC41:5,MAX_INT20iEC41:MIN_INT,0-1.00iEC42:NaN“abc”5discountvEC51:0,10010iEC51:MIN_DOUBLE,0-1.00iEC11:100,MAX_DOUBLE101.00iEC52:N

22、aN“abc”对边界值0,可设计测试用例:-0.01,0,0.01天上掉馅饼了,100%的折扣!本例中对各参数的边界值没有明确的定义。明确定义的边界值有助于降低测试的成本。NEUSOFTNEUSOFT42补充以下信息基本价格在10,000到150,000美元之间specialprice的价格在800到3,500美元之间最多可有25个可能的附加选择extras,他们的价格在50到750美元之间经销商给出的最大折扣为25%NEUSOFTNEUSOFT43根据以上边界的约束条件,常用边界值分析法设计测试用例:基本价格在10,00010,000到150,000150,000美元之间specialpri

23、ce的价格在800800到3,5003,500美元之间最多可有2525个可能的附加选择extras,他们的价格在5050到750750美元之间经销商给出的最大折扣为25%25%ParametersBoundaryTestcasesbaseprice10,000.00150,000.00Specialprice800.003,500.00Extraprice50.0018,750.00Extras02425discount0.0025.009999.99,9999.99,10,000.0010,000.00 10,000.0110,000.01149999.99,149999.99,150,00

24、0.00,150,000.01 150,000.00,150,000.01799.99,799.99,800.00,800.00,800.01800.013,499.99,3,499.99,3,500.00,3,500.00,3,500.013,500.0149.99,49.99,50.00,50.00,50.0150.0118,749.99,18,749.99,18,750.00,18,750.0118,750.00,18,750.01-1,-1,0,0,1 11,1,2,2,3 33,3,4,4,5 524,24,25,25,2626-0.01,-0.01,0.00,0.00,0.010.

25、0124.99,24.99,25.00,25.00,25.0125.01NEUSOFTNEUSOFT44Now,designyourtestcases功能描述计算购车费用用例目的测试购车费用计算的正确性前提条件无输入期望的输出/相应实际情况20000.00,3450.00,6000.00,1,1027450.0020000.00,3450.00,6000.00,3,1026850.0020000.00,3450.00,6000.00,20,1026550.00输入数据顺序如下:baseprice,specialprice,extraprice,extras,discountNEUSOFTNEU

26、SOFT45Runtestcases.运行测试用例记录并比较期望结果和实际结果NEUSOFTNEUSOFT46例:Office中的页面设置试一下:幻灯片的宽度和高度的边界值是什么?采用边界值分析法为宽度和高度设计测试用例NEUSOFTNEUSOFT47次边界条件普通边界条件很容易找到,它们通常在产品说明书中定义的很明确或在使用软件的过程中明显。而有些边界在软件内部,最终用户几乎看不到,但是软件测试员仍有必要进行检查。这样的边界条件称为次边界条件(sub-boundarycondition)或内部边界条件(internal-boundarycondition)NEUSOFTNEUSOFT48数值

27、的边界值检验计算机内部数据是以二进制存储和计算的,因此许多不同类型(整型、长整型、布尔型、数组、字符串长度等)的数据都受到一定的限制,具有很强的二进制特征,如下表所示:项范围或值位(bit)0或1字节(Byte)0255(28个)整型(Word)065533(216个)长整型04294967295(232)千(K)/兆(M)1024/1048576(210/220)千兆(G)1073741824(230)万亿(T)1099511627776(240)NEUSOFTNEUSOFT49数值的边界值检验半字节210220230240NEUSOFTNEUSOFT50字符的边界值检验在计算机软件中,字符

28、也是很重要的表示元素,其中,ASCII和Unicode是常见的编码方式。NEUSOFTNEUSOFT51字符的边界值检验NEUSOFTNEUSOFT52字符的边界值检验在文本输入或者文本转换的测试过程中,需要非常清晰地了解ASCII码的一些基本对应关系,如小写字母a和大写字母A、空和空格的ASCII码值是不同的,而且它们处在边界上,斜杠、冒号、左中括号和单引号恰好处在阿拉伯数字、英文字母的边界值附近。NEUSOFTNEUSOFT53其它边界值检验一些特殊的值,如默认值、空值、空格、未输入值、零,可以被认为是边界值。在文字编辑域、多选择项上,都存在这样的特殊边界值,或者可以看作是边界值的延伸。N

29、EUSOFTNEUSOFT54其它边界值检验图中圈出的部分就是一些边界值,是测试的重点图:字符编辑域、多选择项的特殊边界值NEUSOFTNEUSOFT55其它边界值检验对于多选项,也可以用边界值方法来进行测试用例设计,可以设置3个边界条件:选上所有项(最大值)不选如何一项(空、零)只选一项(最小值)图:多选项的情况示意图NEUSOFTNEUSOFT56其它边界值检验技巧:一定要考虑建立默认值、空白、空值、零值或者无输入等条件的等级划分。NEUSOFTNEUSOFT57课上思考1如对右边窗口进行测试,找出相应的边界值。NEUSOFTNEUSOFT58课上思考2请用边界值分析法对科学计算器的16进制单字长的计算进行测试。NEUSOFTNEUSOFT59测试完成准则定义类似于等价类划分法边界值覆盖率=(执行的边界值数量/总的边界值数量)100%NEUSOFTNEUSOFT60边界值分析的价值边界值分析应该与等价类划分一起使用,因为在等价类边界值上发现问题的概率比在等价类内部发现问题的概率高得多。这两种技术很容易结合使用,同时在选择具体测试数据上可以保持足够的独立性。边界值分析技术看起来简单,而实际上确定相关的边界值并不是想象中那么轻松。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com