当前位置: 首页 > news >正文

测试用例的设计(2)

目录

1.前言

2.正交排列(正交表)

 2.1什么是正交表

2.2正交表的例子

2.3正交表的两个重要性质

3.如何构造一个正交表

3.1下载工具

3.1构造前提

4.场景设计法

5.错误猜测法


1.前言

  我们在前面的文章里讲了测试用例的几种设计方法,分别是等价类发,把测试例子划分成不同的类型,在每个类型中选取一个.这样可以解决软件测试不能穷举的问题.还有边界值法.该方法可以完善等价类划分法,我们把测试用例中的范围划分成.上点(边界上的点),内点(边界内的点),还有离点(如果是开区间,就是边界内离得最近的一个点,如果是闭区间,就是边界外离得最近的一个点). 还有因果图,通过它来画判定表,把测试的条件都全面考虑到来细致的测.

  实际开发过程中,我们需要掌握的设计测试用例的方法远远不止这些.今天我们来讲述一下其它的划分测试用例的方法.

2.正交排列(正交表)

 前面我们介绍了判定表这种设计测试用例的思路,但是如果我们的因素如果很多的话,那么就很不好通过手动的去设计,我们可以借助工具来设计正交表.(后面会提到工具的安装和使用),

 2.1什么是正交表

