第3章+黑盒测试及其实例设计.ppt_第1页
第3章+黑盒测试及其实例设计.ppt_第2页
第3章+黑盒测试及其实例设计.ppt_第3页
第3章+黑盒测试及其实例设计.ppt_第4页
第3章+黑盒测试及其实例设计.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第三章黑盒测试及其案例设计。本章概述了黑盒测试是软件测试技术中最基本的方法之一,并且已经广泛应用于各种测试中。本章将介绍黑盒测试的基本概念和方法,重点介绍几种广泛使用的测试方法:等价类划分法、边值分析法、决策表法、因果图法,并通过典型实例详细介绍实际测试技术的基本应用。3.1黑盒测试概述3.2等价类划分方法3.3边界值分析3.4决策表方法3.5因果图3.6示例设计3.7选择总结练习3.1黑盒测试概述黑盒测试,也称为功能测试或黑盒测试,是从用户角度对程序功能和程序界面的测试,主要基于软件规范。黑盒测试是基于用户的观点,从输入数据和输出数据之间的对应关系开始,它不涉及程序的内部结构。显然,如果外部特性有问题或者规格有问题,就不能使用黑盒测试。黑盒测试方法侧重于测试软件的功能需求。在程序界面上进行测试,主要发现以下错误:是否有不正确的函数和缺失的函数;在界面上,是否能正确接收输入数据并产生正确的输出结果;是否存在数据结构错误或外部信息访问错误;性能是否满足要求;程序初始化和终止是否有错误。在黑盒测试方法中,以下方法被广泛使用:等价类划分法、边值分析法、决策表法和因果图法。这些方法相对实用,但是当使用任何方法时,根据开发项目的特点适当选择设计方法是很自然的。3.2等价类划分方法,3.2.1等价类划分方法等价类划分方法是黑盒测试用例设计中常用的设计方法,它不会对穷举测试过程进行合理的分类,从而保证所设计的测试用例的完整性和代表性。在划分等价类的过程中,不仅要考虑有效等价类的划分,还要考虑无效等价类的划分:有效等价类是指一组合理的、有意义的软件规范输入数据。无效等价类与有效等价类相反,即一组不满足程序输入要求或无效的输入数据。划分等价类的几个原则:如果指定了输入条件的范围或数量,则可以确定一个有效等价类和两个无效等价类。如果指定了一组输入值,则可以确定有效的等价类和无效的等价类。如果为输入数据指定了一组值,并且程序要分别处理每个输入值,则可以为每个值确定一个有效的等价类,并且可以基于这组值来确定一个无效的等价类,即一组所有不允许的输入值。如果指定了输入数据必须遵循的规则,则可以确定一个有效等价类和几个无效等价类。如果已知等价类中的每个元素在程序中被不同地对待,那么等价类应该被进一步分成更小的等价类。表3-1等价类表。在建立等价类之后,建立等价类表以列出所有划分的等价类。如表3-1所示,在等价类表已经列出之后。按以下步骤确定测试用例:为每个等价类指定一个唯一的数字;设计一个新的测试用例来覆盖尽可能多的未被覆盖的有效等价类,并重复这个过程,直到测试用例覆盖了所有有效等价类。设计一个新的测试用例,只覆盖一个无效的等价类,并重复这个过程,直到测试用例覆盖了所有无效的等价类。3.2.2公共等价类划分形式,1。标准等价类测试标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。通常,标准等价类的测试用例数量等于最大等价类中的元素数量。以三角形问题为例,需要分别输入三个整数A、B和C作为三角形的三条边,取值范围在1到100之间。判断三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形和无三角形。在大多数情况下,等价类是从输入域划分的,但是对于三角形问题,从输出域定义等价类是最简单的划分方法。因此,可以通过使用该信息来确定以下范围等价类:R1=:边为a,b,c的等边三角形R2=:边为a,b,c的等腰三角形R3=:边为a,b,c的普通三角形R4=:边a,b,c不能形成三角形表3-2中显示了四个标准等价类测试示例。表3-2三角形问题的标准等价测试用例2。稳健等价测试稳健等价测试的主要出发点是考虑无效等价类。对于有效的输入,测试用例从每个有效的等价类中取一个值;对于无效输入,测试用例有一个无效值,其他值是有效值。健壮等价类测试有两个问题:定义无效测试用例的预期输出需要付出努力;对于强类型语言,没有必要考虑无效输入。对于上面提到的三角形问题,取无效的值A、B和C会产生7个健壮的等价类测试用例,如表3-3所示。表3-3三角形问题的稳健等价测试用例3。等价区间划分,等价区间划分是一种非常规的测试用例设计的形式化方法。它将被测对象的输入/输出分成若干区间,被测软件相当于特定区间内的任何值。形成测试间隔的数据不仅是功能/过程的参数,而且是程序可访问的全局变量和系统资源。这些变量或资源可以是时间形式的数据或状态形式的输入/输出序列。例如:平方根函数要求当输入值等于或大于0时返回输入数的平方根;当输入值小于0时,显示错误消息“平方根误差,输入值小于0”,并返回0。考虑到平方根函数的测试用例间隔,可以将两个输入间隔和两个输出间隔分开,如表3-4所示。表3-4区间划分。通过分析,两个测试用例可以用来测试四个区间:测试用例1:输入4,返回2/区间2和测试用例2:输入-10,返回0,输出“平方根误差,输入值小于0”/区间1和b,3.2.3等价类划分测试用例。在网站上申请免费邮箱时,用户需要输入用户名、密码和确认密码。每个输入条件的要求如下:用户名:4位或以上,16位或以下,英文字母,数字,“-”,_”,第一个字符必须是字母或数字;密码:要求在6到16位之间,只有英文字母,数字,“-”和“_”,区分大小写。分析如下:分析程序的规范列出了等价类(包括有效等价类和无效等价类),如表3-5所示。表3-5等效类别表。根据上述等效类别表,设计和试验实例见表3-6。表3-6测试用例,3.3边界值分析,3.3.1边界值分析(BVA)是一种测试用例设计技术,它补充了等价类划分方法。它不选择等价类的任何元素,而是选择等价类边界的测试用例。在测试过程中,边值条件可能被忽略,大量误差出现在输入或输出范围的边界上,而不是在输入和输出范围内。因此,通过为各种边界条件设计测试用例,可以发现更多的错误。当使用边界值分析设计测试用例时,应该遵循以下原则:如果输入条件指定了一个值范围,那么应该选择刚刚达到这个范围的边界值和刚刚超过这个范围边界的值作为测试输入数据。如果输入条件指定值的数量,最大数量、最小数量、小于最小数量的数量1和大于最大数量的数量1被用作测试数据。根据规范中规定的每个输出条件,分别使用上述两个原则。如果程序规范中给出的输入字段或输出字段是有序集(如有序表、有序文件等)。),集合的第一个元素和最后一个元素将被选为测试用例。如果程序中使用了内部数据结构,那么应该选择该内部数据结构的边界值作为测试用例。分析规格并找出其他可能的边界条件。3.3.2边界条件和二次边界条件,边界值分析法是检验输入边界值的方法。在测试用例的设计中,有必要分析输入条件,找出边界值条件,并通过测试这些边界值找出更多的错误。当提出边界条件时,我们必须测试边界附近的有效数据,测试最后可能的有效数据,并测试边界外的无效数据。一般来说,软件测试中包括几种类型的边界测试:数值、字符、位置、数量、速度、大小等。设计测试用例时应该考虑这些类型的特征:第一个/最后一个、开始/结束、空/满、最大/最小、最快/最慢、最高/最低、最长/最短等。这些不是明确的列表,而是一些可能的边界条件。举个例子来说明,如表3-7所示。表3-7使用边界值作为测试数据的例子。表3-8显示了计算机数值运算的范围。数值的边界值检查计算机在二进制基础上工作。因此,任何数值运算都有一定的范围限制,如表3-8所示。表3-9,ASCII码字符对应表,字符边界值测试中的字符编码方法,ASCII码和Unicode码是比较常见的编码方法,表3-9列出了一些简单的ASCII码对应表。其他边界值测试包括默认值/空值/空白/无输入值/零、无效数据/错误数据和干扰数据等。在实际的测试用例设计中,有必要将基本的软件设计需求和程序定义需求结合起来,即通过结合基本的边值条件和次边值条件来设计有效的测试用例。3.3.3、边界值分析测试用例,一个程序要求输入三个整数x、y、z,分别作为长方体的长、宽、高,x、y、z值范围从2到20,计算长方体的体积。表3-10显示了健壮性边界值分析测试用例。表3-10稳健性边界值分析、3.4决策表方法和3.4.1决策表方法的测试用例概念决策表通常由四部分组成,如图3-1所示。条件堆:列出问题的所有条件,一般认为所列条件的顺序无关紧要。动作堆:列出问题指定的可能动作,这些动作的顺序不受限制。条件项:列出条件堆给定条件的所有可能值。行动项目:与条件项目密切相关,列出每组条件项目取值时应采取的行动。图3-1决策表的组成。根据软件规范,建立决策表的步骤如下:确定规则数。假设有n个条件,每个条件有两个值,所以有2n个规则。列出所有条件桩和作用桩。填写条件项。填写行动项目以获得初始决策表。简化。合并相似的规则(相同的操作)。以下列问题为例,给出了构造决策表的具体过程。如果一个产品卖得好,库存低,增加产品的产量;如果产品销售良好,但库存不低,继续生产;如果产品销售不好,但库存低,继续生产;如果产品销售不好,库存不低,生产就会停止。解决方法如下:确定规则的数量。对于本主题,有两个条件(销售、库存),每个条件可以有两个值,因此有22=4个规则。列出所有条件桩和作用桩。填写条件项。填写动作项,得到初始决策表,如表3-11所示。表3-11决策表,3.4.2决策表方法的应用决策表最突出的优点是它能根据各种可能的情况列出所有复杂的问题,并且简洁避免遗漏。因此,决策表可以用来设计一套完整的测试用例。使用决策表设计测试用例可以将条件理解为输入,将动作理解为输出例如,一家股票公司的佣金政策如下:如果销售额低于1000元,那么基本佣金将是销售额的8.4%;如果销售额至少为1000元,但低于10000元,则基本佣金为销售额的5%加34元。如果销售额至少为10000元,基本佣金为销售额的4%加134元。此外,销售单价和销售份数也影响佣金。如果单价低于14元/股,将增加5%的基本佣金,如果单价不是100股,将增加4%的基本佣金。如果单价高于14元/股但低于25元/股,将增加2%的基础佣金;如果不是100股,将增加4%的基础佣金。如果单价高于25元/股,而不是100股,将增加4%的基础佣金。书中给出了详细的分析。分析如下:(1)分析输入条件,列出分成销售额、单价和输入变量份数的有效等价类。销售金额的有效等价类:s 1: 0sale 1000 s 23360 1000sale 10000 s : sale 1000010000 单价的有效等价类:p 1: price 14 p 2: 14price 25 p : price 25 ,分数的有效等价类:B1: 100零件 b23360 非10 考虑到各种有效的输入条件,程序中有六种可能的动作:a1:基本佣金是销售额的8.4:基本佣金,销售额的5%,34元a3:基本佣金是销售额的4%,134元,a4:基本佣金,5:基本佣金,2:基本佣金,2:基本佣金,2:基本佣金的4%。(3)根据以上分析步骤,画出如下决策表:根据决策表,设计了以下测试用例:3.5因果图和3.5.1因果图的概念。因果图是一种使用图形方法来分析输入的各种组合,从而设计测试用例的方法。它适用于检查程序输入条件的各种条件的组合。在因果图中,4个符号代表4种因果关系,如图3-2所示。左节点和右节点通过直线连接,其中左节点Ci表示输入状态(或原因),右节点ei表示输出状态(或结果)。Ci和ei都可以取值0或1,0表示某个状态没有出现,1表示某个状态出现。图3-2中符号的含义如下:相等:如果C1是1,e1也是1,否则e1是0。否:如果C1是1,e1是0,否则e1是1。或者:如果C1、C2或C3是1,e1是1,否则e1是0。与:如果C1和C2都是1,e1是1,否则e1是0。(a)同一性,(b)非,(c)或(d)以及,图3-2的因果图的基本符号,在实际问题中,输入状态之间可能存在一些依赖性,我们称之为约束。例如,一些输入条件本身不能同时出现。输出状态之间经常存在约束。在因果图中,这些约束用特定的符号标记,如图3-3所示。输入条件的约束有:e约束(不同):a和b最多只能有一个为1,即a和b不能同时为1。I约束(or):a、b和c中至少有一个必须是1,即a、b和c不能都是0。o约束(唯一的):a和b中必须只有一个是1。r约束(要求):当a为1时,b必须为1,也就是说,当a为1时,b不能为0。只有m个约束被施加在输出条件上。m约束(强制):如果结果a为1,结果b强制为0。(a)不同(b)或(c)的唯一性,(d)要求(e)强制性,图3-3约束符号,使用因果图生成测试用例需要以下步骤,如图3-4所示。分析软件规范中的输入和输出条件,并分析等价类。分析规范中的语义内容,通过这些语义找出输入和输入之间以及输入和输出之间的对应关系。将相应的输入和输入之间以及输入和输出之间的关系联系起来,并将不可能的组合标记为约束或约束,以形成因果图。将因果图转换成决

温馨提示

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

评论

0/150

提交评论