微信号:zte-wxcop

介绍:WXCOP(无限靠谱)研发实践社区——聚焦互联网时代可持续快速交付价值能力提升; 知识交流与传播,社区活动信息发布的平台

测试设计方法(六)-正交实验设计方法

2015-12-16 16:24 刘金 陆海燕
点击上方 “WXCOP” 可以订阅哦!
文章简介
正交实验设计法是研究多因素多水平的一种设计方法,可以有效地,合理地减少测试的工时与费用 。

一、方法简介
1. 定义
正交实验设计法是研究多因素多水平的一种设计方法。

2. 正交分析法的优点
正交实验设计法是一种高效率、快速、经济的实验设计方法,可以有效地,合理地减少测试的工时与费用。

适合于多因素多水平的取值的方法。


3. 基本概念
因素(Factor) :在一项试验中,凡欲考察的变量称为因素。
水平(Level):在试验范围内,因素被考察的值称为水平。

4. 正交表构成
一般的正交表记为Ln(mk),
Ø n是正交表的行数,也就是要安排的试验次数;
Ø k是正交表中列数,表示因素的个数;

Ø m是各因素的水平数


正交表分为水平数相同的和水平数不同的两种,下面举例说明 :
水平数相同正交表L9(3^4)

水平数不相同正交表L8(4^1*2^4)

5. 正交表有下面两条重要性质

(1) 齐整可比: 每列中不同数字出现的次数是相等的,如L9(34),每列中不同的数字是1,2,3,它们各出现3次;


(2) 均匀分散: 在任意两列中,将同一行的两个数字看成有序数对时,每种数对出现的次数是相等的,如L9(34),有序数对共有9个:(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3),它们各出现一次。

6. 正交测试设计的步骤
1) 确定因素,对应到正交表概念中的因素数。
2) 确定因素的水平,因素的取值。
3) 选择一个合适的正交表。(这是设计的关键)
4) 把因素的取值映射到正交表中,如果选择的正交表中某个因素有剩余的水平数,就拿这个因素的值从上到下循环替换,增加发现缺陷的机会。
5) 把正交表的每一行的各因素取值的组合设计为一个测试用例。

6) 增加认为可疑且没有在表中出现的组合。如觉得有些组合可能会有问题,但正交表中又没有包含时增加一些用例。


关键是第三步选择合适的正交表,选择正交表要考虑因素的个数,因素水平的个数和正交表的行数(取行数最少的正交表)。

二、 实例说明
1. 因素个数和水平个数与正交表匹配的问题

这是个人信息查询系统中的一个窗口。我们可以看到要测试的控件有3个:姓名、身份证号码、手机号码,也就是要考虑的因素有三个;而每个因素里的状态有两个:填与不填。


请用正交实验设计法,设计用例。
解答:
选择正交表时分析一下:
① 表中的因素数>=3;
② 表中至少有3个因素数的水平数>=2;
③ 行数取最少的一个。


Ø 测试用例如下:
TC1:填写姓名、填写身份证号、填写手机号
TC2:填写姓名、不填身份证号、不填手机号
TC 3:不填姓名、填写身份证号、不填手机号
TC 4:不填姓名、不填身份证号、填写手机号
Ø 增补测试用例
TC 5:不填姓名、不填身份证号、不填手机号

从测试用例可以看出:如果按每个因素两个水平数来考虑的话,需要8个测试用例,而通过正交实验法进行的测试用例只有5个,大大减少了测试用例数。用最小的测试用例集合去获取最大的测试覆盖率。

2. 因素个数不同,水平数相同
增加塔放控制器的变量和取值如下:

请用正交实验设计法,设计用例。

解答:

选择正交表时分析一下:

① 表中的因素数>=4;

② 表中至少有4个因素数的水平数>=5;

③ 行数取最少的一个。



(如果因素数不同的话,可以采用包含的方法,在正交表公式中找到包含该情况的公式,如果有N个符合条件的公式,那么选取行数最少的公式。)

考虑异常情况和特殊情况,增加用例4个,共29个测试用例。



3. 因素个数和水平个数都不相同

一个系统有5个独立的变量(A,B,C,D,E),变量A和B都有两个取值(A1,A2和B1,B2),变量C和D都有三个可能的取值(C1,C2,C3和D1,D2,D3)。变量E有六个可能的取值(E1~E6)。

用正交实验设计法,设计用例。


三、 解答
选取正交表时分析一下:
① 表中的因素数>=5;
② 表中至少有1个因素数的水平数>=6,2个因素数的水平数>=2,2个因素数的水平数>=3;

③ 行数取最少的一个。


从正交表公式中开始查找,符合条件1和条件2的正交表有L49(7^8)和L18(3^6*6^1),考察条件3,最终选定结果为: L18(3^6*6^1)
把值映射到正交表,如下所示。
1)对A,A1=0,A2=1;
2)对B,B1=0,B2=1;
3)对C,C1=0,C2=1,C3=2;
4)对D,D1=0,D2=1,D3=2;
5)对E,E1=0,E2=1,E3=2,E4=3,E5=4,E6=5

L18(3^6*6^1)正交表

把值映射到L18(3^6*6^1)正交表

四、 正交实验设计方法的优缺点使用范围

1、对安全性要求较低的。正交表是选取有代表性的用例进行测试,一般情况下会出现的缺陷都会在这个有代表性的用例中被捕捉到,但并非保证全部所有的情况,所以针对安全性比较高的系统不适合正交实验法。


2、 因子之间相对独立的。最终分析的因子之间不存在交互作用。


3、 因子和水平数都相对较多的情况。如果每个因素选择两个水平数的话,乘起来才四种,所以用正交表就不太合适了。

五、 正交实验设计的工具
正交实验设计方法涉及的因素和水平较多,我们可以使用allpairs这样的工具来实现。这个工具可以根据输入的因数和水平,自动匹配正交表,输出测试用例。
1、将变量及取值输入Excel;
2、将其拷入txt文件,假设取名input.txt
3、进入命令行编辑器.
4、 在命令行中进入allpairs.exe所在目录。假设位于 E:\allparis, 则输入 E: <Enter>, cd E:\allparis <Enter>
5、 输入命令:allpairs input.txt > output.txt <Enter>。其中的”>”表示输出到后面的文件中。如果只是allpairs input.txt ,则将结果显示在屏幕上。

点击菜单“ 干货戳这”阅读更多文章


 
WXCOP无限靠谱 更多文章 WXCOP:"Hello World!" 【搬新家,第一弹】什么是影响力? 【搬新家,第二弹】如果程序员的世界里没有条件判断语句 【最佳实践】如何通过新颖的敏捷回顾会 激发团队士气 “代码PK”,不服?来战!
猜您喜欢 我的个人品牌运营之路 你没见识过的40个404错误页面设计 W3C统计的目前网站站点服务器使用情况统计 谷歌大神 Jeff Dean 的那些“惊人真相” 天了噜!圣诞老人是绿的,色盲了这么多年