首页 > 编程知识 正文

软件测试中的黑盒和白盒测试,软件黑盒测试

时间:2023-05-04 15:00:37 阅读:105902 作者:2892

第四章-黑匣子测试技术4.1黑匣子测试技术基本概念4.2黑匣子测试的方法==等价类划分法==边界值分析法因果图法场景设计法错误估计法决策表法正交试验设计法4.3黑匣子测试的依据和流程

4.1黑匣子测试技术的基本概念

黑匣子测试程序的功能测试要求:

)1)每个软件的特性必须由测试用例或批准的异常覆盖。

)2)利用数据类型和数据值的最小集测试。

)3)运行虚拟数据类型和数据值,测试处理不规则输入的能力

)4)运行一组实际数据类型和数据值,测试超负荷和其他“最坏情况”的结果。

)5)影响性能的关键模块,如测试基本算法、精度、时间、容量等是否正常。

4.2黑匣子测试方法等值分类法完全不考虑程序内部结构,只根据程序规格书划分输入范围,以所有可输入的数据,即程序输入域划分为若干个互不相交的子集,称为等价类为测试用例,采用http://wwa.com

一、等价类分类方法概述:

首先,要在分析需求规格说明的基础上对等价类进行分类,并基于等价类设计测试用例。

等价类是输入域互不相交的子集,所有等价类的并集是整个输入域。 也就是说,整个输入字段提供一种形式的少数具有代表性的数据,如果不互相交叉,则可以保证一种形式的完备性

等价类中的要素有共同的特征。 如果将等价类中的一个元素作为测试数据进行测试无法发现程序中的故障,则使用集合中的其他元素进行测试也无法发现故障。 表现了其3358www.Sina.com/和无冗余性

二、划分等价类:

有效等价类是指符合程序规格书,由代表性输入数据组成的集合。

利用有效等价类,程序等效性在具体问题中,有效等价类为有意义的、合理的无效等价类:不符合程序规格书,http://www.Sina.com

利用无效的等价类,可以检查软件功能和性能的实现中是否有不符合规格说明要求的地方。 关于具体问题,无效等价类别是否实现了规格说明预先规定的功能和性能也可能有多个。 三.常用等价类划分原则:

是一个或是多个:如果规格书中规定了输入条件可取值的范围或值的数量,则可以确定一个有效的等价类和两个无效的等价类。 软件规范说明“允许学生选修5至8门”的,一个有效等值类可以“选修5至8门”,无效等值类可以“选修少于5门”和“选修8门以上”。

按数值分类:如果规范规定了一组输入数据,并且程序按输入值单独处理,则可以为每个输入值建立有效的等价类别,并为此组值建立无效的等价类别。 这是所有不允许输入的值的集合。 例)程序输入x取固定枚举类型(1,3,7,15 )的值,在程序内分别处理了这四个数值时,有效等价类为x=1,x=3,x=7,x=15,无效等价类为

按数值集合分类:如果规范规定了输入值的集合,则可以确定有效等价类和无效等价类(此集合的有效值除外)。 例如,如果程序需要输入名称TOM、DICK或HAPPY,请定义使用其中一个有效名称的等效有效类和无效等效类。 使用有效名称以外的名称,例如过时的电话

无意义的或不合理:如果规格书规定了输入数据必须遵守的规则或限制条件,则可以确定一个有效的等价类(符号规则)和几个无效的等价类)从不同的角度违反规则)。 例如,如果输入数据必须满足输入条件(例如,输入数据必须为数字),则可以划分有效的等价类别(输入数据为数字)和无效的等价类别(输入数据不是数字)。

细分等价类:等价类中各要素在程序中的处理不同时,可以将该等价类分为更小的等价类。 建立等价类后,可以列举以下表形式分类的所有等价类表。

四、划分等价类要求:

测试至少应有一个以避免冗馀。 输入条件、有效等价类、无效等价类时最重要的是将集合分为按区间划分的子集。 集合按限制条件或规则划分子集互不相交,一种形式的完备合理在同一个类别中识别(选择)一个测试用例,在同一个等价类别中,http://www.Sina.com 五.等价类划分用例设计

)1)首先,对等价类表的每个等价类分别规定唯一的号码。

)2)设计测试用例,互不相交重复此步骤,

直到所有的有效等价类均被覆盖。
(3)设计测试用例,仅覆盖一个尚未覆盖的无效等价类。重复该步骤,直到所有的无效等价类均被覆盖。

六、等价类测试存在问题:
(1)规格说明往往没有定义无效测试用例的期望输出应该是什么样的。
(2) 是强类型语言没有必要考虑无效输入。

边界值分析法

在进行等价类分析时,往往先要确定边界。边界确定清楚了,等价类就自然产生了。
边界值分析方法是对等价类划分法的补充,它不是选择等价类的任意元素,而是选择等价类边界的测试用例,选取正好等于、刚刚大于或刚刚小于的边界值,而不是选取等价类中的典型值或任意值。在测试中,会将两者方法结合起来共同使用。
边界值分析不是从某等价类中随便挑一个作为代表,而是使等价类的每个边界作为测试条件。
边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