最简单的正交表(L4(2 3) 其中L 表示正交表,L右下角的数字4 表示有四行,即要做四次实验,括号内的指数3代表了 列 ,即最多允许安排的因素是3个,括号内的2 代表了主要部分只有2种数字,即因素有两种水平1和2,正交表的特点是其安排的实验方式具有均衡搭配特性

2.2正交表的例子

我们先科普两个简单的点.即什么是因素 ,什么是水平. 因素通俗易懂的讲就是输入变量.而水平则是每一个输入变量的取值.比如我们有三个因素,则会有三个变量,水平有0和1  那么我们就可以先做出以下的表格

我们可以得到以下的正交表

这就是一个简单的正交表

2.3正交表的两个重要性质

1.每一列中的数字出现的次数一样多

2.任何两列中各有序树对出现的次数都一样对

我们随便观察一列,比如第一列,发现0和1都是只出现了2次,我们来看看第一列和第三列,发现 00和11都是出现了一次.

3.如何构造一个正交表

3.1下载工具

我们可以在这个链接AllPairs download | SourceForge.net 下载我们需要的工具,allpairs.

下载好以后,我会 举例子告诉大家怎么使用这个.

3.1构造前提

在构造一个正交表的时候,我们需要以下的步骤,  充分理解需求->确定因素->确定水平->画正交表->补充正交表->将正交表转化为测试用例

比如我们在注册一个用户信息的时候,需要以下因素: 姓名,邮箱,确定密码,验证码 必须全部输入,我们才能成功注册. 填写和不填写是两个水平,那么我们就可以根据以上的需求.画出我们的正交表.(在这里我们使用一个工具来画(allpairs)

首先我们把上述分析出来的需求和水平写到表格里.

把表格中的文字复制到txt文件中,并保存到 allpairs这个软件的目录中,

打开命令行 通过 d:和 cd 目录路径 找到 allpairs这个软件的路径

然后使用dir这个命令查看该文件下的所有目录

可以看到我们刚刚保存在这里面的txt文件还在.

然后使用命令 allpairs.exe Test.txt > Test.result.txt(表示把我们的正交表保存到这个新建的文件里)

然后按下enter 

这就构造出来一个正交表了.我们可以根据表里面的值来测试

4.场景设计法

    该方法是通过场景来设计出测试用例出来.比如我们有一个主线,然后这个主线的每一个环节都有可能会出现一系列问题,我们可以把这些问题给提前想出来.然后放到我们的测试用例中.

   比如我们去ATM机取款,我们可以用一个主线来表示.

可以分为取款的路上,插卡,读卡, 输入取款金额.拿到钱 这几步来完成,这是主线,

而其它出现的事件,则是可能会发生的事件,这就是场景假设.我们要充分理解需求,确认主事件流,还有次事件流,将这些事剑流来放到测试用例里面.

5.错误猜测法

错误猜测法是对软件测试的理解,过往经验和个人直觉,推测出软件可能出现的缺陷.从而针对性的设计测试用例的方法.

该方法强调的是对测试软件的需求理解以及设计细节的把握,还有个人经验和直觉.

错误推测法和当前主流的"探索式测试方法"基本思想一致.这类方法在敏捷开发模式下的投入产出比很高,被广泛运用于测试.

缺点是难以系统化.并且过度依赖个人能力.

相关文章:

测试用例的设计(2)

目录 1.前言 2.正交排列(正交表) 2.1什么是正交表 2.2正交表的例子 2.3正交表的两个重要性质 3.如何构造一个正交表 3.1下载工具 3.1构造前提 4.场景设计法 5.错误猜测法 1.前言 我们在前面的文章里讲了测试用例的几种设计方法,分别是等价类发,把测试例子划分成不同的类…...

HTML与CSS

前言 Java 程序员一提起前端知识,心情那是五味杂陈,百感交集。 说不学它吧,说不定进公司以后,就会被抓壮丁去时不时写点前端代码说学它吧,HTML、CSS、JavaScript 哪个不得下大功夫才能精通?学一点够不够用…...

App推广不再难!Xinstall神器助你快速获客,提升用户留存

在如今的移动互联网时代,App推广已经成为了各大应用商家争夺用户的重要手段。然而,面对竞争激烈的市场环境,如何快速提升推广效率,先人一步获得用户呢?这就需要我们借助专业的App全渠道统计服务商——Xinstall的力量。…...

MySQL建表以及excel内容导入

最近自学MySQL的使用,需要将整理好的excel数据导入数据库中,记录一下数据导入流程。 --建立数据库 create table SP_sjk ( --增加列 id NUMBER(20), mc VARCHAR2(300) ) /*表空间储存参数配置。一个数据库从逻辑上来说是由一个或多个表空间所组成&#…...

让el-input与其他组件能够显示在同一行

让el-input与其他组件能够显示在同一行 说明&#xff1a;由于el-input标签使用会默认占满一行&#xff0c;所以在某些需要多个展示一行的时候不适用&#xff0c;因此需要能够跟其他组件显示在同一行。 效果&#xff1a; 1、el-input标签内使用css属性inline 111<el-inp…...

学完Efficient c++ (44-45)

条款 44&#xff1a;将与参数无关的代码抽离模板 模板可以节省时间和避免代码重复&#xff0c;编译器会为填入的每个不同模板参数具现化出一份对应的代码&#xff0c;但长此以外&#xff0c;可能会造成代码膨胀&#xff08;code bloat&#xff09;&#xff0c;生成浮夸的二进制…...

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ColumnSplit)

将子组件纵向布局&#xff0c;并在每个子组件之间插入一根横向的分割线。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 ColumnSplit通过分割线限制子组件的高度。初始…...

jenkins部署go应用 基于docker-compose

丢弃旧的的构建 github 拉取代码 指定go的编译版本 安装插件 拉取代码是排除指定的配置文件 比如 conf/config.yaml 文件 填写配置文件内容 比如测试环境一些主机信息 等 可以配置里面 构建的时候选择此文件替换开发提交的配置文件。。。。 编写docker-compose 文件 docker…...

【晴问算法】入门篇—贪心算法—整数配对

题目描述 有两个正整数集合S、T&#xff0c;其中S中有n个正整数&#xff0c;T中有m个正整数。定义一次配对操作为&#xff1a;从两个集合中各取出一个数a和b&#xff0c;满足a∈S、b∈T、a≤b&#xff0c;配对的数不能再放回集合。问最多可以进行多少次这样的配对操作。 输入描…...

九种背包问题(C++)

0-1背包&#xff0c;背包大小target&#xff0c;占用容积vec[i][0]&#xff0c;可以带来的利益是vec[i][1] 一件物品只能取一次,先遍历物品然后遍历背包更新不同容积下最大的利益 int func(vector<vector<int>>&vec,int target){vector<int>dp(target1,…...

008:安装Docker

安装Docker 如果不太熟悉Linux命令&#xff0c;不想学习Linux命令&#xff0c;可以直接看文末NAS面板章节&#xff0c;通过面板&#xff0c;像使用Window一样操作NAS。 一、安装 Docker 1.安装 Docker wget -qO- https://get.docker.com/ | sh2.启动 Docker 服务 sudo sys…...

STM32第九节(中级篇):RCC(第一节)——时钟树讲解

目录 前言 STM32第九节&#xff08;中级篇&#xff09;&#xff1a;RCC——时钟树讲解 时钟树主系统时钟讲解 HSE时钟 HSI时钟 锁相环时钟 系统时钟 SW位控制 HCLK时钟 PCLKI时钟 PCLK2时钟 RTC时钟 MCO时钟输出 6.2.7时钟安全系统(CSS&#xff09; 小结 前言 从…...

Web核心,HTTP,tomcat,Servlet

1&#xff0c;JavaWeb技术栈 B/S架构:Browser/Server&#xff0c;浏览器/服务器架构模式&#xff0c;它的特点是&#xff0c;客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器&#xff0c;获取Web资源&#xff0c;服务器把Web资源…...

空间(Space)概念:元素、集合、空间和数学对象

摘要&#xff1a; 在数学中&#xff0c;一个空间&#xff08;Space&#xff09;是一种特殊类型的数学对象。它通常是一个集合&#xff0c;但不仅仅是一个普通的集合&#xff0c;而是具有某种附加的结构和定义在其上的运算规则。这些额外的结构使得空间能够反映现实世界中的几何…...

【Datawhale组队学习:Sora原理与技术实战】训练一个 sora 模型的准备工作,video caption 和算力评估

训练 Sora 模型 在 Sora 的技术报告中&#xff0c;Sora 使用视频压缩网络将各种大小的视频压缩为潜在空间中的时空 patches sequence&#xff0c;然后使用 Diffusion Transformer 进行去噪&#xff0c;最后解码生成视频。 Open-Sora 在下图中总结了 Sora 可能使用的训练流程。…...

Kafka-生产者报错javax.management.InstanceAlreadyExistsException

生产者发送消息到 kafka 中,然后控制台报错 然后根据日志查看 kafka 的源码发现了问题原因 说的是MBean已经注册了,然后报异常了,这样就会导致生产者的kafka注册失败, 原因是项目上生产者没有配置clientId,默认都是空导致的, 多个生产者(项目)注册到kafka集群中的 id 都相同。 …...

Java常见问题:编辑tomcat运行环境、部署若伊系统

文章目录 引言I Eclipse1.1 编辑tomcat运行环境II JDK2.1 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接2.2 restriction on required library2.3 The type javax.servlet.http.HttpServletRequest cannot be resolved.的解决方法III npm3.1 npm报错:…...

阿里云免费证书改为3个月,应对方法很简单

情商高点的说法是 Google 积极推进90天免费证书&#xff0c;各服务商积极响应。 情商低点的话&#xff0c;就是钱的问题。 现在基本各大服务商都在2024年停止签发1年期的免费SSL证书产品&#xff0c;有效期都缩短至3个月。 目前腾讯云倒还是一年期。 如果是一年期的话&#x…...

安装Pytorch——CPU版本

安装Pytorch——CPU版本 1. 打开pytorch官网2. 选择pip安装pytorch-cpu3.复制安装命令4. 在cmd命令窗口&#xff0c;进入你的虚拟环境4.1 创建虚拟环境4.2 进行安装 5. 安装成功6. 进行测试——如下面步骤&#xff0c;如图6.1 输入 python6.2 输入 import torch6.2 输入 print …...

MySQL中出现‘max_allowed_packet‘ variable.如何解决

默认情况下&#xff0c;MySQL的max_allowed_packet参数可能设置得相对较小&#xff0c;这对于大多数常规操作来说足够了。但是&#xff0c;当你尝试执行包含大量数据的操作&#xff08;如大批量插入或大型查询&#xff09;时&#xff0c;可能会超过这个限制&#xff0c;从而导致…...

Python-for-Android 完整指南:5分钟将Python应用打包为Android APK

Python-for-Android 完整指南&#xff1a;5分钟将Python应用打包为Android APK 【免费下载链接】python-for-android Turn your Python application into an Android APK 项目地址: https://gitcode.com/gh_mirrors/py/python-for-android Python-for-Android&#xff0…...

CA-CFAR、GO-CFAR、SO-CFAR怎么选?一张图看懂三种恒虚警检测算法的适用场景与避坑指南

CA-CFAR、GO-CFAR、SO-CFAR工程选型指南&#xff1a;从算法原理到场景适配 雷达信号处理工程师常常面临一个经典难题&#xff1a;在复杂环境中如何选择合适的恒虚警检测算法&#xff1f;当海面杂波、多目标干扰或低信噪比条件同时出现时&#xff0c;CA、GO、SO三种CFAR变体的性…...

5分钟掌握res-downloader:跨平台资源下载的终极指南

5分钟掌握res-downloader&#xff1a;跨平台资源下载的终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否经常在…...

DeepSeek代码审查配置避坑清单:12个被99%团队忽略的关键参数(含生产环境校验脚本)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek代码审查功能概览 DeepSeek 提供的代码审查&#xff08;Code Review&#xff09;能力基于其大语言模型对编程语义、安全规范与工程实践的深度理解&#xff0c;支持多语言静态分析、漏洞识别、可…...

UE5 GPU崩溃终极解决方案:Windows TDR注册表调优指南

1. 这不是玄学&#xff0c;是显卡驱动与UE引擎的底层握手失败 你刚点下Play&#xff0c;编辑器还没完全加载完场景&#xff0c;屏幕突然黑一下&#xff0c;然后弹出“GPU has stopped responding and has recovered”——或者更糟&#xff0c;直接蓝屏、黑屏死机、编辑器无响应…...

初创公司如何通过Taotoken快速为产品原型注入多种AI能力

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初创公司如何通过Taotoken快速为产品原型注入多种AI能力 对于初创公司而言&#xff0c;资源有限、时间紧迫是常态。产品原型的快速…...

机器学习预测关税冲击下的股市波动:随机森林、SVR、kNN与线性回归实战对比

1. 项目概述与核心问题拆解做量化研究的朋友们&#xff0c;尤其是关注宏观事件对市场冲击的&#xff0c;应该都对“黑天鹅”事件不陌生。政策变动&#xff0c;特别是像关税这种直接影响国际贸易成本和公司利润的宏观变量&#xff0c;往往会在短期内引发市场剧烈波动。传统的做法…...

023、深度可分离卷积:MobileNet背后的计算优化

深度可分离卷积:MobileNet背后的计算优化 一个让我加了两天班的bug 去年调试一块基于Cortex-M7的AI推理引擎,跑MobileNetV1时发现推理速度比理论计算慢了整整一个数量级。当时我盯着逻辑分析仪上的波形,CPU在卷积层卡了将近300ms——这不对劲,理论计算应该只要30ms。 排…...

保姆级教程:用Cesium ClippingPlaneCollection实现3D地形‘开窗’与‘遮罩’效果

三维地理可视化进阶&#xff1a;Cesium裁剪平面实现区域聚焦与隐藏的艺术 在三维地理信息系统中&#xff0c;有时我们需要突出显示特定区域或隐藏某些部分以查看地下结构——这就像给地球表面开一扇"窗户"或盖一块"遮罩"。Cesium引擎的ClippingPlaneCollec…...

STM32F407 ADC采样值跳得厉害?HAL库时钟配置与软件滤波避坑指南

STM32F407 ADC采样值跳得厉害&#xff1f;HAL库时钟配置与软件滤波避坑指南 在嵌入式系统开发中&#xff0c;ADC&#xff08;模数转换器&#xff09;的稳定性直接关系到整个系统的测量精度。特别是对于STM32F407这类高性能MCU&#xff0c;当应用于电源监控、医疗设备或工业传感…...