正交试验法及其示例

正交试验法是一种有效的测试用例设计方法,通过选取因子和状态来减少测试用例的数量。它涉及到因子(影响因素)、状态(因子的取值)和正交表的选择。在功能测试、配置测试等场景中,正交试验法可以帮助构建覆盖多种组合的最小测试集。例如,对于一个web系统,考虑浏览器、插件、服务器和操作系统作为因子,选择合适的正交表来构建测试用例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正交试验法及其示例

  • 正交实验法是一种测试组合的方法。把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。  利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素(输入??),把他们当作因子;而把各个因子的取值当作状态。
  • 正交表的构成
  •           行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。
              因素数(Factors) :正交表中列的个数,即我们要测试的功能点。
              水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数水平数-1”或从1水平数。即要测试功能点的输入条件。
  •         正交表的形式: 
              
  •                              L行数(水平数因素数)
  •           
  •        
  •         如:L8(27)

  • 与判定表法的区别是:判定表法是人工对全排列进行组合,正交试验法是借助数学工具从全排列组合中选出组合组成正交表,测试的时候查看正交表编写测试用例。下图是四因子三状态的正交表:

  • 正交试验法是用最少的测试用例覆盖两两组合,根据经验来看,如何两两组合没有问题,三三组合、四四组合等出问题的可能性也不大
  • 正交试验法怎么用:
    • 构造因子——状态表

    • 加权筛选,构造因素分析表
      • 根据各个因子和状态的权值,删除权值较小的因子和状态,缩减测试用例集合到允许范围(压缩测试用例)
    • 根据正交表构造测试集合。
      • 如果各个因子的状态数不统一,先用逻辑值组合(真和假)各因子的状态。
      • 查找最接近的对应阶数的正交表
      • 从根节点到叶子节点逐步替换,然后得到最终的正交表
      • 正交表的选取原则
        • 若有M个因子,每个因子都有N个状态,则选取M因子N状态的正交表。若该正交表不存在则增加因子数
        • 若各个因子的状态数目不同,则选择出现次数最多的状态数。比如有四个因子,第一个因子有两个状态。第二个和第三个因子都有三个状态,第四个因子有四个状态。三个状态出现了两次,出现次数最多,则状态数为三。如果第四个因子也有两个状态,即两个状态和三个状态都出现了两次,则选择最大的那个状态数,即状态数是三。
      • 正交表的使用:
        • 因子的状态数等于正交表的状态数,直接替换
        • 因子的状态数大于正交表的状态数,将多余的状态合并(如两个合并成一个中间状态),带入正交表,然后再替换(中间状态替换成对应的两个状态)
        • 因子的状态数小于正交表的状态数,正交表中多出来的状态用实际状态的任意值替换掉。
    • 根据正交表的每一行编写测试用例
  • 可以使用正交试验法的情形
    • 单个功能测试:输入是因子,输出是状态
    • 功能组合测试:功能是因子,是否包含功能是状态
    • 配置测试:配置项是因子,每个配置项的值是状态
  • 注:正交试验法是数学推导出来的,有的组合可能并没有实际意义,有的实际情况可能并没有包含,可根据实际情况删补测试用例。
  • 示例(web系统)
    • 包含大量的服务器、操作系统、浏览器插件
      • Web浏览器:Netscape6.2IE6.0Opera4.0
      • 插件:无、RealPlayerMediaPlayer
      • 服务器:IISApacheNetscape Enterprise
      • 操作系统:Windows2000Windows NTLinux
    • 因子
      • Web浏览器
      • 插件
      • 服务器
      • 操作系统
    • 各因子的状态
      • Web浏览器:1Netscape6.22IE6.03Opera4.0
      • 插件:1:无、2RealPlayer3MediaPlayer
      • 服务器:1IIS2Apache3Netscape Enterprise
      • 操作系统:1Windows20002Windows NT3Linux
    • 选择四因子三状态的正交表
    • 带入可得

练习:

案例1:某银行交易系统的卡号查询功能界面如图所示:

分析因子与水平:取值只有输入或不输入,5因子2水平

查正交表(取7因子2水平,要取最接近且结果大于所需数量)

替换因子与水平

正交实验法设计测试用例的步骤:
  分析需求,获取因子和水平;
  根据因子和水平查正交表;
  替换正交表中的因子与水平;
  根据正交表获取测试用例。

