第05课 黑盒测试4-因果图错误推测场景法_第1页
第05课 黑盒测试4-因果图错误推测场景法_第2页
第05课 黑盒测试4-因果图错误推测场景法_第3页
第05课 黑盒测试4-因果图错误推测场景法_第4页
第05课 黑盒测试4-因果图错误推测场景法_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、孙旭光防防 灾灾 科科 技技 学学 院院n黑盒测试黑盒测试把程序看作一个不能打开的黑盒子,只把程序看作一个不能打开的黑盒子,只检查程序功能是否按照需求规格说明书的规定正常使检查程序功能是否按照需求规格说明书的规定正常使用用。也叫做功能测试或者也叫做功能测试或者基于规格说明的测试基于规格说明的测试。n黑盒测试用例设计主要有以下几种方法:黑盒测试用例设计主要有以下几种方法:n等价类划分法等价类划分法n边界值分析法边界值分析法n因果图法因果图法n决策表法决策表法经常组合起来使用经常组合起来使用n基于决策表的测试是最严格,最具有逻辑性的黑盒测基于决策表的测试是最严格,最具有逻辑性的黑盒测试方法。试方法

2、。n决策表决策表是把作为条件的所有输入的各种组合值以及对是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。应输出值都罗列出来而形成的表格。n它能够将复杂的问题按照各种可能的情况全部列举出来,简明它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。并避免遗漏。n因此,利用决策表能够设计出完整的测试用例集合。因此,利用决策表能够设计出完整的测试用例集合。n决策表适合处理:针对不同逻辑条件的组合值,分别决策表适合处理:针对不同逻辑条件的组合值,分别执行不同的操作这样的问题。执行不同的操作这样的问题。n决策表的组成:决策表的组成:n构造决策表可采用以下构造决策表可采

3、用以下5个步骤:个步骤:n列出所有的条件桩和动作桩。列出所有的条件桩和动作桩。n确定规则的个数。确定规则的个数。n填入条件项。填入条件项。n填入动作项,得到初始决策表。填入动作项,得到初始决策表。n简化决策表,合并相似规则。简化决策表,合并相似规则。n2.1 黑盒测试的基本概念黑盒测试的基本概念n2.2 等价类划分等价类划分n2.3 边界值分析法边界值分析法n2.4 因果图法因果图法n2.5 决策表法决策表法n2.6 黑盒测试方法的比较与选择黑盒测试方法的比较与选择n2.7 黑盒测试工具介绍黑盒测试工具介绍n当程序输入之间有关系,例如:约束关系、组合关系时,用等当程序输入之间有关系,例如:约束

4、关系、组合关系时,用等价类划分和边界值分析是很难描述的,测试效果难以保障。价类划分和边界值分析是很难描述的,测试效果难以保障。n因此必须考虑使用一种适合于描述对于多种条件的组合,产生因此必须考虑使用一种适合于描述对于多种条件的组合,产生多个相应动作的测试方法多个相应动作的测试方法因果图法。因果图法。n因果图法因果图法就是一种利用图解法分析输入的各种组合情况,从就是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。况的组合。n如果开发项目在设计阶段就采用的决策表,就不必再画因果图,如果开发

5、项目在设计阶段就采用的决策表,就不必再画因果图,可以直接利用决策表设计测试用例。可以直接利用决策表设计测试用例。n因果图法的原理因果图法的原理n因果图:以直线连接左右结点,左结点表示输入状态因果图:以直线连接左右结点,左结点表示输入状态(因),右结点表示输出状态(果)。(因),右结点表示输出状态(果)。n在实际问题中,输入状态之间可能存在某些依赖关系,在实际问题中,输入状态之间可能存在某些依赖关系,称为称为约束约束。n输入条件的约束:输入条件的约束:nE(异或):(异或):a和和b中最多只能有一个为中最多只能有一个为1,即,即a和和b不能不能同时为同时为1。nI(或):(或):a、b和和c中至

