收藏 分销(赏)

软件制造工程黑盒测试.ppt

上传人:pc****0 文档编号:13743204 上传时间:2026-04-08 格式:PPT 页数:60 大小:860KB 下载积分:10 金币
下载 相关 举报
软件制造工程黑盒测试.ppt_第1页
第1页 / 共60页
软件制造工程黑盒测试.ppt_第2页
第2页 / 共60页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第四章 测试工程,4.3.2,黑盒测试,黑箱测试(又称为功能测试),是把程序或系统看成一个黑盒子,完全,不考虑,其内部结构和处理过程。,4.3.2,黑盒测试,主要是测试各个程序或功能模块之间的接口,检查系统功能是否能按照设计书的规定正常执行,是否能接收正确的输入数据产生正确的输出结果。,主要适用于系统测试等,后期的,测试阶段,4.3.2,黑盒测试,-,系统模型,输入的测试数据,I1,导致反常的输入,系统,输出的测试结果,O1,暴露缺陷的输出,4.3.2,黑盒测试,-,主要方法,同值分割(等价划分),界限分割(边界分析,),因果图,错误,推测法,4.3.2,黑盒测试,-,主要方法,同值分割,同值分割又称为等价划分,它的含义是针对输入条件,将所有可能的输入数据(,有效的,和,无效的,)分为若干等价类,对每一个等价类只取一组数据作为测试数据,使得选取的测试数据具有代表性。,使用这一方法设计测试用例要经历,划分等价类,(列出等价类表)和,选取测试用例,两步。,划分等价类,等价类是指某个输入域的子集合。在该子集合中,,各个输入数据对于揭露程序中的错误都是等效的,。测试某等价类的代表值就等价于对这一类其它值的测试。,4.3.2,黑盒测试,-,主要方法,如何划分等价类?,有效等价类,(,合理等价类,),无效等价类,(,不合理等价类,),等价类的划分有两种不同的情况:,有效等价类,:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。,无效等价类,:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。,在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。,4.3.2,黑盒测试,-,主要方法,启发式规则,:,如果规定了输入数据的范围则可划分一个有效的等价类(输入数据在次范围),两个无效的等价类(输入数据小于最小值或大于最大值);,4.3.2,黑盒测试,-,主要方法,例,输入值是学生成绩,范围是,0,100,0 100,有效,等价类,0,成绩,100,无效等价类,成绩,100,无效等价类,成绩,0,4.3.2,黑盒测试,-,主要方法,如果规定了输入数据的个数,也可以按以上方法划分出一个有效的等价类,两个无效的等价类;,4.3.2,黑盒测试,-,主要方法,如果规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个输入值有一个有效的等价类(允许的输入值)和一个无效的等价类(任一个不允许的输入值);,4.3.2,黑盒测试,-,主要方法,例:输入条件说明学历可为,:,专科、本科、硕士、博士,四种之一,则分别取这四种这四个值作为,四个有效等价类,,另外把四种学历之外的任何学历作为无效等价类。,4.3.2,黑盒测试,-,主要方法,如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效等价类(从各种不同角度违反规则);,4.3.2,黑盒测试,-,主要方法,如果规定了输入数据为整形,则可以划分出三个有效类(正整数、零和负整数)和一个无效类(非整数),4.3.2,黑盒测试,-,主要方法,如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。,4.3.2,黑盒测试,-,主要方法,注:,(,1,)以上列出的启发式规则只是测试时可能遇到的情况中的很小一部分。为了正确划分等价类,一是要注意积累经验,二是要正确分析被测程序的功能。,4.3.2,黑盒测试,-,主要方法,注:,(,2,)在划分无效的等价类时还必须考虑到编译程序的检错功能,一般说来,不需要设计测试数据用来暴露编译程序肯定能发现的错误。,4.3.2,黑盒测试,-,主要方法,注:,(,3,)上面列出的启发式规则虽然都是针对输入数据说的,但是其中绝大部分也同样适用于输出数据。,4.3.2,黑盒测试,-,主要方法,用等价类划分法设计测试用例步骤,(1),形成等价类表,每一等价类规定一个唯一的编号;,(2),设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;,(3),设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;,注:,应该使每个测试方案只覆盖一个无效的等价类。,4.3.2,黑盒测试,-,主要方法,例,:,某报表处理系统要求用户输入处理,报表的日期,日期限制在,2001,年,1,月至,2005,年,12,月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的,6,位数字字符组成前四位代表年,后两位代表月。,如何用等价类划分法设计测试用例,来测试程序的日期检查功能?,4.3.2,黑盒测试,-,主要方法,第一步:等价类划分,输入等价类 有效等价类 无效等价类,报表日期的,类型及长度,6,位数字字符,(1),有非数字字符,(4),少于,6,个数字字符,(5),多于,6,个数字字符,(6),年份范围,在,2001,2005,之间,(2),小于,2001(7),大于,2005(8),月份范围,在,1,12,之间,(3),“,报表日期,”,输入条件的等价类表,小于,1(9),大于,12(10),4.3.2,黑盒测试,-,主要方法,第二步,为有效等价类设计测试用例,对表中编号为,1,2,3,的,3,个有效等价类,用一个测试用例覆盖:,测试数据 期望结果 覆盖范围,200105,等价类,(1)(2)(3),输入有效,4.3.2,黑盒测试,-,主要方法,第三步:为每一个无效等价类设至少设计一个测试用例,测试数据 期望结果 覆盖范围,001,MAY,等价类,(4),输入无效,20015,等价类,(5),输入无效,2001005,等价类,(6),输入无效,2000,05,等价类,(7),输入无效,2008,05,等价类,(8),输入无效,2001,00,等价类,(9),输入无效,2001,13,等价类,(10),输入无效,测试数据不能有重复,4.3.2,黑盒测试,-,主要方法,例,:,对招干考试系统,“,输入学生成绩,”,子模块设计测试用例,招干考试分三个专业,准考证号第一位,为专业代号,如,:1-,行政专业,2-,法律专业,3-,财经专业,.,行政专业准考证号码为,:110001,111215,法律专业准考证号码为,:210001,212006,财经专业准考证号码为,:310001,314015,4.3.2,黑盒测试,-,主要方法,例,:,准考证号码的等价类划分,有效等价类,:,(1)110001,111215,(2)210001,212006,(3)310001,314015,无效等价类,:,(4)-,110000,(5)111216,210000,(6)212007,31000,(7)314016,+,4.3.2,黑盒测试,-,主要方法,界限分割(边界分析),选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。,注:,通常设计测试方案时总是联合使用等价划分和边界分析两种技术,输入,条件,报表日,期的类,型及长,度,1,个数字字符,5,个数字字符,7,个数字字符,有,1,个非数字字符,全部是非数字字符,6,个数字字符,显示出错,显示出错,显示出错,显示出错,显示出错,输入有效,日期,范围,月份,范围,“,报表日期,”,边界值分析法测试用例,测试用例说明,测试数据,期望结果,选取理由,5,20015,2001005,2001.5,MAY-,200105,月份为,1,月,月份为,12,月,月份,12,200101,200112,200100,200113,200101,200512,200100,200513,输入有效,输入有效,显示出错,显示出错,输入有效,输入有效,显示出错,显示出错,在有效范围,边界上选取,数据,仅有,1,个合法字符,比有效长度少,1,比有效长度多,1,只有,1,个非法字符,6,个非法字符,类型及长度均有效,最小日期,最大日期,刚好小于最小日期,刚好大于最大日期,最小月份,最大月份,刚好小于最小月份,刚好大于最大月份,4.3.2,黑盒测试,-,主要方法,因果图法(原因结果标识),主要标识出输入数据(原因)和输出数据(结果)之间的关系,调查其有效组合的测试分支。,4.3.2,黑盒测试,-,主要方法,因果图法,借助图形来设计测试用例,适合于被测程序具有多种输入条件,程序的输出又依赖于输入条件的各种组合的情况。,在因果图中出现的基本符号通常在因果图中用,Ci,表示原因,用,Ei,表示结果,各结点表示状态,可取值“,0”,或“,1”,。“,0”,表示某状态不出现,“,1”,表示某状态出现。,主要的原因和结果之间的关系有,:,表示约束条件的符号为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。,E,(互斥):表示,a,,,b,两个原因不会同时成立,两个中最多有一个可能成立。,I,(包含):表示,a,,,b,,,c,三个原因中至少有一个必须成立。,O,(唯一):表示,a,和,b,当中必须有一个,且仅有一个成立。,R,(要求):表示当,a,出现时,,b,必须也出现。不可能,a,出现,,b,不出现。,M,(屏蔽):表示当,a,是,1,时,,b,必须是,0,。而当,a,为,0,时,,b,的值不定。,因果图法,利用因果图生成测试用例的基本步骤,:,(1),分析软件规格说明描述中,哪些是原因,(,即输入条件或输入条件的等价类,),哪些是结果,(,即输出条件,),并给每个原因和结果赋予一个标识符,.,(2),分析软件规格说明描述中的语义,.,找出原因与结果之间,原因与原因之间对应的关系,.,根据这些关系,画出因果图,.,因果图法,利用因果图生成测试用例的基本步骤,:,(3),由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,.,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件,.,(4),把因果图转换为判定表,.,(5),把判定表的每一列拿出来作为依据,设计测试用例,.,4.3.2,测试方法,黑箱测试,因果图法实例,某电力公司有,A,、,B,、,C,、,D,四类收费标准,并规定:,居民用电,100,度,/,月 按,A,类收费,100,度,/,月 按,B,类收费,动力用电,10000,度,/,月,非高峰,B,类收费,10000,度,/,月,非高峰,C,类收费,10000,度,/,月,高峰,C,类收费,10000,度,/,月,高峰,D,类收费,因果图法实例,列出原因和结果,原因:,1,居民用电,2,动力用电,3,100,度,/,月,3,100,度,/,月,4,非高峰,4,高峰,5,10000,度,/,月,5,10000,度,/,月,结果:,A,按,A,类收费,B,按,B,类收费,C,按,C,类收费,D,按,D,类收费,用因果图表明输入和输出间的逻辑关系,因果图法实例,1,I1,2,B,4,A,C,3,5,D,I4,I3,I2,并列关系,选择关系,否定关系,中间结点,因果图法实例,把因果图转换为判定表,组合条件,条件,(,原因,),动作,(,结果,),A,B,C,1,2,3,1,2,3,4,5,6,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,4,1,0,1,0,5,0,0,1,1,D,0,0,0,1,1,0,0,1,0,0,0,0,测试用例,1,表示条件成立,或动作出现,0,表示条件不成立或动作不出现,因果图法实例,把判定表的每一列写成一个测试用例,1,列 居民电,90,度,/,月,A,2,列 居民电,110,度,/,月,B,3,列 动力电,非高峰,8000,度,/,月,B,4,列 动力电,非高峰,1.2,万度,/,月,C,5,列 动力电,高峰,0.9,万度,/,月,C,6,列 动力电,高峰,1.1,万度,/,月,D,条件 测试用例 预期结果,组合,(,输入数据,)(,输出动作,),因果图法,表示约束条件的符号,:,为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。,因果图法实例,有一个处理单价为,5,角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:,若投入,5,角钱或,1,元钱的硬币,押下,橙汁,或,啤酒,的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示,零钱找完,的红灯亮,这时再投入,1,元硬币并押下按钮后,饮料不送出来而且,1,元硬币也退出来;若有零钱找,则显示,零钱找完,的红灯灭,在送出饮料的同时退还,5,角硬币。,”,因果图法实例,(1),分析这一段说明,列出原因和结果,原因,:,1.,售货机有零钱找,2.,投入,1,元硬币,3.,投入,5,角硬币,4.,押下橙汁按钮,5.,押下啤酒按钮,建立中间结点,表示处理中间状态,11.,投入,1,元硬币且押下饮料按钮,12.,押下,橙汁,或,啤酒,的按钮,13.,应当找,5,角零钱并且售货机有零钱找,14.,钱已付清,因果图法实例,结果:,21.,售货机,零钱找完,灯亮,22.,退还,1,元硬币,23.,退还,5,角硬币,24.,送出橙汁饮料,25.,送出啤酒饮料,因果图法实例,(2),画出因果图。所有原因结点列在左边,所有结果结点列在右边。,(3),由于,2,与,3,,,4,与,5,不能同时发发生,分别加上约束条件,E,。,(4),因果图,(5),转换成判定表,4.3.2,黑盒测试,-,主要方法,错误推测,基本思想是列举出程序中可能的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。,错误推测方法是,根据经验来设计测试用例的方法。,例如,数据测试中的 缺省值、空白、空值、零值、无,4.3.2,黑盒测试方法,黑盒测试策略,首先用,边界值分析法,设计测试用例,必要时用,等价分类法,补充测试用例,必要时再用,错误推测法,补充测试用例,如果在程序的说明中含有输入条件的组合,宜在一开始就采用,因果法,,然后再按上述步骤进行,黑盒测试与白盒测试的比较,测试方法,说明,特点,适用测试时期,白箱测试,参照程序内部结构设计各个测试分支,可以参照程序的功能、逻辑设计测试,测试覆盖率高,组合各个测试分支设计程序整体的测试分支,单元测试,组合测试,(组件内的组合测试),黑箱测试,不参照程序内部结构,从设计书、接口着手设计测试的输入,适合接口测试,可以从用户的观点设计测试流程,可以发现设计的不一致性问题,组合测试,(子系统内的组合测试),系统测试,运行测试,4.3,自顶向下测试和自底向上测试,在组合测试中采用,渐增式测试策略,,即,从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。,渐增式,测试,深度优先,广度优先,自顶向下结合,自底向上结合,4.3,自顶向下测试和自底向上测试,整体模块,模块,A,C,E,F,H,B,D,G,4.3,自顶向下测试和自底向上测试,自顶向下测试,的推进方法,模块,A,(,B,),(,C,),模块,A,B,C,(,D,),(,E,),(,F,),模块,A,B,C,D,E,F,(,H,),(,G,),模块,A,B,C,D,E,F,H,G,主模块,虚拟模块,4.3,自顶向下测试和自底向上测试,自顶向下测试,的推进方法,模块测试,结合顺序,深度优先,:A,、,B,、,E,、,C,、,D,、,F,广度优先,:A,、,B,、,C,、,D,、,E,、,F,A,D,B,E,C,F,4.3,自顶向下测试和自底向上测试,自底向上测试,的推进方法,测试引导,D,测试引导,G,测试引导,D,G,G,B,测试引导,E,测试引导,H,测试引导,测试引导,F,H,C,E,F,H,4.3,自顶向下测试和自底向上测试,自底向上测试,的推进方法,模块,A,C,E,F,H,B,D,G,自顶向下测试与自底向上测试方法的比较,组合测试方法,测试推进方法,优点,缺点,自底向上测试,要准备替代上层模块的测试驱动模块。,能够并行测试作业,同时对多个模块进行测试。,测试作业较分散,往往在测试的后期才能发现系统的重要缺陷。,自顶向下测试,要准备替代下层模块的测试支撑模块。,能够在早期检测出接口界面的错误等重大缺陷。,可对上层模块进行反复测试,提高其可靠性。,仅由部分人员担任测试,测试期间较长。,测试驱动模块,模块,D,模块,A,测试支撑模块,混合集成测试方法,由于自顶向下测试和自底向上测试各有优缺点,因此在实际测试过程中一般将两种方法结合起来使用。,自顶向下测试和自底向上测试,混合集成测试方法,一般对软件结构的上层模块使用自顶向下推进的方法;,对下层模块或关键模块使用自底向上结合的方法;,而对于较小规模的程序,一般采用一次性连接所有模块进行测试的方法,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服