<think>好的,用户想了解正交试验在水平数不同的情况下的应用示例。首先,我需要回顾正交试验的基本概念,确保自己理解正确。根据引用[1],正交试验是用来设计测试用例的组合方,涉及因子、状态(水平)和正交表的结构。当水平数不同时,传统的等水平正交表可能不适用,这时候需要使用混合水平正交表,比如L12(3^1×2^4)这样的格式。 接下来,用户需要的是具体示例。我需要构造一个实际的测试场景,比如一个系统登录功能,包含不同因子和不同水平数的情况。例如,操作系统可能有3个水平(Windows、MacOS、Linux),浏览器有2个水平(Chrome、Firefox),分辨率有4个水平,网络环境有2个水平。这时候,因子数和水平数都不相同,符合用户的需求。 然后,根据引用[4]提到的正交表公式,混合水平正交表的选择是关键。我需要找到合适的正交表,例如L16(4^3×2^6)可能适用,但实际应用中可能需要调整。然后列出部分测试用例,展示如何覆盖不同组合,确保每个因子的每个水平与其他因子的各个水平至少组合一次。 同时,用户可能还想知道如何处理水平数不同的情况,是否需要特殊工具或方。根据引用[3],可以使用PICT工具生成测试用例,这里需要提到工具的使用,并给出示例命令和输出,增强实用性。 最后,总结正交试验在水平数不同时的优势,比如减少用例数量,提高覆盖率,并引用相关文献支持。确保回答结构清晰,步骤明确,示例具体,符合用户的需求。还要检查是否符合系统级指令,如使用正确的中文,数学格式,引用标识等。</think>### 正交试验在水平数不同时的应用示例 正交试验中,当各因子的水平数不同时,需要使用**混合水平正交表**(如$L_{12}(3^1 \times 2^4)$),其中不同因子可对应不同水平数。以下通过一个实际案例说明其应用。 --- #### **示例场景:系统登录功能测试** 假设需测试一个登录功能,涉及以下因子和水平数(输入条件不同水平数): 1. **操作系统**(3水平):Windows、MacOS、Linux 2. **浏览器**(2水平):Chrome、Firefox 3. **分辨率**(4水平):1920×1080、1366×768、1440×900、800×600 4. **网络环境**(2水平):WiFi、4G --- #### **步骤说明** 1. **选择正交表** 根据因子数和水平数,选择混合水平正交表$L_{16}(4^3 \times 2^6)$[^4],可覆盖4因子(其中1个因子4水平,3个因子2水平)。本例需调整适配,最终选择扩展后的$L_{16}(4^1 \times 3^1 \times 2^4)$[^5]。 2. **生成测试用例** 通过正交表生成部分测试组合(简化示例): | 测试用例 | 操作系统 | 浏览器 | 分辨率 | 网络环境 | |---------|----------|--------|-------------|----------| | 1 | Windows | Chrome | 1920×1080 | WiFi | | 2 | Windows | Firefox| 1366×768 | 4G | | 3 | MacOS | Chrome | 1440×900 | 4G | | 4 | MacOS | Firefox| 800×600 | WiFi | | 5 | Linux | Chrome | 1366×768 | WiFi | | ... | ... | ... | ... | ... | **特点**:每个因子的不同水平与其他因子的水平至少组合一次,覆盖关键交互场景[^2]。 3. **优化用例数量** 全排列组合数:$3 \times 2 \times 4 \times 2 = 48$,正交仅需16组用例,覆盖所有因子间成对组合[^3]。 --- #### **水平数不同的处理技巧** - **虚拟水平**:将水平数较少的因子通过重复值补齐。例如,将“浏览器”的2水平扩展为4水平(Chrome、Firefox、Chrome、Firefox)以匹配分辨率的4水平[^1]。 - **工具辅助**:使用PICT工具自动生成混合水平测试用例,命令示例: ```shell echo "操作系统: Windows, MacOS, Linux 浏览器: Chrome, Firefox 分辨率: 1920, 1366, 1440, 800 网络环境: WiFi, 4G" > input.txt pict input.txt ``` --- #### **优势与适用性** - **减少测试量**:通过数学工具筛选代表性组合,避免全排列冗余。 - **覆盖关键缺陷**:80%的缺陷通常由20%的因子组合触发,正交可高效捕捉此类问题。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rm group

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值