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

article/2025/9/16 7:59:53

首先我们先看一下案例

案例: PPT打印功能

PowerPoint软件打印功能描述如下:

打印范围分:全部、当前幻灯片、 给定范围 共三种情况;

打印内容分:幻灯片、讲义、备注页、大纲视图 共四种方式;

打印颜色/灰度分: 颜色、灰度、黑白 共三种设置;

效果分:幻灯片加框和幻灯片不加框两种方式。

  需求分析:
    输入项
      打印范围
        3个
      打印内容
        4个
      颜色
        3个
      效果
        2个
  我们前面学习了三种方法:
    等价类法
    边界值法
    判定表法

      如果用判定表法, 首先要找条件桩
      条件桩必须是逻辑值, 只有真假
      所以这个功能也不适用于判定表


   那么就需要用到 正交试验法

正交试验设计法是研究与处理多因素实验的一种科学方法,是数理统计中的一个较大的分支。利用规格化的表格—正交表,科学地挑选试验条件,合理安排实验。主要优点是能在很多试验方案中挑选出代表性强的少数几个试验方案,并且通过这些试验方案的结果的分析,推断出最优方案,同时还可以作进一步的分析,得到比试验结果本身给出的还要多的有关各因素的信息。正交试验设计法最早由日本质量管理专家田口玄一提出,称为国际标准型正交试验法。他认为:“一个工程技术人员若不掌握正交试验设计法,只能算半个工程师”。工业企业特别是化工、纺织、医药、电子、机械行业,正交试验设计法的应用也取得相当的成就,中国数学家张里千教授发明了中国型正交试验设计法。

又想深入了解的可以去查询一下正交实验设计法,应用的场景非常之多

一、步骤

S1:从需求中提取因子(输入项)

例:ppt案例中的输入项有 打印范围、打印内容、打印颜色、效果

S2:根据需求明确每个因子有几种状态(参数的取值)

例如:打印范围里面的状态有全部、当前、自定义

S3:画因子状态图

打印范围打印内容打印颜色效果
全部幻灯片颜色加框
当前幻灯片讲义灰度不加框
给定范围备注页黑白
大纲视图

 S4:用符号代替文字,合并多余的因子,补全不足的因子;最后达成满足4因子三状态的因子状态表

4因子3状态的正交表(工作时需要几因子几状态可以在网上找到)

将文字代替成符号

ABCD
A1B1C1D1
A2B2C2D2
A3B3C3
B4

 合并多余的因子,补全不足的因子

ABCD
A1B1C1D1
A2B2C2D2
A3B34(合并)C3~D(补全)

满足3因子4状态

S5:把因子状态表,带入到正交实验法 

ABCD
1A1B1C1D1
2A1B2C2D2
3A1B34C3~D
4A2B1C2~D
5A2B2C3D1
6A2B34C1D2
7A3B1C3D2
8A3B2C1~D
9A3B34C2D1

带入到正交实验表

S6:如果一个单元格中存在有多个状态,那么需要拆分

例如:B34   另复制一行,其他单元格数值一样,将B34拆分成 B3、B4到两行单元格 B34中 分别输入  ~D分别替换成D1、D2

ABCD
1A1B1C1D1
2A1B2C2D2
3A1B3C3~D1
4A1B4C3~D2
5A2B1C2~D1
6A2B2C3D1
7A2B3C1D2
8A2B4C1D2
9A3B1C3D2
10A3B2C1~D2
11A3B3C2D1
12A3B4C2D1

S7:把正交试验法中的符号,替换成文字

打印范围打印内容打印颜色效果
1全部幻灯片颜色加框
2全部讲义灰度不加框
3全部备注页黑白~加框
4全部大纲视图黑白~不加框
5当前幻灯片幻灯片灰度~加框
6当前幻灯片讲义黑白加框
7当前幻灯片备注页颜色不加框
8当前幻灯片大纲视图颜色不加框
9给定范围幻灯片黑白不加框
10给定范围讲义颜色~不加框
11给定范围备注页灰度加框
12给定范围大纲视图灰度加框

S8:每一行都对应一条测试用例

二、意义

正交试验法, 是从全组合中,挑选出适量的, 有代表性的组合, 依据伽罗瓦理论导出的"正交表", 合理的安排试验的一种科学的试验设计方法

三、缺点

正交表中包含的组合不一定是用户常用的,或者用户常用的组合并未包含在正交表中。
 
  比如
    IE + Win10这种组合, 几乎没有用户使用
    win10默认的浏览器是Edge, 几乎没有人会把Edge卸载,安装IE
    win7 + Edge这种组合, 也很少有人使用
    Win7 + Safari这种组合, 也比较少见, 因为Safari是苹果电脑默认浏览器, 很少有人在win7上安装Safari使用
  比如
    win10 + 360浏览器 + 中国市场, 这种组合可能比较常见,但是正交表中可能未包含
  所以
    就需要在使用正交试验法的时候,注意选出来组合的实际意义, 删除无效的组合,补充漏掉的常见的组合。

四、适用范围
  每个因子是否有多种状态
    如果每个因子都只有两种状态
      适合用判定表法
    如果每个因子都有多种状态
      适合用正交试验法

  从代码角度考虑, 是否存在多分支路径的组合(了解)
    想想一下PPT打印的代码, 是否存在多分支, 多条件的情况
    打印范围如果选择全部, 代码要循环执行, 遍历每一张PPT
    如果选择当前页,打印部分的代码只需要执行一次
    如果内容选择注释, 那么只打印注释部分
    如果内容选择幻灯片, 那么就会只打印幻灯片
    打印注释的代码和打印幻灯片的代码肯定是不同的
    所以这里适合采用正交试验法
    只需要考虑, 不同的测试用例, 是否会执行不同的代码
      如果执行不同的代码,那么用正交试验法
      如果执行相同的代码,那么用等价类边界值法

    工作中如果不确定该功能是否存在大量的if语句,或者switch语句, 那么可以问开发

五、正交实验法和判定表法的区别

判定表的取值只能是逻辑的真假值

而正交试验法的因子状态是多个

1、正交实验法是两两组合,可以通过两两组合来减少和优化测试用例

2、而判定表法是逻辑取值的全组合

当输入项较多时,用判定法设计的测试用例的数量会几何倍数上升

例:如果一个功能有十个输入项,那么就是1024条测试用例了

所以输入项较多时,不适合判定表法


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

相关文章

软件测试之正交法

正交法 通过分析我们发现,对于图中的程序而言,我们要设计81条测试用例,那么有没有一种方法能够使用最小的测试过程集合获得最大的测试覆盖率呢? 1. 概述 1.1 定义 正交法,也叫正交实验法或者正交排列法, 就是使用最小的测试过程集合获得最大的测试覆盖率。 “正交实验”是…

正交试验法

正交实验法 正交试验设计法(Orthogonal experimental design),是从大量的试验点中挑选出适量的、有代表性的点,应用依据伽罗卡瓦理论导出的 "正交表",合理的安排试验的一种科学的试验设计方法 正交实验法 …

正交实验法

1.定义(What) 正交实验法是研究多因素、多水平组合的一种实验法,它是利用正交表来对实验进行设计,通过少数的实验替代全面实验,根据正交表的正交性从全面实验中挑选适量的、有代表性的点进行实验,这些有代…

正交试验法及其示例

正交试验法及其示例 正交实验法是一种测试组合的方法。把影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态。 利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素(输入??)…

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级别调整,也无法避免某些情况下依旧被弹…