正交表

article/2025/8/14 9:25:47

一、正交排列法概述

       正交排列法能够使用最小的测试过程集合获得最大的测试覆盖率。当可能的输入数据或者输入数据的组合数量很大时,由于不可能为每个输入组合都创建测试用例,可以采用这种方法。

案例:字符属性设置程序

在一个窗体中有多个输入框(字体、字符样式、颜色、字号),每个输入框有多个取值:

  • 字体:仿宋、楷体、华为彩云
  • 字符样式:粗体、斜体、下划线
  • 颜色:红色、绿色、蓝色
  • 字号:20号、29号、38号

所以,测试时考虑输入框的组合情况有81种,这样设计测试用例麻烦,因此采用正交排列法的形式,采用最少的测试用例集合获得最大的测试覆盖率更为合理。

二、正交排列表重要概念

正交试验设计:是研究多因素多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是一种基于正交表的、高效率、快速、经济的试验设计方法。

三、正交表的概念 

正交表是一种特制的表格,一般用Ln(m^k)表示

  • L代表是正交表,n代表试验次数或正交表的行数,
  • k代表最多可安排影响指标因素的个数或正交表的列数,简称变量,
  • m表示每个因素包含的取值个数(各因素的水平数,即各因素的状态数)
  • 且有n=k*(m-1)+1 即行数=变量*(变量取值-1)+1
  • 正交表的表示形式: L行数(变量取值^变量)
     

 例如:

  • 有4个控件
  • 每个控件有3个取值
  • 9为需要测试的组合个数
  • 可以叫4因素3水平

正交排列表格式如下: 

查找正交表:http://support.sas.com/techsup/technote/ts723_Designs.txt

                      https://wenku.baidu.com/view/dbdfbc0bba1aa8114431d917.html

四、正交排列法的使用步骤:

1、根据所测程序中控件的个数(因素)以及每个控件的取值个数(水平),选取一个合格的正交排列表;

2、把控件及其取值列举出来,并对其进行编号;

3、把控件及其取值映射到正交排列表中

  • 把正交排列表中的ABCD(因子)分别替换成4个控件
  • 把每列中的1、2、3(状态)分别换成这个控件的3个取值(水平),排列顺序要按照表中给出的顺序

4、根据映射好的正交排列表编写测试用例

案例1:字符属性设置程序

步骤一、根据所测程序中控件的个数(因素)以及每个控件的取值个数(水平),选取一个合格的正交排列表

  • 4个控件(因素):字体、字符样式、颜色、字号
  • 每个控件有3个取值(水平)
  • 选取正交排列表

 步骤二、把控件及其取值列举出来,并对其进行编号

步骤三、把控件及其取值映射到正交排列表中,测试用例如下

 注意:这是进行测试的最少组合数量,但是,在测试中有72中(81-9)组合没有测试到。当然,如果时间允许,应该再补充一些用例。因为遗漏的组合越多,存在缺陷的可能性越大。

 

案例2:114系统查询企业单位

 

 每个输入框有:填、不填两个选项,也就是需要测试用例数:2^5=32

步骤一、常用正交表中有L4(2^3)和L8(2^7)可选,这里选择多的:L8(2^7)

 

步骤二、 把控件及其取值列举出来,并对其进行编号

步骤三、 把控件及其取值映射到正交排列表中,测试用例如下


http://chatgpt.dhexx.cn/article/4SWy2N2C.shtml

相关文章

如何将数据库中表转化到redis中

如何将数据库中表转化到redis中 方法一:使用string 数据库中user表一条记录: id username pwd 3 lili 123 使用:文件夹的方式 set user1:3:id 3; set user1:3:username lili; set user1:3:pwd 123; 存入后在redis中显示 文件夹 user1 key…

MySQL 数据库中表数据莫名其妙没了的情况

我遇到过数据库中表数据没了的情况。 一开始还以为是遇见了bug。 其实是我自己的锅,忘记commit了。 我们来看一下案发现场。 DELIMITER $$ CREATE PROCEDURE insert_dept(IN START INT(10),IN max_num INT(10)) BEGIN SET autocommit 0; # xxxxxxxxxxxxxx…

数据库中表的加减法

通过集合运算可以得到记录的集合或者公共记录的集合。 一:加法:union 1、表的加法:union,并集,但是会去重,就是去重重复的记录。 select * from A union select * from B. 2、union集合运算要求有相同的列&#xff0c…

数据库中表和表自己本身关联

在查询数据的时候,我们经常通过与多张表的关联来取得我们想要的数据。 有一天我看到这样一个问题。 刚开始想了好久,工作中大多用到的是一张表和其他的表进行关联查询出来自己想要的数据。 想着用函数,有循环来实现,试了很多次都…

MYSQL数据库中表的进阶玩法——表分区

🔎这里是MYSQL加油站 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 什么是表分区? mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面&#xff…

mysql中表怎么建立联系_数据库(三) 表与表建立联系-外键

