软件测试基本方法用到测试实例(全程软件测试二十三)(1)

正交试验法简介

正交试验设计(Orthogonal Experimental Design)是针对多因素多水平的一种设计方法,它根据正交性从全面试验中挑选部分有代表性的点进行试验,它们具备“均匀分散,齐整可比”的特点。正交试验设计是分式析因设计的主要方法,同样也是一种高效、快速、经济的试验设计方法。

在一项试验中,影响试验结果的量称为试验因素,简称因素。试验结果可以看成是因素的函数。在试验过程中,每个因素都可处于不同的状态或状况,将因素所处的状态或状况称为因素的水平,简称水平。

日本著名统计学家田口玄一将正交试验选择的水平组合罗列成表格,此表格被称为正交表。例如,三因素三水平试验,按全面试验要求,在尚未考虑每一组合重复数的情况下,需要进行33=27种组合的试验;若按 L9(33)正交表进行试验,只需要进行9次,大大减少了工作量。因此正交试验法在很多领域的研究中得到广泛应用。

正交表简介与使用

1.正交表的概念

正交表是一整套规则的设计表格,记为Ln(mk)。其中L为正交表的代号, n是表的行数,即要试验的次数;k是表的列数,即最多可安排因素的个数;m是各因素的水平数。

2.正交表的性质

正交表具有两个重要性质:每列中不同数字出现的次数相等;任意两列中,数字的排列方式齐全且均衡。凡满足上述两条性质的表叫作正交表。常用的正交表,二水平的有 L4(23)、L8(27)和L16(215),三水平的有L9(34)、L18(37)、L27(313)等。

3.利用正交表进行试验

接下来举例说明如何进行试验以及如何分析试验结果。

为提高某种产品的产量,试验者选择了三个有关因素,分别是操作方式、温度、洗涤时间,假设各因素间无交互作用。

首先要明确试验目的,确定试验指标,选择因素,选取水平。

通过分析研究,确定影响产量的是操作方式、温度和洗涤时间三个因素,分别用A、B、C表示。根据经验,每个因素各选取三个水平。将因素水平罗列,具体如下表所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(2)

提高产品产量的三个因素

然后选用正交表,列出试验方案。

上表中共有三个因素,每个因素有三个水平,三水平以表 L9(34)所需试验次数最少,并且最多可安排四个因素,因此选用表L9(34)。

正交表的种类

1.等水平正交表

等水平正交表即各列水平数均相同的正交表,又称单一水平正交表。等水平正交表的表示形式如下图所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(3)

等水平正交表的表示形式

各列水平数均为2的常用正交表有L4(23)、L8(27)、L16(215)等。

各列水平数均为3的常用正交表有L9(34)、L27(313)、L81(340)等。

各列水平数均为4的常用正交表有L16(45)、L64(421)、L256(485)等。

各列水平数均为5的常用正交表有L25(56)、L125(531)、L625(5156)等。

2.混合水平正交表

各列水平数不相同的正交表,又称混合水平正交表。混合水平正交表的表示形式如下图所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(4)

混合水平正交表的表示形式

常用的混合水平正交表有 L8(41×24)、L16(44×23)、L16(41×212)。

3.正交表的正交性

正交表的正交性包含整齐可比性和均衡分散性。

整齐可比性:在同一张正交表中,每个因素的每个水平出现的次数完全相同。试验中每个因素的每个水平与其他因素的每个水平有相同概率参与试验,可在最大程度上排除其他因素水平的干扰,因此能最有效地进行比较和做出展望,可以较为轻松地得到好的试验条件。

均衡分散性:在同一张正交表中,任意两列的水平搭配是完全相同的。如此保证了试验条件均衡地分散在因素水平的所有组合之中,因此具有较强的代表性,可以较为轻松地得到好的试验条件。

利用正交试验法设计测试用例

利用正交试验法设计测试用例的步骤如下。

1.提取功能说明,构造因素状态表

因素是影响试验指标的条件,因素的状态指试验因素的取值。

首先需要根据被测软件的规格说明书,找出影响其功能实现的操作对象外部因素,将其当作因素,并将各因素的取值当作状态。划分软件需求规格说明书中的功能要求,将整体的、概要性的功能要求分解成具体的、相对独立的、基本的功能要求,如此可确定被测软件中所有的因素,并为确定每个因素的权值提供参考依据。

确定因素与状态是设计测试用例的关键,因此要求尽可能全面、正确地确定取值,使测试用例完整有效。

2.加权筛选,生成因素分析表

对因素与状态的选择可根据其重要程度进行加权,根据各因素及状态的作用、出现频率以及测试需要程度确定权值。

3.利用正交表构造测试数据集

与等价类划分、边界值分析、因果图等方法相比,使用正交试验法设计测试用例有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

在使用正交试验法时,需要考虑被测软件中需要测试的功能点,这些功能点就是要获取的因素。但每个功能点需要输入的数据根据等价类划分有多个,即每个因素的输入条件(状态或水平)。

例 某企业内部要进行薪资核算,功能描述如下:

学历分为大专、本科、硕士;

职称分为初级、中级、高级;

工作年限分为1~3年、3~5年、5年以上。

根据上述功能说明,列出薪资构成因素表,如下表所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(5)

薪资构成因素表

根据以上内容,为了方便测试的设计,构造因素状态表,如下表所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(6)

因素状态表

根据上述因素状态表画出布尔图,如下图所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(7)

布尔图

测试对象为3因素(A、B、C),均为3状态。因此,采用3因素3状态正交表较为合适,如下表所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(8)

正交表

从上表我们可以看出,因素的每种状态组合都是唯一的,每个因素出现的次数是相同的,符合正交表的原则。接下来用每一个字母代号对应的状态情况代替字母代号,完成测试用例设计的因素和状态的组合,如下表所示。

软件测试基本方法用到测试实例(全程软件测试二十三)(9)

因素状态表

上表中,每一行代表一个测试用例。上述示例通过正交试验法分析后,得到了9个具有代表性的测试用例,大大减少了用例的数量,而测试指标依然符合要求,提高了整体的测试效率。

,