正交实验法

正交试验设计(Orthogonal experimental design)是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速、经济的实验设计方法。

日本著名的统计学家田口玄一将正交试验选择的水平组合列成表格,称为正交表。例如作一个三因素三水平的实验,按全面实验要求,须进行33=27种组合的实验,且尚未考虑每一组合的重复数。若按L9(33) 正交表按排实验,只需作9次,按L18(37) 正交表进行18次实验,显然大大减少了工作量。因而正交实验设计在很多领域的研究中已经得到广泛应用。

利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。类似的方法有:聚类分析方法、因子方法方法等。

三、利用正交实验设计测试用例的步骤:

(1)提取功能说明,构造因子--状态表

把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。

利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子;而把各个因子的取值当作状态。对软件需求规格说明中的功能要求进行划分,把整体的、概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的、基本的功能要求。这样就可以把被测试软件中所有的因子都确定下来,并为确定每个因子的权值提供参考的依据。确定因子与状态是设计测试用例的关键。因此要求尽可能全面的、正确的确定取值,以确保测试用例的设计作到完整与有效。

(2)加权筛选,生成因素分析表

对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小。

(3)利用正交表构造测试数据集

利用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

在使用正交实验法时,要考虑到被测系统中要准备测试的功能点,而这些功能点就是要获取的因子或因素,但每个功能点要输入的数据按等价类划分有多个,也就是每个因素的输入条件,即状态或水平值。

四、正交表的构成

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

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

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

正交表的形式:

L行数(水平数因素数)

如:L8(27)

五、正交表的正交性

整齐可比性

在同一张正交表中,每个因素的每个水平出现的次数是完全相同的。由于在试验中每个因素的每个水平与其它因素的每个水平参与试验的机率是完全相同的,这就保证在各个水平中最大程度的排除了其它因素水平的干扰。因而,能最有效地进行比较和作出展望,容易找到好的试验条件。

均衡分散性

在同一张正交表中,任意两列(两个因素)的水平搭配(横向形成的数字对)是完全相同的。这样就保证了试验条件均衡地分散在因素水平的完全组合之中,,因而具有很强的代表性,容易得到好的试验条件。

用正交实验法设计测试用例

以上介绍了正交实验法的由来。怎么用正交实验法进行用例的设计呢?

一、用正交表设计测试用例的步骤

(1) 有哪些因素(变量)

(2) 每个因素有哪几个水平(变量的取值)

(3) 选择一个合适的正交表

(4) 把变量的值映射到表中

(5) 把每一行的各因素水平的组合做为一个测试用例

(6) 加上你认为可疑且没有在表中出现的组合

二、如何选择正交表

  • 考虑因素(变量)的个数

  • 考虑因素水平(变量的取值)的个数

  • 考虑正交表的行数

  • 取行数最少的一个

正交表查找:

http://www.york.ac.uk/depts/maths/tables/orthogonal.htm

举例:

有一个个人信息查询系统,有3个输入框: 姓名, 身份证号码,手机号。

我们可以看到要测试的控件有3个:姓名、身份证号码、手机号码,也就是要考虑的因素有三个;而每个因素里的状态有两个:填与不填。

  选择正交表时分析一下:

  1、表中的因素数>=3;

  2、表中至少有3个因素数的水平数>=2;

  3、行数取最少的一个。

  从正交表公式中开始查找,结果为:

  L4(23)