6、少有一个为中至少有一个为1,即,即a、b和和c不能不能同时为同时为0。nO(唯一):(唯一):a和和b必须有一个,且仅有一个为必须有一个,且仅有一个为1.nR(要求):(要求):a是是1时,时,b必须是必须是1,n输出条件的约束:输出条件的约束:nM(强制):如果结果(强制):如果结果a是是1,则结果,则结果b强制为强制为0.n因果图法测试用例的设计步骤:因果图法测试用例的设计步骤:n确定软件规格中的原因和结果。确定软件规格中的原因和结果。n分析规格说明中哪些是原因(即输入条件或输入条件的等价分析规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果

7、赋予类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。一个标识符。n确定原因和结果之间的逻辑关系。确定原因和结果之间的逻辑关系。n分析软件规格说明中的语义,找出原因与结果之间、原因与原分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。因之间对应的关系,根据这些关系画出因果图。n确定因果图中的各个约束。确定因果图中的各个约束。n在因果图上用一些记号表明有些原因与原因之间、原因与结果在因果图上用一些记号表明有些原因与原因之间、原因与结果之间不可能出现的组合情况,即约束或限制条件。之间不可能出现的组合情况,即约束或限制条件。n把因果图转换

8、为决策表。把因果图转换为决策表。n根据决策表设计测试用例。根据决策表设计测试用例。n因果图法的测试运用因果图法的测试运用n程序的规格说明要求:输入的第一个字符必须是程序的规格说明要求:输入的第一个字符必须是#或或*,第二个字符必须是一个数字,在此情况下进行文件的第二个字符必须是一个数字,在此情况下进行文件的修改;如果第一个字符不是修改;如果第一个字符不是#或或*,则给出信息,则给出信息N;如;如果第二个字符不是数字,则给出信息果第二个字符不是数字,则给出信息M。n1. 将原因和结果分开。将原因和结果分开。n原因:原因:nc1第一个字符是第一个字符是#nc2第一个字符是第一个字符是*nc3第二个

9、字符是一个数字第二个字符是一个数字n结果:结果:ne1给出信息给出信息Nne2修改文件修改文件ne3给出信息给出信息Mn2. 绘制因果图。其中编号为绘制因果图。其中编号为10的中间节点是导出结果的中间节点是导出结果的进一步原因。的进一步原因。n画出约束条件。因为画出约束条件。因为c1和和c2不可能同时为不可能同时为1,即第一个字符不,即第一个字符不可能既是可能既是#又是又是*,在因果图上可对其施加,在因果图上可对其施加E约束,得到具有约束,得到具有约束的因果图。约束的因果图。c1c2c310e3e2e1因果图表示c1c2c310e3e2e1E具有E约束的因果图表示或或非非与与n3. 将因果图转

10、换成决策表将因果图转换成决策表n4. 设计测试用例。根据上一步中的决策表,最左面的设计测试用例。根据上一步中的决策表,最左面的两列两列c1和和c2同时为同时为1是不可能的,需要排除。所以,是不可能的,需要排除。所以,可设计出可设计出6个测试用例:个测试用例:n1:输入数据:输入数据#3 预期结果预期结果修改文件修改文件n2:输入数据:输入数据#A 预期结果预期结果给出信息给出信息Mn3:输入数据:输入数据*6 预期结果预期结果修改文件修改文件n4:输入数据:输入数据*B 预期结果预期结果给出信息给出信息Mn5:输入数据:输入数据A1 预期结果预期结果给出信息给出信息Nn6:输入数据:输入数据G

11、T 预期结果预期结果给出信息给出信息M和和N例如,有一个处理单价为例如,有一个处理单价为 5 角钱的饮料自动售角钱的饮料自动售货机,软件测试用例的设计规格说明如下:货机,软件测试用例的设计规格说明如下:若投入若投入 5 角钱或角钱或 1 元钱的硬币,押下元钱的硬币,押下橙汁橙汁或或啤酒啤酒的按钮,则相应的饮料就送出来。的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示若售货机没有零钱找,则一个显示零钱找完零钱找完的红灯亮,这时在投入的红灯亮,这时在投入 1 元硬币并押下按钮后,元硬币并押下按钮后,饮料不送出来而且饮料不送出来而且 1 元硬币也退出来;若有零元硬币也退出来;若有零钱找,

12、则显示钱找,则显示零钱找完零钱找完的红灯灭,在送出的红灯灭,在送出饮料的同时退还饮料的同时退还 5 角硬币。角硬币。”1) 分析这一段说明,列出原因和结果分析这一段说明,列出原因和结果: 1. 售货机有零钱找售货机有零钱找 2. 投入投入 1 元硬币元硬币 3. 投入投入 5 角硬币角硬币 4. 押下橙汁按钮押下橙汁按钮 5. 押下啤酒按钮押下啤酒按钮 结果:结果: 21. 售货机售货机零钱找完零钱找完灯亮灯亮 22. 退还退还 1 元硬币元硬币 23. 退还退还 5 角硬币角硬币 24. 送出橙汁饮料送出橙汁饮料 25. 送出啤酒饮料送出啤酒饮料画出因果图所有原因结点列在左,所有结果结画出因

