使用正交表设计测试用例

来源:互联网 发布:s7-300编程手册 编辑:程序博客网 时间:2024/06/10 03:30

问题提出

在设计测试用例时,常常会遇到几个条件组合输入的情况。如果使用所有的组合则用例太多,若随意选择几个组合则会显得信心不足,针对该问题,提出了正交用例设计方法。

先来看一个例子,比如一个交友网站,检索时可以输入以下信息:性别、性格、婚否。其中,性别可以是男或女,性格可以是活泼或成熟、婚否可以是已婚或未婚。可以看到,一共有三个条件,而每个条件有可以有两种输入。三个条件的全部组合如下:

序号姓别性格婚否1男活泼已婚2男活泼未婚3男成熟已婚4男成熟未婚5女活泼已婚6女活泼未婚7女成熟已婚8女成熟未婚如果选择全部组合,则会有8个用例,但是如果随意选择,如选择前面四个,则会有欠测试的风险。在这种情况下,如何选择尽可能少而又尽可能全面的用例呢?

基本概念

因素

因素即用于组合的各个条件,示例中共有三个因素,分别是性别,性格,婚否。因素的个数称为因素数。

水平

水平即条件可先的范围,如示例中性别有两个水平,男和女。水平的个数称为水平数。示例中三个因素的水平数都是2。

正交表

正交表即为给定的因素数和水平数的一张表格,通过查表产生所需要的用例。

L2(3)的正交表表示有三个因素,每个因素有两个水平。

L2(3)的正交表为

序号水平1水平2水平31001201031004111使用正交表设计用例
1)将各个因素的各个水平分别用0、1、2……表示,如示例中,0表示男,1表示女

2)选择对应的正交表,如示例中可以选择L2(3)的正交表

3)查表得到用例,如示例中得到的用例为

序号性别性格婚否1男活泼已婚2男成熟未婚3女活泼未婚4女成熟已婚4)根据经验加上可疑用例,如示例中,女性,活泼,已婚为可疑的用例,加上后,得到最终的用例

序号性别性格婚否1男活泼已婚2男成熟未婚3女活泼未婚4女成熟已婚5女活泼已婚当然,在实际应用时,不可能所有的因素的水平数都相等,比如有4个水平数为2,1个水平数为3,则对应的正交表为L2(4)3(1)

前人已经设计出了一些常用的正交表,对应的下载地址为http://support.sas.com/techsup/technote/ts723_Designs.txt。

如果所需的正交表查不到,则在常用正交中选择有因素数或水平数较多的正交表。如需要L2(2)5(1)的正交表在常用正交表中没有,则可以选择L2(2)6(1)的正交表,将最后一列为5的行去掉即可。

正交表为什么会有效

笔者曾参加过测试的相关培训,当时培训的老师说因为正交表是专家设计的,所以有效。

当然,正交表之所以有效,并不是因为它是专家设计的。以下几个特点可以说明正交表是有效的。

1)对于任意一个因素,它的各个水平现的次数是相同的

2)对于任意两个因素,它们的水平的所有组合都包含在正交表中

从这两个特点来看,正交表是完备的。当然,因为没有完全测试,所以还是不能包含所有情况,根据经验补充可疑用例是有必要的。


本文出自f_ty_45的博客,转载请保留此出处http://blog.csdn.net/f_ty_45/article/details/8841969。