您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件制造工程第四章测试工程2
第四章测试工程4.3.2黑盒测试黑箱测试(又称为功能测试)是把程序或系统看成一个黑盒子,完全不考虑其内部结构和处理过程。4.3.2黑盒测试主要是测试各个程序或功能模块之间的接口,检查系统功能是否能按照设计书的规定正常执行,是否能接收正确的输入数据产生正确的输出结果。主要适用于系统测试等后期的测试阶段4.3.2黑盒测试-系统模型输入的测试数据I1导致反常的输入系统输出的测试结果O1暴露缺陷的输出4.3.2黑盒测试-主要方法同值分割同值分割又称为等价划分,它的含义是针对输入条件,将所有可能的输入数据(有效的和无效的)分为若干等价类,对每一个等价类只取一组数据作为测试数据,使得选取的测试数据具有代表性。4.3.2黑盒测试-主要方法如何划分等价类?•有效等价类(合理等价类)•无效等价类(不合理等价类)4.3.2黑盒测试-主要方法启发式规则:如果规定了输入数据的范围则可划分一个有效的等价类(输入数据在次范围),两个无效的等价类(输入数据小于最小值或大于最大值);4.3.2黑盒测试-主要方法例输入值是学生成绩,范围是0~1000100有效等价类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黑盒测试-主要方法第三步:为每一个无效等价类设至少设计一个测试用例测试数据期望结果覆盖范围001MAY等价类(4)输入无效20015等价类(5)输入无效2001005等价类(6)输入无效200005等价类(7)输入无效200805等价类(8)输入无效200100等价类(9)输入无效200113等价类(10)输入无效测试数据不能有重复4.3.2黑盒测试-主要方法例:对招干考试系统“输入学生成绩”子模块设计测试用例招干考试分三个专业,准考证号第一位为专业代号,如:1-行政专业,2-法律专业,3-财经专业.行政专业准考证号码为:110001~111215法律专业准考证号码为:210001~212006财经专业准考证号码为:310001~3140154.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个数字字符显示出错显示出错显示出错显示出错显示出错输入有效日期范围月份范围“报表日期”边界值分析法测试用例测试用例说明测试数据期望结果选取理由52001520010052001.5MAY---200105月份为1月月份为12月月份1月份12200101200112200100200113200101200512200100200513输入有效输入有效显示出错显示出错输入有效输入有效显示出错显示出错在有效范围边界上选取数据仅有1个合法字符比有效长度少1比有效长度多1只有1个非法字符6个非法字符类型及长度均有效最小日期最大日期刚好小于最小日期刚好大于最大日期最小月份最大月份刚好小于最小月份刚好大于最大月份4.3.2黑盒测试-主要方法原因结果标识主要标识出输入数据(原因)和输出数据(结果)之间的关系,调查其有效组合的测试分支。4.3.2黑盒测试-主要方法因果图法借助图形来设计测试用例,适合于被测程序具有多种输入条件,程序的输出又依赖于输入条件的各种组合的情况。利用因果图导出测试用例的步骤:列出原因(输入条件)和结果(输出条件);标识出原因和结果之间的关系(一一对应、选择关系、并列关系、否定关系),画出因果图;把因果图转化成判定表;对判定表的每一列写成一个测试用例。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类收费~~~•用因果图表明输入和输出间的逻辑关系因果图法实例1I12B∨∧4AC35∧DI4I3I2∨∧∧∧∧并列关系选择关系否定关系中间结点因果图法实例把因果图转换为判定表组合条件条件(原因)动作(结果)ABC123123456101100011000110000100001104101050011D000110010000测试用例1表示条件成立或动作出现0表示条件不成立或动作不出现因果图法实例把判定表的每一列写成一个测试用例1列居民电,90度/月A2列居民电,110度/月B3列动力电,非高峰,8000度/月B4列动力电,非高峰,1.2万度/月C5列动力电,高峰,0.9万度/月C6列动力电,高峰,1.1万度/月D条件测试用例预期结果组合(输入数据)(输出动作)因果图法表示约束条件的符号:为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。因果图法因果图法利用因果图生成测试用例的基本步骤:(1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符.(2)分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系.根据这些关系,画出因果图.因果图法(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现.为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件.(4)把因果图转换为判定表.(5)把判定表的每一列拿出来作为依据,设计测试用例.因果图法实例有一个处理单价为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自顶向下测试和自底向上测试整体模块模块ACEFHBDG4.3自顶向下测试和自底向上测试自顶向下测试的推进方法模块A(B)(C)模块ABC(D)(E)(F)模块ABCDEF(H)(G)模块ABCDEFHG主模块虚拟模块4.3自顶向下测试和自底向上测试自顶向下测试的推进方法模块测试结合顺序深度优先:A、B、E、C、D、F
本文标题:软件制造工程第四章测试工程2
链接地址:https://www.777doc.com/doc-3907228 .html