正交试验法

上一篇 / 下一篇  2012-01-18 16:20:23

利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说 明中得到。往往因果关系非常庞大,导致利用因 果图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担。为了有效地、合理地减少测试的工时与费用,可利用正交试验法进行测试用例的设计。

正交试验设计方法

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

正交试验法,就是使用已经造好了的表格---正交表来安排试验并进行数据分析的一种方法。它简单易行并且计算表格化,应用性较好。下面通过一个例子来说明正交试验法。

例:为提高某化工产品的转化率,选择了三个有关因素进行条件试验,反应温度(A),反应时间(B),用碱量(C),并确定了它们的试验范围如下:

● A:80~90C°

● B:90~150分钟

●C:5%~7%

试验目的是搞清楚因子A、B、C对转化率有什么影响,哪些是主要的,哪些是次要的,从而确定最适生产条件,即温度、时间及用碱量各为多少才能是转化率最高。这里,对因子A、B、C,在试验范围内都选了三个水平,如下所示:

● A:A1=80C°, A2=85C°,A3=90C°

● B:B1=90分钟,B2=120分钟,B3=150分钟

● C:C1=5%,C2=6%,C3=7%

当然,在正交试验设计中,因子是可以定量的,也可以是定性的。而定量因子各水平间的距离可以相等,也可以不相等。这个三因子三水平的条件试验,通常有两种试验方法:

①取三因子所有水平之间的组合,即A1B1C1,A1B1C2,A1B2C1,……,A3B3C3,共有3×3×3=27次试验。用下图表示立方体的27个结点。这种试验法叫做全面试验法。

全面试验对各因子与指标间的关系剖析的比较清楚。但试验次数太多,特别是当因子数目多,每个因子的水平数目也很多时,试验量非常大。如选6个因子, 每个因子取5个水平时,如要做全面试验,则需要5×5×5×5×5×5=15625次试验。这实际上是不可能实现的。如果应用将要介绍的正交试验法,只做 25次试验就行了。而且在某种意义上讲,这25次试验就代表了15625次试验。

②简单对比法,即变化一个因素而固定其他因素,如首先固定B、C与B1、C1,使A变化:

如得出结果A3最好,则固定A于A3,C还是C1,使B变化:

如果得出结果以B2最好,则固定B于B2,A于A3,使C变化:

试验结果以C2最好,于是就认为最好的工艺条件是A3B2C2。

这种方法一般也有一定的效果,但缺点很多。首先这种方法的选点代表性很差,如按上述方法进行试验,试验点完全分布在一个角上,而在一个很大的范围内 没有选点,因此这种试验方法不全面,所选的工艺条件A3B2C2不一定是27个组合中最好的。其次,用这种方法比较条件好坏时,是把单个的试验数据拿来, 进行数值上的简单比较,而试验数据中必然包含着误差成分,所以单个数据的简单比较不能剔除误差,必然造成结论的不稳定。

简单对比法的最大优点就是试验次数少,例如,6因子5水平试验,在不重复时,只用5 + ( 6 - 1 ) × ( 5 - 1 ) = 5 + 5 × 4 = 25次试验就可以了。

考虑兼顾这两种试验方法的优点,从全面试验的点中选择具有典型性、代表性的点,使试验点在试验范围内分布得很均匀,能反映全面情况。但我们又希望试 验点尽量地少,为此还要具体考虑一些问题。如上例,对应于A有A1、A2、A3共3个平面,对应于B、C也各有3个平面,共9个平面。则这9个平面上的试 验点都应当一样多,即对每个因子的每个水平都要同等看待。具体来说,每个平面上都有3行、3列,要求在每行、每列上的点一样多。这样,作出如下图所示的设 计,试验点用⊙表示。我们看到,在9个平面中每个平面上都恰好有3个点,而每个平面的每行每列都有1个点,而且只有1个点,总共9个点。这样的试验方案, 试验点的分布很均匀,试验次数也不多。

