正交试验设计(orthogonal design简称正交设计(orthoplan),是利用正交表(orthogonal table)科学地安排与分析多因素试验的方法,是最常用的试验设计之一。正交表是一种特殊的表格,内容是特定的,不过表头可以根据需要自己选择。正交表又分为等水平正交表和混合水平正交表。

一、正交表

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

1.1 正交表的性质

每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“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 正交表的结构

行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。

因素数(Factors) :正交表中列的个数,即我们要测试的功能点。

水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。

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

如:L8(27)



正交试验法是用最少的测试用例覆盖两两组合,根据经验来看,如何两两组合没有问题,三三组合、四四组合等出问题的可能性也不大。

1.3 常用正交表

二、正交表的生成(R语言)

install.packages("DoE.base")
library(DoE.base)
design1 <- oa.design(L9.3.4)
 A B C D
1 1 2 3 2
2 1 1 1 1
3 1 3 2 3
4 3 2 1 3
5 2 2 2 1
6 3 1 2 2
7 3 3 3 1
8 2 3 1 2
9 2 1 3 3

三、正交实验设计步骤

正交实验设计法,就是使用已经造好了的表格——正交表来安排实验并进行数据分析的一种方法。正交实验采用两两组合方式,减少用例个数,使用于兼容性测试、测试范围小。

3.1 打印机正交实验设计

PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、给定范围;打印内容分:幻灯片、讲义、备注页、大纲视图;打印颜色/灰度分:演的、灰度、黑白共三种设置;打印方式:是否加框。

正交实验设计步骤如下:

Step1、如果需求是文字描述,将文字转化为图形

Step2、需求中包含1个独立功能——打印功能

Step3、针对打印功能开展需求分析

    界面可见输入参数:打印范围、打印内容、打印颜色、打印方式

    界面不可见输入参数:网络、打印机本身(耗材、阴间)、驱动打印服务

Step4、分析界面可见输入参数之间的关系及特点

    

Step5、使用正交实验法设计测试用例

①将需求转化为因子状态表(因子:输入参数,状态输入参数取值)

②将因子状态表中的文字用字母代替

③将因子状态表带入正交表(规则:多则合并,少则补充)

④如果正交表中有合并项,将合并项拆分成多行

⑤将正交表中的字母用文字代替

⑥一行对应一条测试用例

3.2 web系统正交实验设计

web包含大量的服务器、操作系统、浏览器插件如下:

Web浏览器 插件 服务器 操作系统
Netscape6.2 IIS Windows2000
IE6.0 RealPlayer Apache Windows NT
Opera4.0 MediaPlayer Netscape Linux
Enterprise

选择四因子三状态的正交表,代入可得

总结

正交试验设计总的来说包括两部分:一是试验设计;二是数据处理、基本步骤可简单归纳如下:

(1) 明确试验目的,确定评价指标

(2) 挑选因素,确定水平。应对实际问题进行具体分析,并根据试验目的,选出主要因素。如果对问题了解不够,可以适当多取一些因素。确定因素的水平数时,一般尽可能使因素的水平数相等,以方便试验数据处理。最后列出因素水平表

(3) 选正交表,进行表头设计。根据因素数和水平数来选择合适的正交表。一般要求,因素数≦正交表列数,因素水平数与正交表对应的水平数一致,在满足上述条件的前提下,选择较小的表。如果要求精度高,可以选择较大的表

(4) 表头设计就是将试验因素安排到所选正交表相应的列中。一般一个因素占有一列,不同因素占有不同的列(可以随机排列)。不放置因素或交互作用的列称为空白列(简称空列),空白列在正交设计的方差分析中也称为误差列,一般最好留至少一个空白列

(5) 明确试验方案,进行试验,得到结果。对试验结果进行统计分析。通常采用两种方法:一种是直观分析法(或称极差分析法);另一种是方差分析法。通过试验结果分析可以得到因素主次顺序、优方案等信息

(6) 进行验证试验,作进一步分析

参考资料

正交试验法及其示例

正交实验

方差分析3——正交表与正交实验设计(R语言)的更多相关文章

  1. R语言实战(五)方差分析与功效分析

    本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...

  2. 实验的方差分析(R语言)

    实验设计与数据处理(大数据分析B中也用到F分布,故总结一下,加深印象)第3课小结--实验的方差分析(one-way analysis of variance) 概述 实验结果\(S\)受多个因素\(A ...

  3. R语言函数总结(转)

    R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...

  4. 【R笔记】R语言函数总结

    R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...

  5. R语言笔记完整版

    [R笔记]R语言函数总结   R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头, ...

  6. 【转】R语言函数总结

    原博: R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头, ...

  7. R 语言实战-Part 3 笔记

    R 语言实战(第二版) part 3 中级方法 -------------第8章 回归------------------ #概念:用一个或多个自变量(预测变量)来预测因变量(响应变量)的方法 #最常 ...

  8. 用R语言的quantreg包进行分位数回归

    什么是分位数回归 分位数回归(Quantile Regression)是计量经济学的研究前沿方向之一,它利用解释变量的多个分位数(例如四分位.十分位.百分位等)来得到被解释变量的条件分布的相应的分位数 ...

  9. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  10. R语言实战(三)基本图形与基本统计分析

    本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...

随机推荐

  1. font-awesome vue/react 通用的图标

    在开发项目中遇到了矢量图标 一套绝佳的图标字体库和CSS框架 vue 中引入font-awesome 直接npm install font-awesome --save 就可以了,里边包含了样式和字体 ...

  2. svn批量的添加ignore

    svn没有批量添加ignore file的功能,只能一个个目录去设置,故写了脚本自动化的执行 使用了svn propset,故改了ignore file,可以反复的执行此脚本 #!/usr/bin/p ...

  3. 【Delphi7官方镜像版】delphi_7_ent_en官方镜像 阿里云盘

    [Delphi7官方镜像版]「delphi_7_ent_en官方镜像.iso.exe」https://www.aliyundrive.com/s/Du9C4XfZfwG 点击链接保存,或者复制本段内容 ...

  4. JAVA 学习打卡 day3

    2022-04-25 22:53:16 1.运算符 表达式是由操作数与运算符所组成Java中的语句有很多种形式,表达式就是其中一种形式.表达式是由操作数与运算符所组成,操作数可以是常量.变量也可以是方 ...

  5. Day06 ServletContext

    ServletContext的介绍与用法 1.什么是ServletContext 1.1 SevrvletContext:Servlet上下文 服务器会为每一个Web工程创建一个ServletCont ...

  6. C语言声明与定义的区别

    转自:https://blog.csdn.net/gatieme/article/details/50640424 C++程序通常由许多文件组成,为了让多个文件访问相同的变量,C++区分了声明和定义. ...

  7. 【前端样式】关于Element-plus 菜单 unique-opened不生效的问题

    需要保证el-sub-menu 的唯一性,即index得写在el-sub-menu上,否则 unique-opened 属性不生效.

  8. 前端访问Tornado跨域问题

  9. NFS存储安装配置

    一.NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种, 它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 户 ...

  10. linux 安装配置redis

    linux 安装配置redis 安装 官网下载地址:https://redis.io/download linux下载命令:wget http://download.redis.io/releases ...