正交试验法及其示例

article/2025/9/16 8:24:50

正交试验法及其示例

  • 正交实验法是一种测试组合的方法。把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。  利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素(输入??),把他们当作因子;而把各个因子的取值当作状态。
  • 正交表的构成
  •           行数(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水平,要取最接近且结果大于所需数量)

替换因子与水平

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


http://chatgpt.dhexx.cn/article/Jnh65PZ0.shtml

相关文章

JavaWeb期末大作业 Javaweb项目 Javaweb Servlet html

1.前端效果展示 1.进入之后是一个分页查询所有数据的内容 该页面有基础的增删改查 还有分页查询 批量删除 进行条件查询 有什么不对的地方欢迎提出 谢谢 2.增删改查 1.添加 添加成功 2.删除 将刚才添加的OPPO删除 3.修改 4.查询的话就是主页查询所有 页面所用的是分…

初识javaweb

javaweb,顾名思义,分为java和web,而web又包括前端和数据库 1.基本概念 1.1前言 web开发: -----web,网页的意思,表示我们可以从互联网上拿到一定的资源。 例如打开网址www.baidu.com所链接的页面是一个web页面,如下…

JavaWeb期末题库

JavaWeb期末题库 提示:如果您需要更多题库和编程知识,请微信搜索:口袋Code,获取更多得题库,包含C,C,C#,java,python,javaweb,Go语言,…

JavaWeb概述

目录 1.JavaWeb概念 2.常用软件体系结构 3.为什么学习JavaWeb技术? 4.web 应用程序的工作原理 5.web应用程序的资源分类 6.web 服务器软件 7.思维导图总结 本人对JavaWeb的理解 从百科全说中了解到是用Java技术来解决相关web互联网领域的技术栈。 可以先了解…

JavaWeb:JavaWeb技术架构演进

Java Web,是用 Java 技术来解决相关web互联网领域的技术栈。web 包括:web 服务端和 web 客户端两部分。Java 在客户端的应用有 Java Applet,不过使用得很少,Java 在服务器端的应用非常的丰富,比如 Servlet,…

什么是JAVAweb?

文章目录 JAVAweb一、基本概念1、web开发:2、web应用程序3、静态web4、动态web JAVAweb 一、基本概念 1、web开发: web:网页的意思,它用于表示Internet主机上供外界访问的资源,例如:www.jd.com; 静态web …

Eclipse 创建JavaWeb工程

Eclipse 创建JavaWeb工程 配置环境: ​ Eclipse:Version: 2022-06 ​ tomcat:9.0.65 创建Web工程流程 1.先在Eclipse上配置tomcat,打开Eclipse,选择菜单栏上的Window–>Preferences–>在下拉菜单中找到Serv…

什么是javaWeb

什么是JavaWeb 简单理解: javaWeb是指,我们通过java语言编写的所有程序,这些程序是得可以通过浏览器来访问的。 web不就是网的意思嘛,所以javaweb可以简单理解就是我通过发送请求的方式来访问我编写的Java程序。 浏览器如何访…

JavaWeb详解

JavaWeb动态Web资源开发 静态Web: 用户看到的数据始终不变;动态Web:各人看到的信息不同动态Web:1.页面动态展示,淘宝"千人千面";2.和数据库交互 Web应用程序:给浏览器访问的程序 静态Web动态Web 浏览器访问网络资源流程图 客户端通过网络协议(如Http),请求进入服…

JavaWeb是什么?简单的理解!

终于考试周结束了 紧接着的就是一顿迷茫,我学的啥?我自己怎么不知道??? 好吧,这里整理一份JavaWeb的笔记吧! 不知道大家怎么想的,对于不同的人会有不一样的理解,在这里我想总结一下我的个人看法: 很多高手都会告诉你JavaWeb是一个技术的总和,或者说是一种技术体系,都是…

一、什么是JavaWeb?

1、基本概念 1.1、什么是JavaWeb? Java Web是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。Java在客户端的应用有Java Applet,不过使用得很少,Java在服务器端的应用非常的丰富,…

JavaWeb是什么?总结一下JavaWeb的体系

JavaWeb是什么?通过最近在尚硅谷上学习,分享一下 Java WEB前言JavaWeb的技术体系登录页面的开发涉及的技术知识点HTML是什么? 登录功能实现-环境的搭建涉及的技术知识点Web服务器Tomcat服务器的安装及配置在eclipse中配置tomcat创建动态的web工程 登录功…

JavaWeb是什么?如何学习JavaWeb的体系

java语言是当前最流行的开发语言之一。它的风格十分接近C语言,是一个纯粹的面向对象的程序设计语言。Java继承了C语言面向对象技术的核心,舍弃了C语言中复杂和一些容易出错的特性,并在内存管理方面得到了增强。 web是指Internet 的图形、多媒…

javaweb基本概念

文章目录 什么是javawebweb资源的分类常用的web服务器 什么是javaweb 什么是javaweb Javaweb是指,所有通过java语言编写的可以通过浏览器访问的程序的总称,叫javaweb。 javaweb是基于请求和响应来开发的。 什么是请求 请求是指客户端给服务器发送数据&a…

“在禁用 UAC 时,无法激活此应用”问题解决

微信推送消息的脚本运行时报这个错误 打开cmd窗口,输入以下命令: 如图所示位置找到EnableLUA,双击 重启!!!

彻底关闭Windows操作系统的UAC功能

前言 新装的Windows操作系统默认开启了UAC(User Account Control,用户账户控制),每当用户、程序对计算机进行修改时,都会弹出繁琐的提示框。即使通过控制面板进行UAC级别调整,也无法避免某些情况下依旧被弹…

Win11如何关闭UAC?

小伙伴们都知道UAC的功能通常是指用户账户控,该功能会在我们修改系统设置的时候弹出各种提示框,但有不少使用Win11系统的小伙伴想要关闭却不知道如何操作,下面就和小编一起来看看Win11是如何关闭UCA的吧。 Win11关闭UAC的方法 1、首先我点击底…

聚沙——关于禁用UAC的解决办法(Win8 System)

小伙伴们,有没有遇到过电脑打不开图片的尴尬情况呢~是不是觉得它很不好很不好呢 下面就让我们看看怎么解决这个小麻烦吧 WIN8打开图片或PDF时提示在禁用UAC时,此应用程序无法激活 解决办法: 1.键盘windows图标“X”,选择运行; 2.在…

”在禁用UAC时,无法激活此应用“问题

重装完系统后,打开图片、PDF书籍或是其他一些东西的时候,总是会出现“在禁用UAC时,无法激活此应用”的问题。 之前解决过一次,是在注册表里改了一个东西,但是就会失去管理员权限,这两个是冲突的&#xff0c…

win8 上如何真正禁用UAC

转自MSDNhttp://blogs.msdn.com/b/hyperyash/archive/2012/07/18/disabling-user-account-control-in-windows-8.aspx Disabling User Account Control (UAC) in Windows 8 With the new User Interface of Windows 8, accessing simple panels and doing easy tasks can be …