1.理解表与表之间建立关系的必要性 比如我们建立了一张个人信息表,把所有人的信息都存在这张表中 这张表中有老师和他们所属的部门,并且不同的部门工作也是不同的 所有数据存放在一张表中的弊端 1.组织结构不清晰 2.浪费存储空间 3.扩展性差 针对这个问题我们可以将他们分成两张…

使用Visio 2010 画数据库中表与表的关系

1.在visio中新建数据库模型图 打开visio 2010,文件—>新建—>数据库—>数据库模型图。建立数据库模型图之后,菜单栏多出一个菜单项"数据库"。 看下图菜单栏多出了一个数据库项 2.依次画数据库建立的每张表、视图等 进入了画图状态&#xff0c…

DBGridEh的表中表设置

DBGridEh的表中表设置步骤 在进行数据呈现时,表中表的显示方式也是一种常用的主从表显示类型,DBGridEh控件在这方面的表现是相当优秀的,它不需要任何代码就可以实现该功能。 首先比较重要的是打开主表格控件(DBGridEh)的RowDetailPanel属性…

Hive 分桶表及作用

Hive 分桶表 一.概述分桶和分区的区别 ?如何创建分桶表 ?分桶表的作用 ? 二. 补充:通用的 join 优化(1)空key过滤(2)空key转换 三. 分桶表的作用2.1 数据的采样2.2 提升查询效率&…

服!造成程序员脱发的两大原因竟然是……

-“不管怎么样,这个项目一定要在这个ddl前完成。” 作为程序员,我们特别痛恨PM根据主观判断就随便订ddl!!有时候,因为一个小小的问题我们要回头检查好久,因此也特别容易不小心错过ddl。 -“Andy&#xff…

作为程序员你脱发吗?

每天熬夜加班,忙着敲代码,现在的你还有多少头发? 不管是80后还是90后,甚至是00后(热搜:98年的小伙子去植发),脱发好像是不可避免的事情,更何况是程序员? 记得…

Python程序员别秃了,护发防脱发小妙招,收藏吧

每个健康人大约有10万根左右的头发,每天可有70—100根脱落,同时也有等量头发再生,头发摸起来手感柔滑,一根一根的,结实牢固,易于梳理。 可是在生活中,有些人却经常出现这样的问题:头…

为程序员爆肝整理的防治脱发大集锦

防治脱发“感觉有用”系列 食疗 多吃蛋白质,鸡蛋清、瘦肉、牛奶和豆腐等高蛋白食物都是头发的最爱。此外,每周最好吃3次亚麻籽油,每次1茶匙,其中的植物雌激素可防脱发。缺铁也会导致大量脱发,建议多吃绿色和黄色的蔬…

绝密|程序员与脱发的故事

欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。 问题描述 现当今,脱发正成为办公室工作者的一个大烦恼,而在这批为脱发而担心…

《程序员脱发自救指南》笔记--头发基础知识

本博文源于《脱发自救指南》,如果接受审核,希望审核通过,毕竟这都是要面对的话题。脱发竟然发生在身边,我同学脱了。为了给予他更好的头发知识,我更新了此篇博文,收藏即可。 文章目录 1.头发的构造2、位于…

程序员脱发?看看各个创始人的发量?

前言 作为一个小白,在学习之前,我非常的明确,自己要学什么编程语言。   在这里我还是要说一下,我提供一个我的学习交流群,456926667,里面可以解决你们遇到的很多问题,共同学习进步 怎么判断某门编程语言掉不掉发? 说起掉发,在前言中讲过,程序员很多掉发原因都是…

1024全方位防脱发攻略?做发量和代码最刚的程序员

秋收冬藏,又到了年底冲刺撸代码的时节。 程序员宝宝天天和产品经理撕逼 半夜又和bug生死相依 某天,你选择了红色药丸,从Matrix中觉醒 突然发现: “我的头发呢!? 是不是有人在代码里面下了毒!&#x…

为什么程序员大多数都会脱发?( ConcurrentHashMap 并发)

为什么程序员大多数都会脱发? 其实这是一种误解,来看看现状数据说话,真实情况是这样的。 据脉脉统计出来的《程序员真相大调研2019》中,71.2%的程序员是不脱发的,仅有28.8%的程序员存在秃头情况。 为什么很多人印象中程…

程序员常秃顶?Python创始人笑了,防脱发还得学这门语言,不然干脆转行得了

程序员爱脱发,是不争的事实,经常面对电脑,工作压力大,都会导致脱发的产生。正所谓“聪明绝顶”,越厉害的程序员,谢顶的可能性就越大。那么,我们看看世界上顶级的程序员们,看看是否能…

为什么学计算机容易秃顶,为什么程序员更容易脱发?知道答案惊呆了!

在过去几年程序员是一个很抢手的行业,很多人都希望自己能够成为一名程序员,但最近几年程序员的工作岗位竞争压力却越来越小,有人指出这是因为程序员非常容易脱发,而且死得相对较早。为什么程序员更容易脱发呢? 长期面对…