测试用例(正交排列法)

Posted eric88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试用例(正交排列法)相关的知识,希望对你有一定的参考价值。

一、应用场合

  有很多的控件,而且每个控件有多个取值的情况下,要考虑不同控件不同取值的组合

  ——如何使用最少、最优化的数据组合达到最大的测试覆盖。

二、和因果图法的区别:

  因果图:适用于控件组合较少的(20种以下),要比较全面的考虑所有情况(或主要情况)。

  正交排列法:适用于控件组合数量庞大,而从代码角度讲有没必要全部测试。

正交表

一种特制表,一般正交表记为:

技术图片

  • n:表示的是行数,也就是测试组合的次数
  • t: 表示要测控件内包含的取值个数(各因素的水平数,即各因素的状态数)
  • q:表示列数,即控件的个数(因素的个数,或因子的个数)

 

正交表例如L9(34),表1-1, 它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(41×24),表2-1 ,此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… Sj 组成,这些数码均各出现n/Sj 次,例如表1-1中,第二列的数码个数为3,S=3 ,即由1、2、3组成,各数码均出现3次。
表1-1
列号
1
2
3
4
试验号
1
1
1
1
1
2
1
2
2
2
3
1
3
3
3
4
2
1
2
3
5
2
2
3
1
6
2
3
1
2
7
3
1
3
2
8
3
2
1
3
9
3
3
2
1
表2-1
列号
1
2
3
4
5
实验号
1
1
1
1
1
1
2
1
2
2
2
2
3
2
1
1
2
2
4
2
2
2
1
1
5
3
1
2
1
2
6
3
2
1
2
1
7
4
1
2
2
1
8
4
2
1
1
2

 

 

正交表具有以下两项性质:
  ⑴每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“1”与“2”,
  且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。
  ⑵任意两列中数字的排列方式齐全而且均衡。例如在两水平正交表中,任何两列(同一横行内)有序对子共有4种:
  (1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,
  1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。
以上两点充分的体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
三、如何使用

  1、分析需求——列出所有的控件和取值。——列出表格

  2、根据控件的个数和控件的取值,选择一个合适的正交表:

    (1)根据控件的个数,决定正交表的“次幂”(正交表的列数)例:4个控件——4次幂(4列)

    (2)根据每个控件的取值个数,决定正交表的“底”(正交表中允许出现的最大值)例:每个控件有 3 个取值——底为3

  

  3、把正交表中的列名和取值(1、2、3…)用控件名称和控件的真正取值替代

    (1)把列名用控件名称替代

    (2)把每列中的取值(1、2…)使用对应的控件真正的取值替代

  4、根据正交表编写用例

    

    把正交表的每一行转换成一条用例

 说明:

  这些组合是经过数学推理出来的最少、最优化的用例

  如果时间允许,最好再补充一些用例

正交表的局限性:(不一样的取值叫做混合正交表)

  正交表个数有限,并基本要求控件取值个数相等

四、正交表的测试思想

1、公平原则:使每个控件的每个取值参与组合的次数尽量相同

2、均匀原则:在所有的组合中挑选数据时,应该均匀零星的选取,而不要只从某个局部选

五、案例

每个控件的取值不相同

1、控件的个数决定次幂,如果没有,找一个最接近的(一般选大一点的) 4个控件——4次幂

 

2、如何选“底”

  方案1:少数服从多数原则——有更多的控件取值相同的有 2 个控件取值为 3 ——选底为“3”

 

  方案2:取值个数最多原则——看哪个控件取值最多,最多有 4 个 值——底为“4”

以上是关于测试用例(正交排列法)的主要内容,如果未能解决你的问题,请参考以下文章

测试用例

测试用例模板+缺陷报告模板

测试用例设计之正交表法和配对测试法

软件测试基础篇&用例篇

面试测试开发工程师:用例篇

软件测试——软件测试用例篇