测试用例设计方法--正交试验法详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

测试用例设计方法--正交试验法详解

正交试验法介绍

正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。

正交表是一种特制的表格,一般用L n (m k

)表示,L 代表是正交表,n 代表试验次数或正交表的行数,k 代表最多可安排影响指标因素的个数或正交表的列数,m 表示每个因素水平数,且有n=k*(m-1)+1。

正交表的特点

正交表具有以下两个特点。正交表必须满足这两个特点,有一条不满足,就不是正交表。

每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平

参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。

在任意2列其横向组成的数字对中,每种数字对出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。

使用正交试验法的原因

对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷。为了有效的、合理地减少测试的工时与费用,我们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验、寻求最优水平组合的一种高效率的试验设计方法。 我们用测试实例来进行说明使用正交试验法设计测试用例的好处。 测试需求:

某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询: 根据“性别”=“男,女”进行查询 根据“班级”=“1班,2班”查询 根据“成绩”=“及格,不及格”查询

按照传统设计——全部测试

分析上述测试需求,有3个被测元素,被测元素我们称为因素,每个因素有两个取值,

我们称之为水平值,所以全部测试用例个数是2*2*2=8,参见下表

利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4,对于三因素两水平的刚好有L4(23)的正交表可以套用,于是用正交表试验法得出4个测试用例如下:

根据实际需要可以在用正交试验法设计用例的基础上补充一些测试用例。

4个测试用例与8个测试用例相比测试用例个数是减少了。因素数和水平数越大越能体现用正交表的好处。例如:对于一个四因素且每个因素均为三水平的试验,如果按照全面试验需要进行3*3*3*3=81次。但是如果用正交试验法选择L9(34)正交表,n=4*(3-1)+1=9次试验就可以覆盖。从这点可以说明用正交试验法能有效地、合理地减少测试用例和工时,节约测试

成本。

正交表的类别及如何查找正交表

1.1. 正交表的类别

1. 单一水平正交表

各列水平数相同的正交表称为等水平正交表。如L4(23)、L8(27)、L12(211)等各列中的水平为2,称为2水平正交表;L9(34)、L27(313)等各列水平为3,称为3水平正交表。表示为:L n(m k)。

2. 混合水平正交表

各列水平数不完全相同的正交表称为混合水平正交表。如L8(4124)表中有一列的水平为4,有4列水平数为2。也就是说该表可以安排一个4水平因素和4个2水平因素。再如L16(4423),L16(41212)等都是混合水平正交表。表示为:L n(m1k1m2k2)。

2.2. 如何查找正交表

查Dr. Genichi Taguchi 设计的正交表

/depts/maths/tables/orthogonal.htm

Technical Support ( ) com

/techsup/technote/ts723_Designs.txt

正交表的一个实例:

L4(23)

2-水平数

3-因素数

n=4-最少试验次数

确定因素数和水平数

因素数:确定测试中有多少个相互独立的考察变量。

水平数:确定任何一个因素在试验中能够取得的最多个值

根据因素数和水平数确定n值

对于单一水平正交表L n(m k),用n=k*(m-1)+1公式计算

对于混合水平正交表L n(m1k1m2k2..m x kx),用n=k1*(m1-1)+k2*(m2-1)+…k x*(m x-1)+1公式计算

选择合适的正交表

单一水平正交表:

如果存在试验次数等于n,并且水平数大于等于m、因素数大于等于k的正交表,我们把这个正交表拿过来套用。

如果不存在试验次数等于n的正交表,我们就得找出满足试验次数大于n的正交表并且水平数大于等于m、因素数大于等于k。

混合水平正交表:

如果存在试验次数等于n,并且水平数大于等于max(m1,m2,m3,…)、因素数大于等于(k1+k2+k3+…)的正交表,我们把这个正交表拿过来套用。

如果不存在试验次数等于n的正交表,我们就得找出满足试验次数大于n的正交表并且水平数大于等于m ax(m1,m2,m3,…)、因素数大于等于(k1+k2+k3+…)。

当有2个或2个以上正交表可以被选择时,选取原则是选试验次数最少的那个正交表。

根据正交表把变量的值映射到表中,设计测试用例

把变量的值映射到正交表中,每一行的各因素的取值组合作为一个测试用例。

用正交表设计测试用例的两种情况:

存在试验次数等于n(n=k*(m-1)+1)的正交表

案例1:假设一个网页有3个不同的部分(Top、Middle、Bottom),并且每个部分都可以单独显示及隐藏。要测试这三个不同部分的交互。按照前面给出的正交表测试用例设计步骤,用正交试验法设计测试用例。确定因素数和水平数

确定有3个独立变量且每个变量2个取值:Top(Hidden, Visible), Middle(Hidden, Visible), Bottom(Hidden, Bottom)

根据因素数和水平数确定n值

水平数:m=2

因素数:k=3

相关文档
最新文档