黑盒测试过程中【测试方法】详解2-正交实验

news2025/2/21 4:18:18

在黑盒测试过程中,有9种常用的方法:
1.等价类划分

2.边界值分析

3.判定表法

4.正交实验法

5.流程图分析

6.因果图法

7.输入域覆盖法

8.输出域覆盖法

9.猜错法

前面我们已经讲解过了等价类划分、边界值、判定表。

可以参考我之前的文章:

黑盒测试过程中【测试方法】讲解1-等价类,边界值,判定表_朝一爱学习的博客-CSDN博客

4.正交实验法

正交实验法和判定表法都是生成一个表,根据表格来写测试用例。那么这两个表到底有什么却别呢?

前面讲了判定表就是把所有可能的情况一一列举出来,对于变量不多的情况,这个方法非常好,可以更全面地进行测试。但是当我们变量很多的时候,再去用判定表的话就会非常繁琐了。

此时,我们选择正交表。其实,正交表就是在判定表内用数学公式选择一些测试用例。

先上公式:

L:正交表代号

n:测试用例个数

p:变量的取值的个数(p1,p2同理)

q:变量个数(q1,q2同理)

其中,变量个数也叫因素数(正交表里比较专业的说法),变量取值的个数也叫因素的水平数。

正交表:Ln(p^q)        n=(p-1)q+1

混合正交表:\large Ln(p1^q^1)(p2^q^2)        n=(p1-1)q1+(p2-1)q2+1

正交实验法设计测试用例步骤:

1.找到变量个数

2.找到各个变量取值个数

3.套公式,得到一个正交表

4.百度查常用正交表,选择合适正交表

列举几个常用正交表网页:

https://support.sas.com/techsup/technote/ts723_Designs.txt

正交试验——常用正交表 - 百度文库

实例1(正交表):

“性别”=“男,女”

“班级”=“1班,2班”

“成绩”=“及格,不及格”

如果是全部测试的话,需要设计8个测试用例

如果是采用正交表的话,只需要设计4个测试用例

1.找变量个数-3个:性别,班级,成绩,q=3

2.各个变量取值个数:2,p=2

3.套公式:n=(p-1)q+1=(2-1)*3+1=4得到正交表 \large L4(2^3) 

4.查常用正交表,刚好有\large L4(2^3)

 

 直接套用这个正交表得到测试用例:

性别班级成绩
11及格
22不及格
31不及格
42及格

特别地:如果得到一个正交表公式之后,在常用正交表里不存在的话,那就选测试用例更多的。

比如:\large L7(3^3)

我们选择\large L9(3^4)

实例2(混合正交表):

“性别”=“男,女”

“班级”=“1班,2班,3班”

“成绩”=“及格,不及格”

1.找变量个数-3个:性别,班级,成绩

2.各个变量取值个数:2,3,2,p1=2,p2=3

        从变量和取值个数可以看出:取值为2的有2个变量,取值为3的有1个变量

        所以我们的q1=2,p1=2,q2=1,p2=3

3.套公式:n=(p1-1)q1+(p2-1)q2+1=(2-1)=(2-1)*2+(3-1)*1+1=5

                \large L5=(2^2*3^1)

发现常用正交表中没有这个正交表。我们的规则是:p>max(p1,p2),N>n,选择满足条件内n小的

也就是我们本例选的p>max(2,3)------p>3,n>5

我们也可以使用正交表生成器:allpairs

1.新建表格,把我们的变量和取值输进去

 2.新建txt文件,把表格里的内容复制到txt文件里

3.打开dos命令窗口,进入allpairs.exe目录,输入命令

allpairs.exe test.txt>case.txt

 

就能看到生成了case.txt,里面就是生成的测试用例啦~

 

未完待续~


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/459734.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s部署Pyroscope并分析golang性能瓶颈

Pyroscope是什么 Pyroscope是一种开源的应用程序性能分析工具,它可以帮助我们发现和解决应用中的性能问题。Pyroscope支持多种编程语言并提供了丰富的性能数据,可以帮助我们跟踪应用程序的执行情况,并根据收集到的数据来识别性能瓶颈。 Pyros…

什么是VBST和PVST?两者有啥区别?

在计算机网络中,VLAN(Virtual Local Area Network,虚拟局域网)是一种将局域网划分为多个逻辑上独立的子网的技术,它可以帮助网络管理员更好地管理网络资源。 在VLAN技术中,STP(Spanning Tree P…

Git 如何修改历史的 Commit message

目录 修改最近一条Commit 修改过去若干条 Commit 场景:当分批次多次提交时,突然发现提交的message不符合规范,想要修改,这时就可以使用了 修改最近一条Commit 如果只是想修最近一条 Commit, 直接使用命令: git commit --amen…

基于DistFlow方程求解给定的通用径向单相配电网络的配电功率流方程(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 本文介绍了基于DistFlow方程求解给定的通用径向单相配电网络的配电功率流方程及结果展示。 📚2 运行结果 主函数部…

JVM垃圾回收机制和常见算法

GC回收垃圾流程第一步是定位内存空间中没有引用到的对象,然后才能进行回收。那么GC是如何定位这些内存中没有用到的对象呢? 一、引用计数器算法(废弃) 引用计数器算法是给每一个对象设置一个计数器,当有地方引用这个对…

Linux入门操作

pwd 查看当前目录 与 自动补全 文件详情 drwxrwxr-x d代表文件夹 -代表文件 其中rwx rwx r-x r是可读 w是可写 x 执行 第一组(前三个)指文件拥有者的权限 第二组(中三个)代表文件拥有的组的权限 第三组(后三个&am…

5.2.1二叉树的定义和基本术语

二叉树的基本概念: 二叉树是递归定义的二叉树 下面我们来看几个特殊的二叉树: 特点: 1)只有最后一层有叶子节点 2)不存在度为1的结点 3)按层序从1开始编号,结点i的左孩子为2i,右孩…

