测试用例设计之正交表法和配对测试法

1737623253zhang 1737623253zhang     2022-12-09     136

关键词:

先给大家简单介绍两个重要的算法:“ OATS(Orthogonal Array Testing Strategy)”和“Pairwise/All-Pairs Testing”,简称“正交表法”和“配对测试法”。

正交表法

正交表法有两个重要的特性,大家尝试着理解一下:

1.每列中不同数字出现的次数相等

备注:这一特点表明每个因素的每个水平与其它因素的每个水平参与试验的几率是完全相同的,从而保证了在各个水平中最大限度地排除了其它因素水平的干扰,能有效地比较试验结果并找出最优的试验条件。

2.在任意两列其横向组成的数字对中,每种数字对出现的次数相等

备注:这个特点保证了试验点均匀地分散在因素与水平的完全组合之中,因此具有很强的代表性。

举个例子:有三个字段,每个字段可以取三个值,设字段表现为A(A1,A2,A3)、B(B1,B2,B3)、C(C1,C2,C3),可以组成的集合恰好可以表现为一个三维空间图,如下图所示:

技术图片
 

 

图中的正方体中每个字段的每个水平代表的是一个面,共九个面,任意两个字段的水平之间都存在交点,共27(3x3x3)个,这就是笛卡尔积。按照两大特性设计出的正交表如右图所示,试验点用⊙表示。我们看到,在9个平面中每个平面上都恰好有三个点而每个平面的每行每列都有一个点,而且只有一个点,总共九个点。这样的试验方案,试验点的分布很均匀,试验次数也不多。
国外有一个网站能查询正交表的结果案例:http://www.york.ac.uk/depts/maths/tables/orthogonal.htm

技术图片
 

 

配对测试法

配对测试法(Pairwise)是L. L. Thurstone( 1887 – 1955)在1927年首先提出来的。他是美国的一位心理统计学家。Pairwise是基于数学统计和对传统的正交分析法进行优化后得到的产物。

定义:Most field faults were caused by either incorrect single values or by an interaction of pairs of values." If that‘s generally correct, we ought to focus our testing on the risk of single-mode and double-mode faults. We can get excellent coverage by choosing tests such that 1) each state of each variable is tested, and 2) each variable in each of its states is tested in a pair with every other variable in each of its states. This is called pairwise testing or all-pairs testing.

大概意思是:缺陷往往是由一个参数或两个参数的组合所导致的,那么我们选择比较好的测试组合的原则就是:
1)每个因子的水平值都能被测试到;
2)任意两个因子的各个水平值组合都能被测试到,这就叫配对测试法。
参看:http://www.developsense.com/pairwiseTesting.html

Pairwise基于如下2个假设:

  1. 每一个维度都是正交的,即每一个维度互相都没有交集。
  2. 根据数学统计分析,73%的缺陷(单因子是35%,双因子是38%)是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。

因此,基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的。国外也有一份类似的数学统计:

技术图片
 

 

我们通过一个订飞机票的实际例子来看一下,配对测试法是怎样从笛卡尔积中提炼出局部最优解的。
依然是三个字段的组合,分别是Destination(Canada, Mexico, USA),Class(Coach, Business Class, First Class), Seat Preference(Aisle, Window),所对应的笛卡尔积共有3x3x2=18中测试组合,如下表所示。

技术图片
 

 

经过配对测试法筛选后,结果如下:

技术图片
 

 

经过筛选以后,我们的测试用例变成了9条,case数量精简了50%。简单总结pairwise的筛选原理就是,发现两两配对在全集中有重复的就去掉其中之一,这样筛选也有副作用,每次筛选完了条数是固定的,但是结果却不尽相同。但是通过上面的介绍我们不难比较出两种算法的差异。

测试用例设计之正交表法详解

正交实验法的由来拉丁方名称的由来古希腊是一个多民族的国家,国王在检阅臣民时要求每个方队中每行有一个民族代表,每列也要有一个民族的代表。数学家在设计方阵时,以每一个拉丁字母表示一个民族,所以设计的方阵称... 查看详情

自动化测试之-测试用例设计方法总结

黑盒、白盒、接口测试一系列用例设计方法。黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(一)等价类划分法定义:等价类划分... 查看详情