13、果图所有原因结点列在左,所有结果结点列在右。建立中间结点,表示中间状态点列在右。建立中间结点,表示中间状态: 11. 投入投入 1 元硬币且押下饮料按钮元硬币且押下饮料按钮 12. 押下押下橙汁橙汁或或啤酒啤酒的按钮的按钮 13. 应当找应当找 5 角零钱并且售货机有零钱角零钱并且售货机有零钱找找 14. 钱已付清钱已付清由于由于 2 与与 3 , 4 与与 5 不能同时发生,分别加上不能同时发生,分别加上约束条件约束条件 E 。因果图转换成判定表。因果图转换成判定表。在判定表中选择测试用例。在判定表中选择测试用例。 n某电力公司有某电力公司有A、B、C、D四类收费标准,规定四类收费标准,规定

14、如下图。请用因果图法设计测试用例。如下图。请用因果图法设计测试用例。n将原因和结果分开:将原因和结果分开:n原因:原因:n 1居民用电;居民用电;n 2动力用电;动力用电;n 3100度度/月;月;n 410000度度/月;月;n 5高峰用电;高峰用电;n 结果:结果:n AA类计费;类计费;n BB类计费;类计费;n CC类计费;类计费;n DD类计费。类计费。n加上几个加上几个中间节点中间节点:n n I 1民用且民用且100度度/月;月;n I 2动力、非高峰且动力、非高峰且10000度度/月;月;n I 3动力、非高峰且动力、非高峰且 10000度度/月;月;n I 4动力、高峰且动力

15、、高峰且10000度度/月。月。n设计测试用例:设计测试用例:n1:输入数据:输入数据居民电,居民电,90度度/月;预期结果月;预期结果An2:输入数据:输入数据居民电,居民电,110度度/月;预期结果月;预期结果Bn3:输入数据:输入数据动力电,非高峰,动力电,非高峰,8000度度/月;预月;预期结果期结果Bn4:输入数据:输入数据动力电,非高峰,动力电,非高峰,12000度度/月;预月;预期结果期结果Cn5:输入数据:输入数据动力电,高峰,动力电,高峰,9000度度/月;预期月;预期结果结果Cn6:输入数据:输入数据动力电,高峰,动力电,高峰,11000度度/月;预期月;预期结果结果D黑盒

16、测试法概述黑盒测试法概述1等价类划分等价类划分2边界值分析边界值分析3基于决策表的测试基于决策表的测试4主主要要内内容容因果图法因果图法5第二章第二章 黑盒测试技术黑盒测试技术其它方法其它方法6黑盒测试黑盒测试边界值法边界值法等价类划分法等价类划分法其它其它决策表法决策表法因果图法因果图法v定义定义 基于经验和直觉推测程序中可能存在的各种错误, 针对这些错误设计相应的测试用例常作为一种补充测试用例的设计方法vSteps错误猜测设计法是一个在很大程度上凭直觉进行的比较随意的过程n 用列表举出程序中可能有的错误和容易发生错误的特殊情况n 基于该列表构造测试用例2.6 错误推测法v 现在的软件几乎都