three.js地图可视化项目-广州模型

概述 如有不明白的可以加QQ:2354528292;wx: aichitudousien 更多教学视频请访问:https://space.bilibili.com/236087412 详细教学请到上方视频链接访问,总共3个多小时的教学~ three.js地图可视化项目-广州模型 搭建开发环境 使用…

Tomcat的概念、部署、及优化

一、Tomcat概述 1、Tomcat的概念 Tomcat是Java语言开发的,服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说&am…

金陵科技学院五年一贯制专转本旅游学概论考试大纲

金陵科技学院五年一贯制专转本旅游学概论考试大纲 一、考核对象 本课程的考核对象为五年一贯制高职专转本“旅游管理”专业入学考试考生。 二、考核方式 本课程考核采用闭卷笔试的方式。 三、命题依据及原则 1、命题依据 参考书目:《旅游学概论》(第七版) 李…

【Git 入门教程】第一节、什么是Git?

在软件开发中,代码的管理和版本控制非常重要。为了更好地管理代码,需要使用一种有效的工具来保证代码的质量和稳定性。而Git正是这样一种工具。 一、概念 Git是一种分布式版本控制系统,它可以追踪文件的变化,并且可以协同工作。它…

SpringBoot——MyBatis-Plus源码分析及开发实践详解

focus w x:CodingTechWork 文章目录 focus w x:CodingTechWork 引言MyBatis-Plus 介绍概述特点常用注解TableNameTableIdIdType类型 TableField MyBatis-Plus 源码分析IService原生CURD接口savesaveorUpdateremoveupdategetlistpage Mapper原生CURD接口i…

抚仙湖,一个亦梦亦幻的地方,这个五一节,我们骑友′的诗和远方

云南省玉溪市抚仙湖是中国南方最大的深水型淡水湖泊之一,位于云南省中部,距离昆明市约80公里。抚仙湖的面积约为212平方公里,平均水深约为120米,最大水深可达157米。 抚仙湖最美的景点有很多,其中最著名的是以下几个&a…

2023年五月份图形化二级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

深度学习技巧应用9-模型训练中学习率的调整和假数据生成技巧与总结

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用9-模型训练中学习率的调整和假数据生成技巧与总结,我们在训练模型的时候,为了测试模型是否可以行,但是目前还没有标注好大量的数据,在缺乏数据的情况下,今天教大家如何生成假数据(测试数据)进行模型调试,并且教…

时间序列预测(一)基于Prophet的销售额预测

时间序列预测(一)基于Prophet的销售额预测 小O:小H,有没有什么方法能快速的预测下未来的销售额啊 小H:Facebook曾经开源了一款时间序列预测算法fbprophet,简单又快速~ 传统的时间序列算法很多&a…

mac电脑怎么录屏?2招轻松搞定!

案例:怎样对mac电脑进行屏幕录制? 【之前一直使用的是Windows电脑,对Windows电脑比较熟悉。最近换了一台苹果电脑,不知道使用它怎么进行电脑录屏。求一个好用的苹果电脑录屏方法!】 在我们的日常工作和生活中&#x…

c++ 对类与对象的基础框架+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏

绪论 上一章,我们将c入门的基础知识进行了学习,本章其实才算真正的跨入到c开始可能比较难,但只有我们唯有不断的前进,才能斩断荆棘越过人生的坎坷! 话不多说安全带系好,发车啦(建议电脑观看&…

【原创】用Matplotlib绘制的图表,真的是太惊艳了!!

当我们谈论Python中的数据可视化,Matplotlib是一个不可或缺的库。它强大的功能和灵活性使我们能够以各种方式轻松地呈现数据。然而,有时候,我们可能会忽视Matplotlib在创建视觉上令人惊叹的图像方面的潜力。在本文中,我们将探讨如…

C语言数据结构+KMP算法next数组优化计算方法+优化后子串匹配代码实现

KMP算法next数组优化版 一.计算根据下列模式串计算出next数组二.优化next数组三.用优化后next的数组代码实现子串的匹配总结 通过我之前那篇KMP算法的讲解,我们可以快速手算KMP算法的next数组,但是之前计算的next数组在一些情况下会有缺陷,比如模式串’aaaab’和主串’aaabaaaa…