当因子数和水平数都不太大时,尚可通过作图的办法来选择分布很均匀的试验点。但是因子数和水平数多了,作图的方法就不行了。试验工作者在长期的工作 中总结出一套办法,创造出所谓的正交表。按照正交表来安排试验,既能使试验点分布得很均匀,又能减少试验次数,而且计算分析简单,能够清晰地阐明试验条件 与指标之间的关系。用正交表来安排试验及分析试验结果,这种方法叫正交试验设计法。

一般用L代表正交表,常用的有等。此符号各数字的意义如下。

例如:,其中7为此表列的数目(最多可安排的因子数);2为因子的水平数;8为此表行的数目(试验次数)。

又如:,有7列是3水平的,有1列是2水平的,的数字告诉我们,用它来安排试验,做18个试验最多可以考察1个2水平因子和7个3水平因子。

在行数为mn型的正交表中(m,n是正整数),试验次数(行数) = ∑( 每列水平数 - 1 ) + 1,如,8 = 7 × ( 2 - 1 ) + 1,利用上述关系式可以从所要考察的因子水平数来决定最低的试验次数,进而选择合适的正交表。比如要考察5个3水平因子及1个2水平因子,则起码的试验次 数为5 × ( 3 - 1 ) + 1 × ( 2 -1 ) + 1 = 12,这就是说,要在行数不小于12,既有2水品列又有3水平列的正交表中选择,适合。正交表具有两条性质:每一列中各数字出现的次数一样多;任何两列所构成的各有序数对出现的次数都一样多。所以称之为正交表。

例如,在中(如下表所示),各列中的1、2、3都各自出现3次;任意两列,例如3、4列,所构成的有序数对从上向下共有9种,既没有重复也没有遗漏。其他任何两列所构成的有序数对也是这9种各出现一次。这反映了试验点分布的均匀性。


试验方案应该如何设计呢?安排试验时,只要把所考察的每一个因子任意地对应于正交表的一列(一个因子对应一列,不能让两个因子对应同一列),然后把每列的 数字”翻译“成所对应因子的水平。这样,每一行的各水平组合就构成了一个试验条件(不考虑没安排因子的列)。对于上例,因子A、B、C都是3水平的,试验 次数要不少于3 × ( 3 - 1 ) + 1 = 7,可考虑用。因子A、B、C可任意地对应于的某三列,例如A、B、C分别放在1、2、3列,然后试验按行进行,顺序不限,每一行中各因素的水平组合就是每一次的试验条件,从上到下就是这个正交试验的方案,如下表所示,这个方案的几何解释正好是正交试验设计图例。
3个3水平因子,做全面试验需要3的3次幂,即27次试验,现在用来设计试验方案,只要做9次,工作量减少了2/3,而在一定意义上代表了27次试验。

正交试验测试用例设计步骤

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

● 提取功能说明,构造因子“——”的状态表,把影响实验指标的条件称为因子,而影响实验因子的条件叫做因子的状态。利用正交试验设计方法来设计测试用例时, 首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,首先把它们当作因子,而把各个因子的取值当作状态。对软件需求规格说明中的功 能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的、有相对独立性的基本的功能要求。这样就可以把被测试软件中所有的因子都确 定下来,并为确定因子的权值提供参考的依据。确定因子与状态是设计测试用例的关键。因此,要求尽可能全面地、正确地确定取值,以确保测试用例的设计做到完 整有效。

●加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态作用的大小、出现频率的大小以及测试的需要,确定权值的大小。

● 利用正交表构造测试数据集,正交表的推导根据Galois理论。

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

正交试验法在软件测试中是一种有效的方法,例如在平台参数配置方面,我们要选择哪种组合方式是最好的,每个参数可能就是一个因子,参数的不同取值就是水平,这样我们可以采用正交试验法设计出最少的测试组合,达到有效的测试目的

TAG: 正交试验法

 

评分:0

我来说两句

日历

« 2024-03-24  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 6715
  • 日志数: 9
  • 建立时间: 2011-03-04
  • 更新时间: 2012-01-31

RSS订阅

Open Toolbar