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

接口测试之测试原则、测试用例、测试流程详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

一、接口的介绍

软件测试中,常说的接口有两种:图形用户接口(GUI,人与程序的接口)、应用程序编程接口(API)。

接口(API)是系统与系统之间,模块与模块之间或者服务与服务之间相互调用的入口。它的本质:其实就是一种约定,在开发前期,我们约定接口会接收什么数据;在处理完成后,它又会返回什么数据。

开发岗位分为前端和后端,他们相互配合完成工作,会协商接口的定义方法。一般后端定义接口,前端调用接口。前后端分离是web应用开发的发展趋势,优势有:

  • 后端不用精通前端技术,只专注与数据的处理,对外提供API即可。
  • 前端的专业性越来越强,通过API获取数据,并专注与页面设计。
  • 前后端分离可扩大接口的应用范围,开发接口即可应用到web应用上,也可应用到app上。

接口的分类:HTTP接口、Web Service接口、RESTful接口。

二、接口测试的定义、必要性/优点、原理

1、接口测试的定义:

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。(--百度百科)

接口测试,其实就是验证接口内部处理逻辑是否正确;我们既要保证单接口的正确性,也要保证接口的业务逻辑正确性,主要体现在两方面:

  • 输入正确的测试数据,验证接口正常处理后返回的结果是否正确(数据结构&数据内容)
  • 输入异常的测试数据,验证接口能否正确处理异常数据并返回特定提示,是否合理,是否健壮

接口测试目的:测试接口的正确性和稳定性(持续集成是接口测试的核心)

2、接口测试的必要性/优点:

开展接口测试可以及早发现问题,有效降低测试成本

接口一般较UI相对稳定,更利于进行自动化和持续集成

特别适用于高复杂性的平台,可以带来高效的缺陷监测和质量监督能力(平台越复杂,系统越庞大,接口测试的效果越明显:提高测试效率,提升用户体验,降低研发成本)

PS:以保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本。(持续集成是接口测试的低成本、高收益的根源,是接口测试的灵魂。没有持续集成接口测试带来工作量会成指数增长!)

3、接口测试的原理:

测试借助工具模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,工具模拟客户端接收应答,然后测试人员检查应答是否准确。

三、接口测试的范围、原则、重难点

1、接口测试的范围:

(1)需要测试的接口:

随着系统的复杂性越来越高,接口越来越多,覆盖所有接口是很困难的事。通常主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统的接口(验证系统处理后的数据是否正常)。

(2)被测接口需要测试的方面:

关注被测接口的功能是否实现,性能是否达标,安全性是否满足。重点关注数据的交换、传递、处理次数、以及控制管理过程。可参考下面用例设计中的接口测试点。

2、编写和执行测试时的原则:

  • 不同的接口参数覆盖不同的业务场景;
  • 在后台构造合适的数据来满足接口的测试用例;
  • 根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
  • 测试用例涉及多个步骤的,应对涉及的步骤都验证
  • 删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境

3、接口测试的重难点:

  • 动态变量参数化
  • 接口依赖及中间变量问题
  • 异步接口结果验证问题
  • 相应参数及嵌套很多的验证问题
  • 接口测试框架的稳定性问题
  • 资源清理问题
  • 多接口场景测试

四、接口测试的用例设计

接口测试对象主要为接口,但随着系统复杂度越来越高,接口越来越多,完全覆盖是一件很困难的事情,且实际过程中任意接口的变动都可能导致我们接口测试用例不可用。

1、接口测试点参考:

2、接口用例设计优先级

优先级-->针对所有接口:

  • 暴露在外面的接口,因为通常该接口会给第三方调用;
  • 供系统内部调用的核心功能接口;
  • 供系统内部调用非核心功能接口;

优先级-->针对单个接口:

正向用例优先测试,逆向(异常)用例次之 (通常情况,非绝对);

