《软件测试基础》课件-第4章_第1页
《软件测试基础》课件-第4章_第2页
《软件测试基础》课件-第4章_第3页
《软件测试基础》课件-第4章_第4页
《软件测试基础》课件-第4章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第4章黑盒测试

4.1概述4.2等价类划分法4.3边界值分析法4.4决策表法4.5因果图法4.6场景法4.7思考与习题

4.1概述

黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看做一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

【例4-1】

任意输入三角形的三边,判断三角形类型。

如图4.1所示,输入三角形的三条边a、b、c,设计测试用例数量。假设在字长为16位的计算机上运行,则每个整数可能的取值为216种,那么a、b、c三条边的各种可能取值的排列组合就有216×216×216≈3×1014种,执行完所有的测试大约需要执行3×1014次,也就是说,大约需要执行3×1014次才能做到“穷尽”测试。假设执行1次需耗时1ms,则执行完所有的测试数据就需1万年。图4.1三角形三边取值情况的测试用例

4.2等 价 类 划 分 法

等价类划分为两种情况:有效等价类和无效等价类。

(1)有效等价类:对于程序的规格说明来说是有意义的、合理的输入数据构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

(2)无效等价类:与有效等价类相反,无效等价类是指对程序的规格说明无意义的、不合理的输入数据构成的集合。4.2.1划分原则

按照如下几条规则对等价类进行划分:

(1)如果规定了输入值的范围,可定义一个有效等价类和两个无效等价类。

(2)当规定了输入的规则时,则可以划分出一个有效的等价类(符合规则)和若干无效的等价类(从不同角度违反规则)。

(3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。

(4)如规定了输入数据是整型,则可划分出正整数、零、负整数三个有效等价类。

(5)当处理表格时,有效类可分为空表、含一项的表、含多项的表等。4.2.2设计测试用例的步骤

采用等价类设计测试用例一般经历如下几下步骤:

(1)形成等价类表,每一等价类规定一个唯一的编号;

(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;

(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖(通常程序执行一个错误后不继续检测其它错误,故每次只测试一个无效类)。

【例4-2】

任意输入3个整数作为三角形的3条边的长度,判断三角形的类型。

【解答】

采用等价类划分法设计的测试用例如表4.1所示。

4.3边界值分析法

4.3.1设计原则

使用边界值分析法设计测试用例,应确定输入和输出等价类的边界,应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

边界值分析方法具有如下原则:

(1)如果输入条件规定了值的范围,则应选取刚达到范围的边界值,以及刚刚超越边界的值作为测试输入数据。

例如,输入变量为X1、X2,取值范围是a≤X1≤b,c≤X2≤b,边界分析图如图4.2所示。图4.2两变量函数边界分析测试用例

(2)如果输入条件规定了值的个数,则用略低于最小值(Min-)、最小值(Min)、略高于最小值(Min+)、正常值(Normal)、略低于最大值(Max-)、最大值(Max)、略高于最大值(Max+)等值作为测试数据。

(3)如果程序规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。4.3.2应用举例

【例4-3】

某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。

【解答】采用边界值分析法设计的测试用例如表4.2所示。

4.4决策表法

决策表由四个部分组成,如图4.3所示。

(1)条件桩:列出了问题的所有条件,通常认为列出的条件次序无关紧要。

(2)动作桩:列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。

(3)条件项:列出了针对其它条件桩的取值,在所有可能情况下的真假值。图4.3决策表的组成

(4)动作项:列出了在条件项的各种取值的有机关联情况下应该采取的动作。

规则:任何条件组合的特定取值及其相应要执行的操作。在决策表中贯穿条件项和动作项的列就是规则。显然,决策表中列出多少条件取值,就有多少规则,条件项和动作项就有多少列。

所有条件都是逻辑结果(即真/假、是/否、0/1)的决策表称为有限条件决策表。如果条件有多个值,则对应的决策表叫做扩展条目决策表。使用决策表设计测试用例时,条件解释为输入,动作解释为输出。决策表适合以下特征的应用程序:

(1) if-then-else分支逻辑突出;

(2)输入变量之间存在逻辑关系;

(3)涉及输入变量子集的计算;

(4)输入和输出之间存在因果关系;

(5)很高的圈复杂度。

决策表中具有n个条件的有限条目决策表有2n个规则,可通过如下方法减少规则数目,如使用扩展条目决策表、代数简化表、查找条件条目的重复模式等。

如表4.3所示,打印机工作用决策表右上部分的“Y”表示它左边条件成立,“F”表示条件不成立,空白表示这个条件成立与否并不影响动作的选择。决策表右下部分中画“√”表示做它左边的相应动作,空白表示不做这项动作。4.4.1应用举例

使用判定表设计测试用例的具体步骤如下:

(1)确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),则有2n种规则。

(2)列出所有的条件桩和动作桩。

(3)填入条件项。

(4)填入动作项。

(5)简化,合并相似规则(相同动作)。

【例4-4】

某国有企业改革重组,对职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁到40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用决策表描述上述问题的加工逻辑。

【解答】

条件取值表如表4.4所示。决策表如表4.5所示。4.4.2优点和缺点

决策表把复杂问题的各种可能情况一一列出,易于理解。但是,决策表不能表达重复执行动作的缺点。B.Beizer指出使用判定表设计测试用例的条件如下:

(1)规格说明以判定表形式给出,或很容易转换成判定表。

(2)条件的排列顺序不会也不影响执行哪些操作。

(3)规则的排列顺序不会也不影响执行哪些操作。

(4)每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。

(5)如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。

这5个必要条件使得操作的执行完全依赖于条件的组合,对于不满足条件的判定表,可增加其它的测试用例。

4.5因果图法

等价类划分法和边界值分析法只是孤立地考虑各个输入数据的测试效果,没有考虑输入数据的组合及其相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。因果图利用图解法分析输入的各种组合情况,适合描述多种输入条件的组合、相应产生多个动作的方法。因果图法具有如下优点:

(1)考虑多个输入之间的相互组合、相互制约关系。

(2)指导测试用例的选择,指出需求规格说明描述中存在的问题。

(3)能够帮助测试人员按照一定的步骤,高效率地开发测试用例。

(4)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。4.5.1基本术语

下面介绍因果图的基本图形符号。

1)原因—结果图

原因—结果图使用了简单的逻辑符号,以直线连接左右结点。左结点表示输入状态(原因),右结点表示输出状态(结果)。图4.4表示规格说明中的4种因果关系,其中ci表示原因,通常置于图的左部;ei表示结果,通常位于图的右部。ci和ei均可取值0或1(0表示某状态不出现,1表示某状态出现)。图4.4原因—结果图

2)约束图