黑盒测试方法四(正交实验法)相关推荐

  1. 黑盒测试方法之正交实验法

    1.概述 在利用因果图和判定表驱动法来设计测试用例时,作为输入条件的原因和输出结果之间的关系有时候很难从需求规格说明中得到:或者因果关系非常庞大,导致利用因果图得到的测试用例数目非常大,为了有效地.合 ...

  2. 黑盒测试用例设计方法三(正交实验法、功能图法、用例设计方法综合选择)

    测试步骤 一.正交实验法 1.1正交实验法介绍 1.2正交实验法实现步骤 1.3实际案例 二.功能图法 2.1功能图法原理介绍 2.2功能图法实现步骤 2.3实践案例 三.其他用例设计方法 3.1测试 ...

  3. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)

    黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...

  4. 四因素三水平正交试验表_测试用例设计方法(二)——正交实验法

    正交实验法严格来说不是为测试用例设计的方法,它广泛用于各种实验实践中.是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了"均 ...

  5. 黑盒测试方法(等价类划分法、边界值法、决策表、判定表、正交表、场景法、错误推断法)

    1.黑盒测试方法 1.1.等价类划分法: 根据软件测试原则可以知道,要做到穷举是不可能的,事实上也是不必要的.为了减少工作量,需要对测试用例进行适当选取.等价类划分法便提供了一种选取测试用例的方法. ...

  6. 功能测试笔记PART2-测试用例设计方法与实战【等价类划分、边界值、因果图判定表、正交实验法】

    如何设计软件设计[测试用例设计] 一.测试设计与测试用例 测试设计:将概括的测试目标转化为具体的测试条件和测试用例的一系列活动. 测试分析和设计的主要任务: 评审测试依据 (需求.系统架构.设计.接口 ...

  7. 其他测试用例设计方法-错误推测法与正交实验法

    常用的测试用例设计方法,前面基本都介绍完了,其中等价类划分法.边界值法与场景法是最常用的. 本篇文章介绍剩余两种测试方法--错误推测法与正交实验法. 错误推测法 基于经验和直觉推测程序中所有可能存在的 ...

  8. 功能测试---正交实验法

    首先我们先看一下案例 案例: PPT打印功能 PowerPoint软件打印功能描述如下: 打印范围分:全部.当前幻灯片. 给定范围 共三种情况: 打印内容分:幻灯片.讲义.备注页.大纲视图 共四种方式 ...

  9. 软件测试中用正交实验法设计测试用例

    软件测试中用正交实验法设计测试用例 正交实验法的由来 一.正交表的由来 拉丁方名称的由来 古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表. 数学家 ...

最新文章

  1. VOLTE parameter in Attach Request/Accept message
  2. 转:去掉Flex4生成的SWF加载时的进度条
  3. ARM3级流水和5级流水为什么都是PC=PC+8
  4. Linux海量数据高并发实时同步架构方案杂谈
  5. 论海明威的存在主义宗教意识——存在主义虚无主义。注:部分观点个人不赞同...
  6. h3c 路由器 刷第三方固件_图文版*许迎果 第201期 双11路由器型号推荐之刷机路由篇...
  7. 【Fabric】Python自动化部署工具-Fabric入门教程
  8. C 温故知新 之 指针:数组指针、字符串指针、函数指针
  9. Ubuntu 下 libev编译安装
  10. 编程修养 阅读笔记二
  11. 全网首发:研究WORD布局,会意之笑
  12. sql必知必会学习记录(五)
  13. 计算机常用英语词汇及读音,e发音的单词有哪些
  14. 2016版excel_在抱怨加班之前,先看看你有没有熟练使用这13个Excel大神技巧?
  15. groovy定义变量获取当前时间_groovy变量 - Groovy教程
  16. pwa+lavas简述
  17. 千亿数仓第四章(指标计算_订单分析地域、分类维度分析业务开发)
  18. HTML文档属于哪种数据结构,三种常见的数据结构
  19. 用Java写小学生算术题
  20. JavaScript的onfocus与onblur用法

热门文章

  1. Android 在app里面打开另一个app,加<uses-permission android:name=“android.permission.QUERY_ALL_PACKAGES“
  2. Codeforces Round #262 (Div. 2)-A,B,C,D
  3. 个人知识库的分类目录_提前退休武器库IP运营知识库个人IP打造必备创业技能目录...
  4. 解决eclipse控制台不能正常输入问题的心路历程
  5. 企业微信开发:获取 access_token(二)
  6. win10 uwp 打开文件管理器选择文件
  7. 考研 英语一 大作文-图画作文 (一)----第一段描述图画写作攻略
  8. c语言不允许对数组大小作动态定义,c语言第07章数组.ppt
  9. 当当网读书排行榜爬虫
  10. 使用kolla-ansible部署多节点OpenStack(T版)及对接Ceph