是否满足前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 > 参数数据类型自身的数据范围值限制

  • 是否满足前提条件:有些接口需要满足前置条件,才可成功获取数据。常见的,需要登陆 Token。逆向用例:针对是否满足前置条件 (假设为 n 个条件),设计 0~n 条用例;
  • 是否携带默认值参数:设计 1 条正向用例,带默认值的参数都不填写、不传参,必填参数都填写正确且存在的 “常规” 值,非必填参数不填写、不传参;
  • 业务规则、功能需求:根据实际情况结合接口参数说明,可能需要设计 n 条正向用例和逆向用例
  • 参数是否必填:针对每个必填参数,都设计 1 条参数值为空的逆向用例
  • 参数之间是否存在关联:有些参数彼此之间存在相互制约的关系。逆向用例:根据实际情况,可能需要设计 0~n 条用例
  • 参数数据类型限制:针对每个参数都设计 1 条参数值类型不符的逆向用例
  • 参数数据类型自身的数据范围值限制:针对所有参数,设计 1 条每个参数的参数值在数据范围内为最大值的正向用例;针对每个参数 (假设 n 个),设计 n 条每个参数的参数值都超出数据范围最大值的逆向用例;针对每个参数 (假设 n 个),设计 n 条每个参数的参数值都小于数据范围最小值的逆向用例

以上几个方面考虑全的话,基本可以做到如下几个方面的覆盖:主流程测试用例:正常的主流程功能校验;分支流测试用例:正常的分支流功能校验。异常流测试用例:异常容错校验

五、接口测试的流程

接口测试的流程和功能测试流程类似,依据的对象是需求说明书和接口需求,接口测试流程如下:

1、接口测试需求分析(从 UI 交互和接口参数分析接口的设计逻辑)

  • 首先根据接口设计的技术架构方案,了解清楚被测接口对应的公共入参、入参、出参及返回数据的 Json 结构规范,根据测试场景进行测试。
  • 理解接口参数,熟悉接口参数的输入要求、输入值范围、必填项等;
  • 理解接口输出,熟悉返回 json 的结构构成、返回值类别、返回值范围、返回 data 的不同类型等。
  • 理解接口的逻辑、接口的业务关联,熟悉技术方案中的接口相互关联、依赖的关系,接口与接口之间的数据传递等。
  • 寻找测试点,根据输入 (参数名、取值范围)、输出 (参数名、返回值范围)、关联关系,进行测试点分析;

2、编写接口测试计划

接口测试计划与功能测试计划的目标一致,都是为了确认需求、确定测试环境及测试方法,为设计测试用例做准备,初步指定接口测试进度方案。接口测试计划包括概述、测试资源、测试功能及重点、测试策略、测试风险、测试标准。

3、编写、评审、执行接口测试用例

编写的接口用例评审通过后,借助测试工具执行测试,上报发现的问题

接口数据准备:

4、接口自动化测试持续集成要点

项目测试时,接口会有变更,用例也会更新,需要借助工具(如github)来维护测试用例进行持续集成,通过自动化测试实时监控项目接口运行情况。接口自动化测试持续集成主要包括以下内容:

  • 流程方面。在回归阶段加强接口异常场景的覆盖,并逐步向系统测试、冒烟测试阶段延伸,最终达到全流程自动化。
  • 结果展示。更加丰富的结果展示、趋势分析、质量统计和分析等。
  • 问题定位。报错信息、日志更精准,方便问题复现与定位。
  • 结果校验。加强自动化校验能力,如数据库信息校验。
  • 代码覆盖率。不断尝试有目前的黑盒向白盒下探,提高代码覆盖率。
  • 性能需求。完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

5、接口测试流程例子

  • 测试A借助Postman工具测试接口
  • 每天或定期将最新的接口集合文件导出到本地
  • 将最新的集合文件推送到git服务器
  • Jenkins每次运行接口测试时,先做一次文件拉取动作,再通过命令行执行接口测试
  • 将测试结果通过邮件或钉钉发送给项目负责人

