软件制造工程黑盒测试_第1页
软件制造工程黑盒测试_第2页
软件制造工程黑盒测试_第3页
软件制造工程黑盒测试_第4页
软件制造工程黑盒测试_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 测试工程14.3.2 黑盒测试黑箱测试(又称为功能测试)是把程序或系统看成一个黑盒子,完全不考虑其内部结构和处理过程。 24.3.2 黑盒测试主要是测试各个程序或功能模块之间的接口,检查系统功能是否能按照设计书的规定正常执行,是否能接收正确的输入数据产生正确的输出结果。主要适用于系统测试等后期的测试阶段34.3.2 黑盒测试-系统模型输入的测试数据I1导致反常的输入系统输出的测试结果O1暴露缺陷的输出44.3.2 黑盒测试-主要方法 同值分割(等价划分)界限分割(边界分析)因果图错误推测法54.3.2 黑盒测试-主要方法 同值分割同值分割又称为等价划分,它的含义是针对输入条件,将所有可

2、能的输入数据(有效的和无效的)分为若干等价类,对每一个等价类只取一组数据作为测试数据,使得选取的测试数据具有代表性。6使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。74.3.2 黑盒测试-主要方法如何划分等价类?有效等价类(合理等价类)无效等价类(不合理等价类)8等价类的划分有两种不同的情况: 有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。 无效等价类:是指对于程序的规格说明来说,是不合

3、理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。94.3.2 黑盒测试-主要方法启发式规则:如果规定了输入数据的范围则可划分一个有效的等价类(输入数据在次范围),两个无效的等价类(输入数据小于最小值或大于最大值);104.3.2 黑盒测试-主要方法例 输入值是学生成绩,范围是01000 100 有效等价类0成绩100无效等价类 成绩100 无效等价类 成绩0114.3.2 黑盒测试-主要方法如果规定了输入数据的个数,也可以按以上方法划分出一个有效的等价类,两个无效的等价类;124.3.2 黑盒测试-主要方法如果规定了输入数据的一组值,且程序对不同输入

4、值做不同处理,则每个输入值有一个有效的等价类(允许的输入值)和一个无效的等价类(任一个不允许的输入值);134.3.2 黑盒测试-主要方法例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。144.3.2 黑盒测试-主要方法如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效等价类(从各种不同角度违反规则);154.3.2 黑盒测试-主要方法如果规定了输入数据为整形,则可以划分出三个有效类(正整数、零和负整数)和一个无效类(非整数)164.3.2 黑盒测试-主要方法如果

5、程序的处理对象是表格,则应该使用空表,以及含一项或多项的表。174.3.2 黑盒测试-主要方法注:(1)以上列出的启发式规则只是测试时可能遇到的情况中的很小一部分。为了正确划分等价类,一是要注意积累经验,二是要正确分析被测程序的功能。184.3.2 黑盒测试-主要方法注:(2)在划分无效的等价类时还必须考虑到编译程序的检错功能,一般说来,不需要设计测试数据用来暴露编译程序肯定能发现的错误。194.3.2 黑盒测试-主要方法注:(3)上面列出的启发式规则虽然都是针对输入数据说的,但是其中绝大部分也同样适用于输出数据。204.3.2 黑盒测试-主要方法用等价类划分法设计测试用例步骤(1)形成等价类

6、表,每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;注:应该使每个测试方案只覆盖一个无效的等价类。214.3.2 黑盒测试-主要方法例:某报表处理系统要求用户输入处理 报表的日期,日期限制在2001年1月至2005年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例, 来测试程序

7、的日期检查功能?224.3.2 黑盒测试-主要方法第一步:等价类划分输入等价类 有效等价类 无效等价类 报表日期的类型及长度6位数字字符(1)有非数字字符 (4)少于6个数字字符 (5)多于6个数字字符 (6)年份范围在20012005之间 (2)小于2001 (7)大于2005 (8)月份范围在112之间(3)“报表日期”输入条件的等价类表小于1 (9)大于12 (10)234.3.2 黑盒测试-主要方法第二步 为有效等价类设计测试用例 对表中编号为1,2,3的3个有效等价类 用一个测试用例覆盖: 测试数据 期望结果 覆盖范围200105等价类(1)(2)(3)输入有效244.3.2 黑盒测