17、是用事件触发来控制流程的,事件触发时的情景便形成了场景场景,而同一事件不同的触发顺序和处理结果就形成事件流。事件流。v 这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。v 场景法场景法就是通过用例场景描述用例执行的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。2 2. .7 7 场景法场景法使用用例进行需求建模使用用例进行需求建模 v利用用例(利用用例(use case)进行需求建模的输出物,包括)进行需求建模的输出物,包括用例模型术语表补充规格说明用例模型(用例模型(Use Case

18、 Model) v用例模型用例模型使用用例(Use Case)描述系统功能系统功能的模型,包含n 用例图(Use Case Diagram)n 每个用例的规格说明(Use case Specification)用例规格说明用例规格说明 v用例规格说明用例规格说明是文本描述,利用结构化自然语言事件流事件流 v事件流组成事件流组成基本流(Basic Flow)仅有一个基本流,如图中的白色箭头是经过用例的最简单的路径,指每个步骤都“正常”运作时所发生的事情备选流(Alternative Flow)可以有多个,描述基本流步骤p 可选的或备选的情况1. 异常事件流程事件流的结构 场景场景 v定义定义场景

19、是事件流的一个实例,由基本流或基本流和备选流中的步骤组成,表明了用户执行系统的操作序列。从事件流到场景从事件流到场景 v从事件流到场景从事件流到场景场景可以遍历所有从用例开始到结束的包含基本流和备选流的路径 n场景1:基本流;n场景2:基本流、备选流1;n场景3:基本流、备选流1、备选流2;n场景4:基本流、备选流3;n场景5:基本流、备选流3、备选流1;n场景6:基本流、备选流3、备选流1、备选流2;n场景7:基本流、备选流4;n场景8:基本流、备选流3、备选流4。注:为简单起见,场景5、6和8只考虑了备选流3循环执行一次的情况 某用例的基本流和备选流 从事件流到场景从事件流到场景 v从事件

20、流到场景从事件流到场景场景可以遍历所有从用例开始到结束的包含基本流和备选流的路径 n场景1:基本流0;n场景2:基本流0、备选流1;n场景3:基本流0、备选流1、备选流2;n场景4:基本流0、备选流1、备选流4;n场景5:基本流0、备选流3;n场景6:基本流0、备选流3、备选流1;n场景7:基本流0、备选流3、备选流1、备选流2;n场景8:基本流0、备选流3、备选流4;n场景9:基本流0、备选流3、备选流5;n场景9:基本流0、备选流4;012354场景法场景法 v测试思想测试思想 根据需求规格说明书中的用例所包含的事件流信息构造场景并设计相应的测试用例使每个场景至少发生一次v步骤步骤n 构造

21、场景列表。根据说明,描述出程序的基本流和备选流,针对每个用例,构造该用例的所有场景n 构造测试用例设计矩阵。针对每个场景,至少设计一个可以让该场景发生的测试用例n 为每一个测试用例选择相应的测试输入案例案例 v课程注册用例的事件流课程注册用例的事件流基本流的描述 如表1所示备选流的描述 如表2所示课程注册系统案例案例 表1 “选课”用例的基本流案例案例 表2 “选课”用例的备选流1.构造场景列表构造场景列表 v步骤步骤1.根据事件流描述,构造事件流图和场景列表。备选流备选流 5备选流备选流 4备选流备选流 3备选流备选流 1 备选流备选流 2事件流图构造场景列表构造场景列表 v场景列表(部分)

22、场景列表(部分)备选流备选流 5备选流备选流 4备选流备选流 3备选流备选流 1 备选流备选流 22.设计测试用例设计测试用例 v步骤:步骤: n确定执行用例场景所需的数据元素n构造矩阵确定列内容:确定列内容:除了需要包含执行场景所需的数据元素,还需要包含测试用例标识、被测场景标识或名称确定行内容:确定行内容:p 根据每一场景,确定与其相关的测试用例输入项p 根据被测场景特征,补充相应测试用例设计测试用例设计测试用例 v对于课程注册用例,确定其列内容为:v确定行内容n V表示这个条件必须是有效的才可执行基本流,I表示条件无效,N/A表示这个条件不适用于测试用例 设计测试用例设计测试用例 v“选课”的测试用例矩阵3.填入测试数据填入测试数据 v步骤步骤根据设计的矩阵结果,选择相应的测试数据实例2v分析ATM自动取款机的“提款”用例场景流程并设计测试用例和测试数据v 基本流:1.插入磁卡 2.ATM机验证帐户正确 3.输入密码正确,通过验证 4.输入取款金额 5.取出金额 6.取卡v 备选流一:帐户不存在或受限制v 备选流二:密码不正确,还有输入机会v 备选流三:密码不正确,没有输入机会v 备选流四:卡中余额不足v 备选流五:机中余额不足v 备选流六:超过每日最大提款

温馨提示

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

评论

0/150

提交评论