六、各种场景下的接口测试

1、 单接口的测试

单接口测试的重点,其实就是保证该接口的正确性和健壮性。也就是说,你既要保证这个接口可以按照需求,正确处理传入的参数,给出正确的返回;也可以按照需求,正确的拒绝传入非正确的参数,给出正确的拒绝性返回。

总结:需要有足够的用例保证接口能正确处理各种正常情况和异常情况

2、 业务流程的接口测试(多接口测试)

主要是保障通过多个接口的串联操作可以完成原来需求中提出的业务逻辑

总结:重点在于业务流程是否能跑通

拓展:我们更需要关心业务流和数据流的关系,要完成整体业务逻辑的接口测试,需要理清每个流程的数据流程,而数据流程驱动了业务流处理,。并不需要再过度关心如何用业务流的方法覆盖更多的代码逻辑异常

3、 复杂场景的接口测试

测试场景一:被测业务操作是由多个API调用协作完成

背景:一个单一的前端操作可能会触发后端一系列的API调用,此时API的测试用例就不再是简单的单个API调用,而是一系列API的调用

存在的情况:存在后一个API需要使用前一个API返回结果的情况;需要根据前一个API的返回结果决定后面应该调用哪个API

存在问题:如何高效地获取单个前端操作所触发的API调用顺序

解决上述问题思路:通过网络监控手段,捕获单个前端操作时所触发的API调用顺序,譬如Fiddler、Charles等抓包工具。也可以通过用户行为日志,通过大数据手段来获取调用顺序

测试场景二:API 测试过程中的第三方依赖

背景:API 之间是存在依赖关系的,比如你的被测对象是 API A,但是 API A 的内部调用了 API B,此时如果由于某种原因,API B 在被测环境中处于不可用状态,那么 API A 的测试就会受到影响。

在单体架构下,通常只会在涉及到第三方 API 集成的场景中才会遇到这个问题,所以还不算严重。但是,在微服务架构下,API 间相互耦合的依赖问题就会非常严重。

解决问题的核心思路:启用 Mock Server 来代替真实的 API

测试场景三:异步 API 的测试

什么是异步API:调用后会立即返回,但是实际任务并没有真正完成,而是需要稍后去查询或者回调(Callback)的 API

对异步 API 的测试主要分为两个部分:

  • 测试异步调用是否成功:检查返回值和后台工作线程是否被创建两个方面就可以了
  • 测试异步调用的业务逻辑处理是否正确

测试异步调用的业务逻辑复杂性:因为异步 API 通常发生在一些比较慢的操作上,比如数据库 I/O、消息队列 I/O 等,此时测试往往需要去验证数据库中的值、消息队列中的值等,这就需要测试代码具有访问和操作数据库或者消息队列的能力。在实际工程项目中,这些能力一般会在测试框架级别提供,也就是说要求 API 测试框架中包含对应的工具类去访问和操作数据库或者消息队列等。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关文章:

接口测试之测试原则、测试用例、测试流程详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、接口的介绍 软件测试中,常说的接口有两种:图形用户接口(GUI,人与程序的接口)、应用程序编程接口&…...

证书上的服务器名错误解决方法

方法 win r ,输入mmc 点击文件——>添加/删除管理单元 找到证书——> 添加 根据自己的存放选择存放位置 点击控制台根节点——> 受信任的根证书颁发机构——>导入 若还出现问题,则参考https://blog.csdn.net/mm120138687/article/details/…...

前端:上传2进制图片

