软件测试正交测试法
正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验
在一项试验中,把影响试验结果的量称为试验 因素(因子) ,简称 因素。因素可以理解为试验过程中的 自变量 ,试验结果可以看成因素的函数。在试验过程中,每一个因素可以处于不同的状态或状况,把因素所处的状态或状况,称为 因素的水平 , 简称水平。
某所大学通信系共2个班级,刚考完某一门课程,想通过“性别”、“班级”和“成绩”这三个查询条件对通信系这门课程的成绩分布,男女比例或班级比例进行人员查询:
根据“性别”=“男,女”进行查询
根据“班级”=“1班,2班”查询
根据“成绩”=“及格,不及格”查询
按照传统设计——全部测试
分析上述测试需求, 有3个被测元素 ,被测元素我们称为因素,每个因素有 两个 取值,我们称之为 水平值(也就是2)。
如果是普通的全面测试,则如下(2^3=8次)
若采用正交测试
利用正交表设计测试用例,我们得到的测试用例个数是n=3*(2-1)+1=4(这个公司就是 (因素数*(最大水平数-1)+1) ),对于三因素两水平的刚好有L4(2^3)的正交表可以套用
于是用正交表试验法得出4个测试用例如下(正交测试表的类型一般都会给出来)
正交试验设计方法
与一般的试验设计类似 ,用正交试验设计方法设计测试用例时主要包括以下步骤:
(1)确定因素
这里的因素是指对软件运行结果有影响的软件
(2)确定因素的取值范围或集合(该步是为步骤3做准备的)
因素的取值范围 是指软件输入的取值范围或集合以及可用的硬件资源。
(3)确定每个因素的水平
根据因素的取值范围或集合 ,采用等价类划分 、 边界值分析 以及其他软件测试技术,在每个因素的取值范围或集合内挑选出 有效等价类 、 无效等价类 、 正好等于 、 刚刚大于 或 刚刚小于边界值 等有代表性的测试值。
(4)选择正交表
根据确定的因素和水平 ,选择适合的正交表。
如果没有合适的正交表可用或需要的测试用例个数太多 ,要对因素和水平进行调整。
正交表的构成:
l行数(Runs):正交表中的行的个数,即试验的次数,也是通过正交实验法设计的测试用例的个数
l因素数(Factors):正交表中列的个数,即要测试的功能点。
l水平数(Levels):任何单个因素能够取得的值的最大个数,即要测试功能点的输入值
正交表
正交表相关概念
将正交试验选择的水平组合,列成表格,称为正交表。
正交表具有以下两个特点,即正交性。正交表必须满足这两个特点,有一条不满足,就不是正交表。
1) 每列中不同数字出现的次数相等。这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。
2)在任意2列其横向组成的数字对中,每种 数字对 出现的次数相等。这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性
参考文献:http://blog.csdn.net/wd168/article/details/51736105
http://www.51testing.com/html/36/489136-812551.html
测试方法中正交表局限性是什么?有什么解决办法?
局限性:目前常见的正交排列表只有固定的几种
即使是已有的正交排列表,基本都要求每个控件中取值的个数要相等,这在实际软件中很少遇到。
解决方法:通过正交排列法的学习,我们更多的应该学习到一种测试思想,也就是在从所有组合集合中选取测试数据时,应该均匀的选取其中的组合作为测试用例,而不要只在某个局部选取数据。
表哥也在做软件测试,他是在黑马程序员转行学的,别人推荐的,现在工作很好,要是你对软件测试感兴趣,不妨也可以学一学!
请问软件测试中的正交设计的基本原理?
(二) 正交设计的基本原理 在试验安排中,每个因素在研究的范围内选几个水平,就好比在选优区内打上网格,如果网上的每个点都做试验,就是全面试验。如上例中,3个因素的选优区可以用一个立方体表示(图12-2),3个因素各取3个水平,把立方体划分成27个格点,反映在图12-2上就是立方体内的27个“.”。若27个网格点都试验,就是全面试验,其试验方案如表12-20所示。
表12-20 3因素3水平全面试验方案
C1 C2 C3
A1 B1 A1B1C1 A1B1C2 A1B1C3
B2 A1B2C1 A1B2C2 A1B2C3
B3 A1B3C1 A1B3C2 A1B3C3
A2 B1 A2B1C1 A2B1C2 A2B1C3
B2 A2B2C1 A2B2C2 A2B2C3
B3 A2B3C1 A2B3C2 A2B3C3
A3 B1 A3B1C1 A3B1C2 A3B1C3
B2 A3B2C1 A3B2C2 A3B2C3
B3 A3B3C1 A3B3C2 A3B3C3
图12-2 3因素3水平试验的均衡分散立体图
3因素3水平的全面试验水平组合数为33=27,4因素3水平的全面试验水平组合数为34=81,5因素3水平的全面试验水平组合数为35=243,这在动物试验中是不可能做到的。正交设计就是从选优区全面试验点(水平组合)中挑选出有代表性的部分试验点(水平组合)来进行试验。图12-2中标有试验号的九个“⊙”,就是利用正交表L9(34)从27个试验点中挑选出来的9个试验点。即:
(1)A1B1C1 (2)A2B1C2 (3)A3B1C3
(4)A1B2C2 (5)A2B2C3 (6)A3B2C1
(7)A1B3C3 (8)A2B3C1 (9)A3B3C2
上述选择,保证了A因素的每个水平与B因素、C因素的各个水平在试验中各搭配一次。对于A、B、C 3个因素来说,是在27个全面试验点中选择9个试验点,仅是全面试验的三分之一。从图12-2中可以看到,9个试验点在选优区中分布是均衡的,在立方体的每个平面上,都恰是3个试验点;在立方体的每条线上也恰有一个试验点。9个试验点均衡地分布于整个立方体内,有很强的代表性,能够比较全面地反映选优区内的基本情况。
手机软件测试中 什么叫联系人正交测试法
正交实验法就是利用排列整齐的表 -正交表来
对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果,这种试验设计法是从大量的试验点中挑选适
量的具有代表性的点,利用已经造好的表格—正交表来安排试验并进行数据分析的方法。正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,
由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
类似于数组登记,把每种情况记下来,然后观察。
软件测试用例的几种设计方法
一、等价类划分法
所谓「等价」,就是具有相同属性或者方法的集合,这个集合中某个个体所表现的特征与其他个体完全一致。
由此可知,等价类划分就是将所有可能的输入数据,划分成若干个等价类,然后从每个部分中选取具有代表性的数据当做测试用例进行合理的分类,分为有效等价类和无效等价类。
例如,规定的用户名长度区间为4~8个字,那么它的有效等价类是用户名长度在[4,8],无效等价类为用户名长度大于8位,或用户名长度小于4位。
二、边界值
测试经验告诉我们,在测试有时会涉及到大量的数据,遍历所有数据会使测试效率低下,如果是手工执行,更加难以覆盖所有数据。这时更有效率的做法是,先划分等价类,再从等价类中选择部分参数测试,边界值是等价类所有可选参数中最容易出问题的地方,所以我们一般会选择边界值作为测试的重点,边界值法的应用步骤如下:
1.先根据等价类法划分有效等价类和无效等价类,确定上点、离点及内点。上点是边界上的点,离点是离上点最近的点,内点则是边界有效范围内的任意一点。同样以用户名长度为4~8位为例,4和8为上点,3和9为离点,6则为内点。
2.设计一个新的测试用例,使其尽可能地覆盖所有尚未覆盖的有效等价类,直到所有有效等价类完全覆盖。
3.设计一个新的测试用例,使其仅覆盖一个无效等价类,直到所有无效等价类都被覆盖。
三、判定表法
判定表又称策略表、决策表,能表示输入条件的组合,以及与每一输入组合对应的动作组合。判定表法适合逻辑判断比较复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,具体又明确地表达复杂地逻辑关系和多种条件组合情况。
判定表主要由条件桩和动作桩两部分组成。条件桩是功能要满足地所有条件,动作桩则是所有可能的操作以及产生的结果。
判定表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。其缺点是判定表的建立过程较烦杂,当条件过多时,需要分析的逻辑组合呈2的倍数增长。测试工程师可根据实际情况与等价类划分法、边界值法结合使用。
四、正交试验法
正交试验法是研究多因素、多水平组合的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面实验。正交表中所有参与试验的、影响试验结果的条件成为因子,影响试验因子的取值或输入的成为水平。
在设计测试用例时,采用正交试验法能够有效地、合理地减少测试的工作量与和成本。正交试验的一般流程包括以下几个步骤:
1)分析测试需求,获取因子和水平
2)根据因子和水平选择合适的正交表
3)替换正交表中的因子和水平,获取试验次数
4)根据经验或者其他因素补充试验次数
5)细化输出获得测试用例
以上是一些常见的测试用例设计方法,希望能够解答你的问题。
组合测试术语:Pairwise/All-Pairs、OATS(Orthogonal Array Testing Strategy)
组合测试(Combinatorial Test)是一种黑盒测试用例生成方法,主要针对多输入参数组合场景。
目前业界较流行的两种组合测试方法,一种是 Pairwise/All-Pairs ,即配对组合。OATS(Orthogonal Array Testing Strategy) ,即正交表法。
Pairwise/All-Pairs ,也叫配对测试 或 结对测试,是一种软件测试的组合方法,核心在于用最少的测试用例来覆盖多个因素取值的两两组合。
配对测试示例
Pairwise 是 L. L. Thurstone 在 1927 年首先提出来的。他是美国的一位心理统计学家。Pairwise 是基于数学统计和对传统的正交分析法进行优化后得到的产物。
Pairwise 基于如下 2 个假设:
因此, Pairwise 基于覆盖所有两因素的交互作用产生的用例集合性价比最高而产生的。
N-wise 是对 N 个因素的所有取值进行全排列组合(笛卡尔积)而生成的一组测试用例集。理论上,该测试用例集可以发现所有 N 个因素共同作用引发的缺陷。
Pairwise/All-Pairs 是 N-wise 的一个具体化实例, Pairwise/All-Pairs 实际上就是 2-wise。
《微软软件测试之道》中,建议从 Pairwise/All-Pairs 开始测试,逐渐提高组合维度,直至 6-wise 组合测试。因为据研究表明, 6-wise 可以发现绝大多数的程序缺陷。但是,实际上随着组合维度的提升,测试用例呈指数爆炸增长,所以 Pairwise/All-Pairs 或 3-wise 比较适合实际项目。
组合数量对比
Pairwise 工具集 : http://www.pairwise.org/tools.asp
正交表查询 : https://www.york.ac.uk/depts/maths/tables/orthogonal.htm
Pairwise 工具推荐微软的 PICT (Pairwise Independent Combinatorial Testing)。
求高手帮忙分析下关于软件测试的正交实验设计法~
先确定各个字段输入项,例如“关键字”可通过等价类的方法确定输入项,在根据每个字段的输入个数,寻找合适的正交表编写测试用例,相关正交表可查看:http://support.sas.com/techsup/technote/ts723_Designs.txt
以上就是学分高考的小编对软件测试正交测试法以及软件测试正交测试法的详细介绍与分解,相信大家看完之后都已经对这方面有了更详细的认识与了解。(本文共6363字)