一、边界值分析方法简述:
边界值分析法用于列出单元功能、输入、状态及控制的合法边界值非法边界值,对数据进行测试,检查用户输入的信息、返回结果以及中间计算结果是否正确,补充等价划分的测试用例设计技术。

四、边界值分析测试:
边界值分析利用输入变量的最小值(min)稍大于最小值(min+)域内任意值(nom)、**稍小于最大值(max-)最大值(max)**来设计测试用例。
对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例。

边界值设计原则:
(1)如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围的边界外的值作为测试用例。例如:以a和b为边界,测试用例应当包含a和b及略大于a和略小于b的值。
(2)若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测试用例。例如:一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
(3)针对每个输出条件使用前面的第1和2条原则。
(4)如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等),就应注意选取有序集的第一个和最后一个元素作为测试用例。

因果图法

一、因果图方法简述:
因果图法是一种适合于多种条件的组合、相应产生多个动作的情况的方法,利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。
因果图法最终生成的是判定表,适合于检查程序输入条件的各种组合情况。

二、因果图的关系符号和约束:
(1)关系符号:
通常在因果图中,用Ci表示原因,Ei表示结果,各结点表示状态,可取值“0”或1”。“0”表示某状态不出现,“1”表示某状态出现。
(2)约束:输入状态之间存在的依赖关系。

E:(异)余数符号。表示a和b之间至多只能一个为1,不能同时为1。I:(或)约束符号。a,b,c之间至少有一个为1,不能同时为0。O:(唯一)约束符号。a和b必须有一个且只有一个为1。R:(要求)约束符号。a为1时,b必须为1,即不可能a为1时b是0。M:(强制)约束符号。a为1时,b强制为0

三、因果图法测试用力的设计步骤:
场景设计法

一、场景法描述:
场景设计法的核心是事件流场景。其中事件流包括基本流和备选流

用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。

要解决的问题:①如何获取基本流和备选流
②当路径上存在数量众多的备选流时,如何处理场景爆炸的问题

二、一般步骤:

构造基本流和被选修根据基本流和备选流构造场景根据场景设计测试用例对每个测试用例补充必要的测试数据

三、测试过程:
如图,包括已知的基本流和四个备选流,共4个分支节点,其中备选流124涉及的是条件判定结点,备选流3涉及的是循环的情况。

(1)基本流:基本流是从系统某个初始态开始,经一系列状态后到达终止状态的过程中最主要的一个业务流程。(基本流只有一个)
(2)备选流:备选流是以基本流为基础,在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。(备选流的起始和终止结点具有多种形式,可以有多个)
(3)场景:基本流和备选流的有序集合。场景中应至少包含一条基本流。(场景中包含的事件流数目越大,则场景越复杂,测试越困难)

基本流与备选流的区别

错误推测法

错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷,有针对性地设计测试用例的方法。这里的经验和直觉来自测试人员对被测软件系统特性的了解和以往在测试工作中的总结。

决策表法

决策表并不是因果图的一个辅助工具,在一个程序中,如果输入输出比较多,输入之间和输出之间相互制约的条件比较多,在这种情况下应用决策表很合适,它可以很清楚地表达它们之间的各种复杂关系。

一、决策表法简述:
决策表是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。它能够将复杂的问题按照各种可能的情况全部列举出来,简明并可避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

决策表由以下四部分组成:

条件桩:列出问题的所有条件条件项:针对条件桩给出的条件列出所有可能的取值动作桩:列出问题规定的可能采取的操作动作项:指出在条件项的各组取值情况下应采取的动作

将任何一个条件组合的特定取值及相应要执行的动作称为一条规则。在判定表中贯穿条件项和动作项的一列就是一条规则

二、决策表的构造及化简
构造决策表的步骤:

列出所有的条件桩和动作桩确定规则的个数填入条件项填入动作项,得到初始决策表简化决策表,合并相似规则

对于n个条件的决策表,相应有2n规则。
当n较大时,决策表很庞大。实际使用决策表时,常常先将它简化。决策表的简化以合并相似规则为目标,即若表中有两条或两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件

正交试验设计法

一、正交试验设计法简述:
正交试验方法是依据Galois理论,从大量的数据(测试用例)中挑选适量的、有代表性的点(用例),从而合理地安排实验(测试)的一种科学实验设计方法。

正交试验方法是使用已经创建的正交表格来安排试验并运行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率

因素(因子):输入的条件(变量)
水平(因子的状态):条件的可能取值
一般用L表示正交表,如L8(27)中的7为因子数(即正交表的列数),2为因子的水平数,8为测试次数(即正交表的行数)。

二、正交试验设计发的设计步骤:
(1)提取功能说明,构造因子状态表
(2)加权筛选,生成因素分析表
(3)利用正交表构造测试数据集

4.3 黑盒测试的依据和流程

黑盒测试也称为功能测试、行为测试或数据驱动测试,在测试时,把程序看作一个不能打开的黑盒,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。

黑盒测试注重于测试软件的功能性需求,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试,多应用于测试过程的后期

等价类划分和边界值分析:最常用、最简单有效
因果图法和决策表法:适于程序的功能说明中含有输入条件的组合情况
场景法:适于业务流清晰的情况
正交试验法:适于多参数多配置的情况

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。