1、let formData new FormData(); 2、添加要传的字段:formData.append("avatarfile", data); (key,value) 3、上传文件 function uploadImg() {// 1定义FormDatalet formData new FormData();// 2添加字段formData.append("…...

web前端 React 框架面试200题(三)

面试题 65. 在使用 React Router时,如何获取当前页面的路由或浏览器中地址栏中的地址? 参考回答: 在当前组件的 props中,包含 location属性对象,包含当前页面路由地址信息,在 match中存储当前路由的参数等…...

交流负载箱:电力系统的节能利器

交流负载箱是模拟电网中实际负载的装置,它能够精确地模拟各种电器设备的耗电情况,为电力系统的节能提供了重要的工具。在电力系统中,交流负载箱的应用非常广泛,它可以用于电力系统的设计、运行和维护,以及电力设备的测…...

【思科】链路聚合实验配置和背景

【思科】链路聚合实验配置和背景 背景链路聚合基本概念链路聚合聚合接口 思科链路聚合协议01.PAgP协议02.LACP协议 思科链路聚合模式LACP协议模式PAgP协议模式ON模式 实验准备配置二层链路聚合LACP协议模式SW1SW2PC1PC2查看LACP聚合组建立情况查看LACP聚合端口情况查看逻辑聚合…...

使用 vue-element-plus-admin 框架遇到的问题记录

项目打包遇到的问题: 打包语句:pnpm run build:pro 报错信息: Error: [vite]: Rollup failed to resolve import "E:/workplace_gitee/xxx/node_modules/.pnpm/element-plus2.5.5_vue3.4.15/node_modules/element-plus/es/components…...

从零开始手写STL库:List

从零开始手写STL库–List部分 Github链接:miniSTL 文章目录 从零开始手写STL库–List部分List是什么?List需要包含什么函数1)基础成员函数2)核心功能3)其他功能 基础成员函数的编写核心功能的编写其他功能编写总结 List是什么&am…...

蒙特卡洛采样

目录 蒙特卡洛采样的计算逻辑计算步骤:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计期望值或积分值6. 计算误差具体示例:1. 定义问题2. 确定采样范围3. 生成随机样本点4. 计算函数值5. 估计积分值6. 计算误差总结蒙特卡洛采样是一种通过随机生成样本点来…...

Apache虚拟主机VirtualHost配置项详解

在Apache中,VirtualHost容器用于定义一个虚拟主机的配置,它允许在单一的物理服务器上托管多个不同的网站,每个网站可以有自己的域名、文档根目录、错误日志等。VirtualHost内的配置项非常灵活,可以包含从基本的网站信息到高级的URL重写和安全设置。 以下是一些常见的Virtu…...

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介