输入/输出状态相互之间存在的某些依赖关系,称为约束。例如,某些输入条件不可能同时出现等,如图4.5所示。图4.5约束图

(1) E约束(Exclusive,异):a和b中至多有一个可能为1,即a和b不能同时为1。

(2) I约束(Inclusive,或):a、b和c中至少有一个是1,即a、b和c不能同时为0。

(3) O约束(OneandOnly,唯一):a和b中必须有一个且仅有一个为1。

(4) R约束(Require,要求):a是1时,结果b是1。

(5) M约束(Masks,强制):a是1时,结果b是0。

因果图法设计测试用例的步骤如图4.6所示。图4.6因果图法生成测试用例的步骤示意图4.5.2应用举例

【例4-5】

软件需求规格说明如下:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

【解答】

采用因果图方法,具体步骤如下:

步骤1:分析程序规格说明书,识别哪些是原因,哪些是结果,原因往往是输入条件或者输入条件的等价类,而结果常常是输出条件。如下:原因:

1—第一列字符是A;

2—第一列字符是B;

3—第二列字符是一数字。

结果:

21—修改文件;

22—给出信息L;

23—给出信息M。

步骤2:根据原因和结果产生因果图,如图4.7所示。

步骤3:状态1和状态2不能同时为1,输入3个状态只有6种取值,如表4.6所示。图4.7【例4-5】因果图

4.6场景法

4.6.1基本流和备选流

场景法的描述如图4.8所示,图中经过用例的每条路径都用基本流和备选流来表示。直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的颜色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)中。图4.8基本流和备选流4.6.2应用举例

【例4-6】

采用场景法设计ATM系统的测试用例。

【解答】

1)例子描述

图4.9是ATM系统的流程示意图。

2)场景设计

图4.9所示ATM系统中的基本流和某些备选流如表4.7所示。图4.9ATM流程示意图

3)用例设计

对于这7个场景中的每一个场景都需要确定测试用例,一般采用矩阵或决策表来确定和管理测试用例。【例4-6】中的测试用例包含测试用例ID、场景/条件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素,然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。表4.9中的“行”代表各个测试用例;“列”代表测试用例的信息;V表示这个条件必须是有效的才可执行基本流;I表示这种条件下将激活所需备选流;n/a表示这个条件不适用于测试用例。每个场景只有一个正面测试用例和负面测试用例是不充分的,场景4正是这样的一个示例。要全面地测试场景4(PIN有误),至少需要三个正面测试用例,以激活场景4。

(1)输入了错误的PIN,但仍存在输入机会,此备选流重新加入基本流中的步骤3(输入PIN)。

(2)输入了错误的PIN,而且不再有输入机会,则此备选流将保留银行卡并终止用例。

(3)最后一次输入了“正确”的PIN。备选流在步骤5(输入金额处)重新加入基本流。

4)数据设计

一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例,如表4.10所示。

4.7思 考 与 习 题

一、选择题

1.黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括()等。

A.等价类划分法、因果图法、边界值分析法、错误推测法、判定表驱动法

B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法

C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法

D.等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法

2.常用的黑盒测试方法有边界值分析、等价类划分、错误推测、因果图等。其中()经常与其它方法结合起来使用。软件测试的步骤主要有单元测试、集成测试和确认测试。

A.边界值分析 B.等价类划分

C.错误推测 D.因果图

3.等价类划分完成后,就可得出(),它是确定测试用例的基础。

A.有效等价类

B.无效等价

C.等价类表 D.测试用例集

4.在设计测试用例时,()是用得最多的一种黑盒测试方法。

A.等价类划分

B.边界值分析

C.因果图

D.功能图

温馨提示

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

评论

0/150

提交评论