8、试-主要方法第三步:为每一个无效等价类设至少设计一个测试用例 测试数据 期望结果 覆盖范围001MAY等价类(4)输入无效20015等价类(5)输入无效等价类(6)输入无效200005等价类(7)输入无效200805等价类(8)输入无效200100等价类(9)输入无效200113等价类(10)输入无效测试数据不能有重复254.3.2 黑盒测试-主要方法例:对招干考试系统“输入学生成绩” 子模块设计测试用例 招干考试分三个专业,准考证号第一位 为专业代号,如: 1-行政专业, 2-法律专业, 3-财经专业. 行政专业准考证号码为:110001111215法律专业准考证号码为:2100012120

9、06财经专业准考证号码为:310001314015264.3.2 黑盒测试-主要方法例:准考证号码的等价类划分 有效等价类: (1) 110001 111215 (2) 210001 212006 (3) 310001 314015 无效等价类: (4) - 110000 (5) 111216 210000 (6) 212007 31000 (7) 314016 + 274.3.2 黑盒测试-主要方法界限分割(边界分析)选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。注: 通常设计测试方案时总是联合使用等价划分和边界分析两种技术2

10、8输入条件报表日期的类型及长度1个数字字符5个数字字符7个数字字符有1个非数字字符全部是非数字字符6个数字字符显示出错显示出错显示出错显示出错显示出错输入有效日期范围月份范围“报表日期”边界值分析法测试用例测试用例说明测试数据期望结果选取理由5200152001.5MAY-200105月份为1月月份为12月月份12200101200112200100200113200101200512200100200513输入有效输入有效显示出错显示出错输入有效输入有效显示出错显示出错在有效范围边界上选取数据仅有1个合法字符比有效长度少1比有效长度多1只有1个非法字符6个非法字符类型及长度均有效最小日期最大

11、日期刚好小于最小日期刚好大于最大日期最小月份最大月份刚好小于最小月份刚好大于最大月份294.3.2 黑盒测试-主要方法因果图法(原因结果标识) 主要标识出输入数据(原因)和输出数据(结果)之间的关系,调查其有效组合的测试分支。304.3.2 黑盒测试-主要方法因果图法借助图形来设计测试用例,适合于被测程序具有多种输入条件,程序的输出又依赖于输入条件的各种组合的情况。31在因果图中出现的基本符号通常在因果图中用Ci表示原因,用Ei表示结果,各结点表示状态,可取值“0”或“1”。“0”表示某状态不出现,“1”表示某状态出现。主要的原因和结果之间的关系有:32表示约束条件的符号为了表示原因与原因之间

12、,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。33 E(互斥):表示a,b两个原因不会同时成立,两个中最多有一个可能成立。 I(包含):表示a,b,c三个原因中至少有一个必须成立。 O(唯一):表示a和b当中必须有一个,且仅有一个成立。 R(要求):表示当a出现时,b必须也出现。不可能a出现,b不出现。 M(屏蔽):表示当a是1时,b必须是0。而当a为0时,b的值不定。34因果图法利用因果图生成测试用例的基本步骤: (1) 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每个原因和结果赋予一个标识符. (2)