判定表法测试用例设计

判定表也称我决策表,能表示输入条件的组合,以及与每一输入组合对应的动作组合。与因果图法相似判定表法主要侧重输入条件之间的逻辑关系。1.判定表主要包含以下五部分:条件桩:列出所有可能的条件条件项:列出所有... 查看详情

测试用例的几种常见设计方法

测试用例常见的设计方法有:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。一.等价类划分法顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出... 查看详情

测试用例场景法和缺陷报告

测试用例设计方法(三)-场景法😎定义:通过模拟业务场景来对系统的功能点或业务流程的描述,从而提高测试效果的黑盒测试方法2ATM引入场景法:两个流7.4.1基本流概念正确完成的流程7.4.2备选流概念... 查看详情

黑盒测试用例设计-正交试验方法

...nbsp;第4节结尾提到,因果关系非常庞大,导致由此得到的测试用例数目多大。因而引入正交试验法,从大量的试验数据中挑选适量的、有代表性的点安排测试,来有效地、合理地减少测试的工时。(1)  正交试验设计法 ... 查看详情

黑盒测试设计--正交实验法

一.方法简介  利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来... 查看详情

常用测试用例设计方法之判定表法详解(代码片段)

...f1b;2、电影票7折;3、电影票5.6折;4、女生免票。测试用例举例1、非情侣非周三下午不刷华夏信息用卡,进行购票测试;2、情侣非周三下午不刷华夏信用卡,进行购票测试。适用范围1、多个复选框,同时... 查看详情

黑盒测试-正交试验法

正交试验法使用前提利用因果图来设计测试用例时,作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到旺旺因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试... 查看详情

黑盒测试方法

文章目录一、等价类划分法1.划分等价类2.设计测试用例二、边界值分析法三、因果图与决策表法3.1因果图设计法3.2决策表四.正交实验设计法1、应用场景2、什么是正交实验法3、设计步骤:3.1提取功能说明,构造因子--状态表3.2加... 查看详情

正交试验法

正交试验法介绍:>>测试人员希望测试充分(即测试用例代表性强),又要求用例数量不可过大,究竟该如何设计测试用例则显得尤为关键。>>正交试验法即使用事先已创建好的表格——正交表,来安排试验并进行数据... 查看详情

刚面完的字节跳动python软件测试用例编写(含思路)

参考技术A软件测试编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。在这里我们不讨论... 查看详情

正交表法测试工具-allpairs

参看:https://blog.csdn.net/q13554515812/article/details/878765521、将工具下载后解压,比如解压到E:pairs,然后在解压目录中创建一个excel文件,写上各种因素以及可能的值 2、然后将这些值复制到text1.txt文件中,并另存为ANSI格式 3、... 查看详情

测试用例设计方法

 黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景图法等。(一)等价类划分法定义:等价类划分法是把所有可能输入的数据,即程序的输... 查看详情

软件测试用例设计之等价类划分法

测试用例:测什么、怎么测  指导测试工作进行的依据软件测试用例设计之等价类划分法一、定义用户所有可能输入的数据划分为若干份(也称为子集),然后从每个子集中选取少数具有代表性的数据作为测试用例。这些... 查看详情

测试用例(正交排列法)

...——如何使用最少、最优化的数据组合达到最大的测试覆盖。二、和因果图法的区别:  因果图:适用于控件组合较少的(20种以下),要比较全面的考虑所有情况(或主要情况)。  正交排列法:适用于控件组合数... 查看详情

软件测试用例设计“八法归一”——因果阵

[本文出自天外归云的博客园]八法测试用例设计有八法:1.等价类划分法2.边界值分析法3.错误推测法4.因果图法5.路径覆盖法6.功能图法7.正交试验设计法8.场景设计法八法互有重叠,互有弥补。又没有完全正确的依赖顺序,比较合... 查看详情

黑盒测试用例设计二

...中的行的个数,即试验的次数,也是通过正交实验法设计的测试用例的个数。因素数:正交表中列的个数,即要测试的功能点。水平数:任何单个因素能够取得的值的最大个数,即要测试功能点的输入值。场景法场景法原理现在的软件几... 查看详情