OpenAI从GPT-4V到GPT-4O,再到GPT-4OMini简介 一、引言 在人工智能领域,OpenAI的GPT系列模型一直是自然语言处理的标杆。随着技术的不断进步,OpenAI推出了多个版本的GPT模型,包括视觉增强的GPT-4V(GPT-4 with Vision&…...

从人工巡检到智能防控:智慧油气田安全生产的新视角

一、背景需求 随着科技的飞速发展,视频监控技术已成为各行各业保障安全生产、提升管理效率的重要手段。特别是在油气田这一特殊领域,由于其工作环境复杂、安全风险高,传统的监控方式已难以满足实际需求。因此,基于视频监控AI智能…...

【黑马java基础】Lamda, 方法引用,集合{Collection(List, Set), Map},Stream流

文章目录 JDK8新特性:Lambda表达式认识Lambda表达式Lambda表达式的省略规则 JDK8新特性:方法引用静态方法的引用实例方法的引用特定类型方法的引用构造器的应用 集合➡️Collection单列集合体系Collection的常用方法Collection的遍历方法迭代器增强for循…...

Stable Diffusion 使用详解(1)---- 提示词及相关参数

目录 背景 提示词 内容提示词 人物及主体特征 场景 环境光照 画幅视角 注意事项及示例 标准化提示词 画质等级 风格与真实性 具体要求 背景处理 光线与色彩 负向提示词 小结 常用工具 另外几个相关参数 迭代步数 宽度与高度 提示词引导系数 图片数量 背景…...

数据结构和算法(刷题) - 无序数组排序后的最大相邻差

无序数组排序后的最大相邻差 问题:一个无序的整型数组,求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。 三种方法: 排序后计算比较 简介:用任意一种时间复杂度为 O ( n log ⁡ n ) O…...

HOW - React 处理不紧急的更新和渲染

目录 useDeferredValueuseTransitionuseIdleCallback 在 React 中,有一些钩子函数可以帮助你处理不紧急的更新或渲染,从而优化性能和用户体验。 以下是一些常用的相关钩子及其应用场景: useDeferredValue 用途:用于处理高优先级…...

基于A律压缩的PCM脉冲编码调制通信系统simulink建模与仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1A律压缩的原理 4.2 PCM编码过程 4.3 量化噪声与信噪比 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#…...

【入门教程一】基于DE2-115的My First FPGA 工程

1.1. 概述 这是一个简单的练习, 可以帮助初学者开始了解如何使用Intel Quartus 软件进行 FPGA 开发。 在本章节中,您将学习如何编译 Verilog 代码,进行引脚分配,创建时序约束,然后对 FPGA 进行编程,驱动开…...

mysql中的索引和分区

目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…...

项目实战--C#实现图书馆信息管理系统

本项目是要开发一个图书馆管理系统,通过这个系统处理常见的图书馆业务。这个系统主要功能是:(1)有客户端(借阅者使用)和管理端(图书馆管理员和系统管理员使用)。(2&#…...

信号【Linux】

文章目录 信号处理方式(信号递达)前后台进程 终端按键产生信号kill系统调用接口向进程发信号阻塞信号sigset_tsigprocmasksigpending内核态与用户态:内核空间与用户空间内核如何实现信号的捕捉 1、信号就算没有产生,进程也必须识别…...

Kafka Producer之ACKS应答机制

文章目录 1. 应答机制2. 等级03. 等级14. 等级all5. 设置等级6. ISR 1. 应答机制 异步发送的效率高,但是不安全,同步发送安全,但是效率低。 无论哪一种,有一个关键的步骤叫做回调,也就是ACKS应答机制。 其中ACKS也分…...

【深入理解SpringCloud微服务】深入理解Eureka核心原理

深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心,通过http接收客户端的服务发现和服务注册请求,使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…...

算法——滑动窗口(day7)

904.水果成篮 904. 水果成篮 - 力扣(LeetCode) 题目解析: 根据题意我们可以看出给了我们两个篮子说明我们在开始采摘到结束的过程中只能有两种水果的种类,又要求让我们返回收集水果的最大数目,这不难让我们联想到题目…...

Django学习第一天(如何创建和运行app)

前置知识: URL组成部分详解: 一个url由以下几部分组成: scheme://host:port/path/?query-stringxxx#anchor scheme:代表的是访问的协议,一般为http或者ftp等 host:主机名,域名,…...

VScode连接虚拟机运行Python文件的方法

声明:本文使用Linux发行版本为rocky_9.4 目录 1. 在rocky_9.4最小安装的系统中,默认是没有tar工具的,因此,要先下载tar工具 2. 在安装好的vscode中下载ssh远程插件工具 3. 然后连接虚拟机 4. 查看python是否已经安装 5. 下载…...

通义千问AI模型对接飞书机器人-模型配置(2-1)

一 背景 根据业务或者使用场景搭建自定义的智能ai模型机器人,可以较少我们人工回答的沟通成本,而且可以更加便捷的了解业务需求给出大家设定的业务范围的回答,目前基于阿里云的通义千问模型研究。 二 模型研究 参考阿里云帮助文档&#xf…...

[k8s源码]6.reflector

Reflector 和 Informer 是 Kubernetes 客户端库中两个密切相关但职责不同的组件。Reflector 是一个较低级别的组件,主要负责与 Kubernetes API 服务器进行交互,执行资源的初始列表操作和持续的监视操作,将获取到的数据放入队列中。而 Informe…...

前台文本直接取数据库值doFieldSQL插入SQL

实现功能:根据选择的车间主任带出角色。 实现步骤:OA的“字段联动”功能下拉选项带不出表“hrmrolemembers”,所以采用此方法。 doFieldSQL("select roleid from HrmResource as a inner join hrmrolemembers as b on a.id b.resource…...

【06】LLaMA-Factory微调大模型——微调模型评估

上文【05】LLaMA-Factory微调大模型——初尝微调模型,对LLama-3与Qwen-2进行了指令微调,本文则介绍如何对微调后的模型进行评估分析。 一、部署微调后的LLama-3模型 激活虚拟环境,打开LLaMA-Factory的webui页面 conda activate GLM cd LLa…...

数学建模学习(1)遗传算法

一、简介 遗传算法(Genetic Algorithm, GA)是一种用于解决优化和搜索问题的进化算法。它基于自然选择和遗传学原理,通过模拟生物进化过程来寻找最优解。 以下是遗传算法的主要步骤和概念: 初始化种群(Initialization&a…...

NumPy冷知识66个

NumPy冷知识66个 多维切片: NumPy支持多维切片,可以通过指定多个索引来提取多维数组的子集。 复杂数支持: NumPy可以处理复数,提供了复数的基本运算和函数。 比特运算: NumPy支持比特运算,如与、或、异或等。 数据存储格式: NumPy可以将数…...

Wi-SUN无线通信技术 — 大规模分散式物联网应用首选

引言 在数字化浪潮的推动下,物联网(IoT)正逐渐渗透到我们生活的方方面面。Wi-SUN技术以其卓越的性能和广泛的应用前景,成为了大规模分散式物联网应用的首选。本文将深入探讨Wi-SUN技术的市场现状、核心优势、实际应用中的案例以及…...

在 Ubuntu Server 22.04 上安装 Docker 的详细步骤

在 Ubuntu Server 22.04 上安装 Docker 的详细步骤 本文档详细记录了在 Ubuntu Server 22.04 上安装 Docker 的完整过程,包括解决过程中遇到的问题。希望能对读者有所帮助。 安装过程,重点需要看官方文档。https://docs.docker.com/engine/install/ubu…...

前端使用 Konva 实现可视化设计器(18)- 素材嵌套 - 加载阶段

本章主要实现素材的嵌套(加载阶段)这意味着可以拖入画布的对象,不只是图片素材,还可以是嵌套的图片和图形。 请大家动动小手,给我一个免费的 Star 吧~ 大家如果发现了 Bug,欢迎来提 Issue 哟~ github源码 g…...

vue3 -layui项目-左侧导航菜单栏

1.创建目录结构 进入cmd,先cd到项目目录&#xff08;项目vue3-project&#xff09; cd vue3-project mkdir -p src\\views\\home\\components\\menubar 2.创建组件文件 3.编辑menu-item-content.vue <template><template v-if"item.icon"><lay-ic…...

Spring AOP(1)

目录 一、AOP 概述 什么是Spring AOP&#xff1f; 二、Spring AOP 快速入门 1、引入AOP依赖 2、编写AOP程序 三、Spring AOP 详解 1、Spring AOP的核心概念 &#xff08;1&#xff09;切点&#xff08;Pointcut&#xff09; &#xff08;2&#xff09;连接点&#xff…...

第1关 -- Linux 基础知识

闯关任务 完成SSH连接与端口映射并运行hello_world.py ​​​​ ssh -p 37367 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno可选任务 1 将Linux基础命令在开发机上完成一遍 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 …...

tensorflow keras Model.fit returning: ValueError: Unrecognized data type

题意&#xff1a;TensorFlow Keras 的 Model.fit 方法返回了一个 ValueError&#xff0c;提示数据类型无法识别 问题背景&#xff1a; Im trying to train a keras model with 2 inputs: an image part thats a tf.data.Dataset and a nor mal part represented by a pd.DataF…...

虚拟机固定配置IP

在Hyper-V中&#xff0c;vEthernet (Default Switch) 是Hyper-V自带的默认虚拟交换机&#xff0c;它允许虚拟机直接连接到宿主机网络或外部网络。这个虚拟交换机可以通过Hyper-V管理器或PowerShell等工具进行管理和配置。以下是具体的操作步骤&#xff1a; 一、通过Hyper-V管理…...

【Pytorch实用教程】pytorch中random_split用法的详细介绍

在 PyTorch 中,torch.utils.data.random_split 是一个非常有用的函数,用于将数据集随机分割成多个子集。这在机器学习和深度学习中非常常见,特别是当你需要将数据集分割成训练集和测试集或验证集时。这里是 random_split 的详细用法介绍: 功能 random_split 用于随机地将…...

第二讲:NJ网络配置

Ethernet/IP网络拓扑结构 一. NJ EtherNet/IP 1、网络端口位置 NJ的CPU上面有两个RJ45的网络接口,其中一个是EtherNet/IP网络端口(另一个是EtherCAT的网络端口) 2、网络作用 如图所示,EtherNet/IP网络既可以做控制器与控制器之间的通信,也可以实现与上位机系统的对接通…...

pytorch中常见的模型3种组织方式 nn.Sequential(OrderedDict)

在nn.Sequential中嵌套OrderedDict组织网络,以对层进行命名 import torch import torch.nn as nn from collections import OrderedDictclass OrderedDictCNN(nn.Module):def __init__(self):super(OrderedDictCNN, self).__init__()# 使用 OrderedDict 定义网络层self.model …...

达梦数据库DM8-索引篇

目录 一、前景二、名词三、语法1、命令方式创建索引1.1 创建索引空间1.2.1 创建普通索引并指定索引数据空间1.2.2 另一种没验证&#xff0c;官方写法1.3 复合索引1.4 唯一索引1.5 位图索引1.6 函数索引 2、创建表时候创建索引3、可视化方式创建索引3.1 打开DM管理工具3.2 找到要…...

【中项】系统集成项目管理工程师-第4章 信息系统架构-4.5技术架构

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…...

随机梯度下降 (Stochastic Gradient Descent, SGD)

SGD 是梯度下降法的一种变体。与批量梯度下降法不同&#xff0c;SGD 在每次迭代中仅使用一个样本&#xff08;或一个小批量样本&#xff09;的梯度来更新参数。它能更快地更新参数&#xff0c;并且可以更容易地跳出局部最优解。 原理 SGD 的基本思想是通过在每次迭代中使用不…...

TDengine 3.3.2.0 发布:新增 UDT 及 Oracle、SQL Server 数据接入

经过数月的开发和完善&#xff0c;TDengine 3.3.2.0 版本终于问世了。这一版本中既有针对开源社区的功能优化&#xff0c;也有从企业级用户需求出发做出的功能调整。在开源版本中&#xff0c;我们增强了系统的灵活性和兼容性&#xff1b;而在企业级版本中&#xff0c;新增了关键…...

Ubuntu 24.04 LTS 无法打开Chrome浏览器

解决办法&#xff1a; 删除本地配置文件&#xff0c;再次点击Chrome图标&#xff0c;即可打开。 rm ~/.config/google-chrome/ -rf ref: Google chrome not opening in Ubuntu 22.04 LTS - Ask Ubuntu...

linux中RocketMQ安装(单机版)及springboot中的使用

文章目录 一、安装1.1、下载RocketMQ1.2、将下载包上传到linux中&#xff0c;然后解压1.3、修改runserver.sh的jvm参数大小&#xff08;根据自己服务器配置来修改&#xff09;1.4、启动mqnamesrv &#xff08;类似于注册中心&#xff09;1.5、修改runbroker.sh的jvm参数大小&am…...

亚信安全终端一体化解决方案入选应用创新典型案例

近日&#xff0c;由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕&#xff0c;会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中&#xff0c;亚信安全“终端一体化安全运营解决方案”在…...