内容发布更新时间 : 2024/12/23 14:49:11星期一 下面是文章的全部内容请认真阅读。
黑盒测试案例设计技术--正交试验法
利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,导致利用因 果图而得到的测试用例数目多得惊人,给软件测试带来沉重的负担。为了有效地、合理地减少测试的工时与费用,可利用正交试验法进行测试用例的设计。 正交试验设计方法
根据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种各出现一次。这反映了试验点分布的均匀性。