13、 分析软件规格说明描述中的语义.找出原因与结果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图.35因果图法利用因果图生成测试用例的基本步骤: (3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件.(4) 把因果图转换为判定表.(5) 把判定表的每一列拿出来作为依据,设计测试用例.364.3.2 测试方法黑箱测试因果图法实例某电力公司有A、B、C、D四类收费标准,并规定:居民用电 100度/月 按A类收费 100度/月 按B类收费动力用电 10000度/月,非高峰,B类收费 10000度

14、/月,非高峰,C类收费 10000度/月, 高峰,C类收费 10000度/月, 高峰,D类收费37因果图法实例列出原因和结果 原因:1居民用电 2动力用电 3100度/月 3100度/月 4非高峰 4高峰 510000度/月 510000度/月 结果:A按A类收费 B按B类收费 C按C类收费 D按D类收费38 用因果图表明输入和输出间的逻辑关系因果图法实例1I12B4AC35DI4I3I2并列关系选择关系否定关系中间结点39因果图法实例把因果图转换为判定表组合条件条件(原因) 动作(结果)ABC123123456101100011000110000100001104101050011D0001

15、10010000测试用例1表示条件成立 或动作出现0表示条件不成立或动作不出现40因果图法实例把判定表的每一列写成一个测试用例1列 居民电,90度/月 A2列 居民电,110度/月 B3列 动力电,非高峰,8000度/月 B4列 动力电,非高峰,1.2万度/月 C5列 动力电, 高峰,0.9万度/月 C6列 动力电, 高峰,1.1万度/月 D 条件 测试用例 预期结果组合 (输入数据) (输出动作)41因果图法表示约束条件的符号:为了表示原因与原因之间,结果与结果之间可能存在的约束条件,在因果图中可以附加一些表示约束条件的符号。 42因果图法实例有一个处理单价为5角钱的饮料的自动售货机软件测试

16、用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。”43因果图法实例(1) 分析这一段说明,列出原因和结果原因: 1. 售货机有零钱找 2. 投入1元硬币 3. 投入5角硬币 4. 押下橙汁按钮 5. 押下啤酒按钮建立中间结点,表示处理中间状态 11. 投入1元硬币且押下饮料按钮 12. 押下橙汁或啤酒的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付

17、清44因果图法实例结果:21. 售货机零钱找完灯亮22. 退还1元硬币23. 退还5角硬币24. 送出橙汁饮料25. 送出啤酒饮料 45因果图法实例(2) 画出因果图。所有原因结点列在左边,所有结果结点列在右边。(3) 由于2 与3 ,4 与5 不能同时发发生,分别加上约束条件E。(4) 因果图 (5) 转换成判定表4647484.3.2 黑盒测试-主要方法错误推测 基本思想是列举出程序中可能的错误和容易发生错误的特殊情况,并且根据它们选择测试方案。错误推测方法是根据经验来设计测试用例的方法。例如,数据测试中的 缺省值、空白、空值、零值、无494.3.2 黑盒测试方法黑盒测试策略首先用边界值分

18、析法设计测试用例必要时用等价分类法补充测试用例必要时再用错误推测法补充测试用例如果在程序的说明中含有输入条件的组合,宜在一开始就采用因果法,然后再按上述步骤进行50黑盒测试与白盒测试的比较测试方法 说明 特点 适用测试时期 白箱测试 参照程序内部结构设计各个测试分支 可以参照程序的功能、逻辑设计测试测试覆盖率高组合各个测试分支设计程序整体的测试分支 单元测试组合测试(组件内的组合测试) 黑箱测试 不参照程序内部结构,从设计书、接口着手设计测试的输入 适合接口测试可以从用户的观点设计测试流程可以发现设计的不一致性问题 组合测试(子系统内的组合测试)系统测试运行测试 514.3 自顶向下测试和自底向上测试在组合测试中采用渐增式测试策略,即从一个模块开始,测一次添加一个模块,边组装边测试,以发现与接口相联系的问题。渐增式测试深度优先广度优先自顶向下结合自底向上结合524.3 自顶向下测试和自底向上测试整体模块 模块ACEFHBDG534.3 自顶向下测试和自底向上测试自顶向下测试的推进方法模块A(B)(C)模块ABC(D)(E)(F)模块ABCDEF(H)(G)模块ABCDEFHG主模块 虚拟模块 544.3 自顶向下测试和自底向上测试自顶向下测试的推进方法模块测试结合顺序深度优先:A、B、E、C、D、F广度优先:A、B、C、D、E、FADBECF554.3 自顶向下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论