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

1.测试过程之需求分析和测试计划

测试基础

流程

1.分析测试需求

2.编写测试计划

3.设计与编写测试用例

4.执行测试

5.评估与总结

测试目标

根据测试阶段不同可分为四个主要目标:预防错误(早期)、发现错误(开发阶段)、建立信心(验收阶段)、提供信息(运维阶段)

1.早期测试

  • 实施时机:从需求分析阶段开始同步跟进,贯穿设计、编程全过程
  • 测试形式:
    • 静态测试:不执行程序的测试方式,包括文档审查(需求/设计文档)和代码走查
    • 检查要点:错别字、逻辑错误、需求偏差(多/少/错误理解)
  • 核心价值:预防错误发生,避免错误"兑现"(如需求误解导致后续开发偏差)
  • 典型案例:检查需求文档是否准确反映用户真实意图,算法设计是否符合业务逻辑

2.组件测试和单元测试

  • 测试对象:模块化开发的独立组件(如程序中的a/b/c/d模块)
  • 必要性:
    • 隔离缺陷定位:避免多模块集成后难以追溯问题根源
    • 责任明确:类似四人合作项目出问题时需要明确责任方
  • 执行主体:通常由开发人员或懂开发的测试人员实施
  • 测试重点:验证单个组件功能实现的正确性

3.集成测试

  • 测试策略:逐步组合已通过单元测试的模块(如a+b模块组合,c+d模块组合)
  • 技术需求:需要既懂开发又懂测试的复合型人才
  • 与单元测试区别:
    • 关注模块间接口和交互
    • 需要实际执行程序代码
  • 典型问题:模块间数据传递错误、接口协议不匹配

4.系统测试

  • 测试范围:完整集成的软件系统
  • 角色分工:以专业测试人员为主导,开发人员参与度降低
  • 核心目标:大规模发现缺陷(追求缺陷发现数量最大化)
  • 阶段特征:仍处于可修正缺陷的开发阶段(区别于验收后的维护阶段)

5.验收测试

  • 执行主体:最终用户或客户代表
  • 目标转变:从"发现缺陷"转为"建立使用信心"
  • 通过标准:基本功能满足需求,非关键缺陷不影响主要使用
  • 商业价值:决定软件能否正式交付的重要环节

6.运行或维护阶段

  • 测试类型:
    • 非功能测试:性能、资源占用、兼容性等实际运行指标
    • 维护测试:漏洞修复、版本升级、灾难恢复等场景测试
  • 数据反馈:收集真实使用环境下的质量信息(性能基线、用户行为数据)
  • 持续改进:为后续版本迭代提供优化依据

区分概念

1.测试&调试

  • 人员:
    • 测试:测试人员、开发人员和用户都会参与缺陷发现过程
    • 调试:仅由开发人员负责缺陷修复

2.软件质量保证&软件测试

  • 测试三要素:
    • 发现:通过专业方法识别软件中的缺陷
    • 报告:使用缺陷管理系统规范提交问题
    • 跟踪:持续验证缺陷修复状态直至关闭
  • 调试三步骤:
    • 定位:精确找到缺陷出现的代码位置
    • 分析:诊断缺陷产生的根本原因
    • 修改:编写正确的代码解决方案

软件测试定义: 软件测试不仅是对程序的测试,而是对软件所有部分(包括程序、数据和文档)的测试。

测试的过程
  • 测试过程: 测试过程包括需求分析、计划制定、用例编写、执行测试、评估与总结。其中,执行测试只占整个测试过程的一小部分时间,需求和用例设计占据大部分时间(各约30%-40%)。
开始测试工作的任务
  • 开始测试的首要任务: 测试需求分析。

测试早做和测试晚做的考虑
测试早做的优势: 测试早做比较好,最好在开发需求分析阶段就同步介入。
5. 测试需要谋划或规划
测试规划: 在测试之前需要制定测试计划,明确测试内容、范围、人员、时间以及可能遇到的问题和解决方案。

软件测试的原则

规格说明书(需求定义)占54%

设计阶段占25%

代码实现占15%

其他原因占6%

- 主要责任方:缺陷主要来源于需求相关方(用户、需求分析师等),而非程序员
- 深层原因:包括需求表述不清、理解偏差、沟通不畅等非技术因素
- 软件缺陷构成分析 * 数据解读:基于对100个典型缺陷的溯源研究* 重要性排序:需求问题 > 设计问题 > 编码问题 > 其他问题* 柱状图展示:以可视化形式再次验证饼图结论,需求文档缺陷占比最高
- 测试第一个任务是需求分析 * 工作流程:测试工作必须从需求分析开始,贯穿整个测试周期* 持续关注:即使在后续测试阶段也要不断回顾需求文档* 需求理解:需要确保测试团队与开发团队对需求的理解完全一致
- 制造缺陷的罪魁祸首不是程序员* 认知误区破除:发现缺陷时不应首先归咎于开发人员* 全面分析:需要考察缺陷是否源于需求定义不明确或不完整* 团队协作:测试人员应与需求分析人员保持密切沟通
- 做好需求评审 * 评审机制:组织开发、测试、用户三方共同参与需求评审* 一致性检查:确保测试需求与开发需求、用户需求三者一致* 文档验证:通过正式会议确认需求文档的准确性和完整性

完全测试不可能

  • 并行性:测试应与软件开发或维护工作并行进行,持续开展测试活动
  • 前置规划:在测试工作正式开始前较长时间就需制定测试计划,包括需求分析、环境搭建、缺陷处理、评估总结等全流程规划
  • 计划价值:测试计划越详尽,测试过程越能避免走弯路,计划需覆盖整个测试生命周期

测试阶段

单元测试->集成测试->系统测试->验收测试

  • 并行性:测试应与软件开发或维护工作并行进行,持续开展测试活动
  • 前置规划:在测试工作正式开始前较长时间就需制定测试计划,包括需求分析、环境搭建、缺陷处理、评估总结等全流程规划
  • 计划价值:测试计划越详尽,测试过程越能避免走弯路,计划需覆盖整个测试生命周期
  • 单元测试特点:针对每个独立小程序进行测试,代码规模最小,由开发人员主导
  • 集成测试特点:将相互调用的程序模块组合测试,代码规模中等,开发人员参与
  • 系统测试特点:所有程序整体测试,代码规模最大,由专业测试人员执行
  • 验收测试特点:用户主导的最终验证测试,不涉及代码层面
  • 分阶段优势:能准确定位问题来源(如单元测试可隔离错误),符合"尽早测试"原则
  • 实施条件:公司自有项目容易实现,外包项目可能难以严格分阶段
软件测试是一个迭代的过程
  • 核心特征:测试活动是持续循环进行的,不是一次性完成的,每个版本都需要重复测试流程
  • 典型流程:测试版本1→提交缺陷→修复缺陷→测试版本2→提交新缺陷→修复新缺陷→测试版本3→⋯测试版本1 ->提交缺陷 修复缺陷 ->测试版本2 -> 提交新缺陷 -> 修复新缺陷 -> 测试版本3 ->cdots测试版本1→提交缺陷→修复缺陷→测试版本2→提交新缺陷→修复新缺陷→测试版本3→⋯

处理小组关系

  • 共同目标导向: 时刻提醒团队成员(包括自己)最终目标是追求高质量产品,而非追究缺陷责任人。应以合作而非争斗的态度处理问题。
  • 中性沟通技巧:
    • 缺陷报告应采用中性、事实性陈述,避免使用"你/我/他"等人称代词
    • 禁用问号、叹号等带有情绪色彩的标点符号
    • 示例:用"登录按钮点击无响应"替代"你的登录功能有问题!"
  • 换位思考原则:
    • 理解他人反应背后的原因
    • 反思自身沟通方式是否恰当
    • 考虑对方专业背景导致的认知差异
  • 有效沟通保障:
    • 确认双方理解一致(开发理解缺陷描述,测试理解开发思路)
    • 清晰说明缺陷危害性和严重程度
    • 建立"发现-修复缺陷"的共同目标认知
  • 技能互补优势:
    • 测试人员掌握基础开发知识可减少误报
    • 开发背景有助于理解系统实现原理
    • 技术共识能提升缺陷报告的专业可信度

软件开发模型

- 软件产品从最初构思到最终退役的全过程
- 包含从创意产生到停止使用的完整时间线

1.什么是软件开发模型

软件产品从最初构思到最终退役的全过程

大爆炸模型

边写边改模型

瀑布模型

制定周密计划的开发模型,强调分阶段严格审查和完整文档记录,步骤不可颠倒(计划→需求分析→设计→编码→测试→运行→评价→维护循环)

螺旋模型

敏捷模型

软件测试模型

V模型

    * 左端为开发阶段:用户需求→需求分析→概要设计→详细设计→编码* 右端为测试阶段:单元测试→集成测试→系统测试→验收测试
- 对应关系:* 单元测试↔详细设计* 集成测试↔概要设计* 系统测试↔需求分析* 验收测试↔用户需求
- 分层策略:* 底层测试: 单元测试和集成测试,验证源代码正确性* 高层测试: 系统测试和验收测试,验证需求符合性

W模型

双V结构: 由两个V字型构成,左边V代表开发过程(需求分析→概要设计→详细设计→编码实现→模块集成→系统构建→系统安装),右边V代表测试过程(需求测试→概要设计测试→详细设计测试→单元测试→集成测试→系统测试→验收测试)

  • 需求测试: 验证需求说明书是否准确反映用户真实需求,检查有无遗漏、错误或多余需求
  • 设计测试:
    • 概要设计测试:验证系统架构和算法是否正确
    • 详细设计测试:检查具体实现细节是否合理
  • 文档测试本质: 不是简单检查文档错别字或病句,而是通过文档验证开发人员对需求和设计的理解是否正确

H模型

  • 核心结构:
    • 上方为测试流程:包含"准备测试→就绪点→测试执行"三个阶段
    • 下方为其他流程:可以是开发、设计、编码等任意流程
    • 中间通过"就绪点"连接两个流程

特点:

  • 独立性:
    • 测试活动完全独立于开发流程
    • 不再被开发阶段所牵制(不同于V模型和W模型)
    • 测试团队可自主安排测试活动
  • 并发性:
    • 测试贯穿整个产品生命周期
    • 可与任何开发活动并行进行
    • 示例:需求分析阶段可同步开展需求文档测试
  • 完整性:
    • 不仅包含测试执行,还包括:
      • 测试计划制定
      • 需求分析验证
      • 测试用例设计
      • 测试环境搭建
      • 缺陷提交与跟踪
      • 测试评估总结
  • 灵活性:
    • 测试层次可打乱传统次序
    • 支持不同测试活动并行开展(如单元测试与集成测试可同时进行)
    • 示例:外包团队可分别负责不同层次的测试
  • 就绪机制:
    • 当测试准备工作完成时到达"就绪点"
    • 就绪后立即转入测试执行阶段
    • 强调"尽早准备,尽早执行"原则

X模型

前置模型

敏捷测试模型

  • 核心特点:
    • 新型软件开发方法,强调客户持续参与
    • 测试活动贯穿整个开发过程,与传统开发模式有显著区别
    • 采用结对编程方式,两名开发人员共用一台计算机协同工作

测试模型的使用

V模型

对应开发模型: 与瀑布模型配套使用,左边V表示开发流程,右边V表示测试流程

测试特点: 在瀑布模型每个开发环节完成后进行对应测试,属于后置测试模式

优化意义: 对传统瀑布模型的测试环节进行了系统化优化,形成完整测试体系

适用场景: 适合需求明确、变更少的项目,测试阶段划分清晰


W模型

模型特征: 双V结构形成W形状,开发与测试同步进行

对应开发模型: 主要配套螺旋模型使用,测试早期介入项目

产生背景: 伴随公司内部测试团队的工作模式而诞生

优势: 开发过程中测试团队可同步跟进,实现并行工作


H模型

核心特点: 测试完全独立于开发流程,可随时启动

触发机制: 当测试准备工作完成到达"就绪点"时即可执行测试

产生背景: 为适应第三方测试需求而发展出的模型

灵活性: 支持多团队并行测试不同模块,文档也可单独测试

应用场景: 特别适合外包项目或需要多团队协作的大型项目


敏捷测试模型

配套开发模型: 专为敏捷开发设计,强调客户持续参与

工作流程:

先编写测试用例

结对编程时同步测试

单元测试通过后集成代码

最终由客户进行验收测试

核心理念: 通过频繁交付和客户反馈实现快速迭代


测试阶段

单元测试

前置条件

功能性验证: 确保单元能正确实现设计功能,如编写求和方法时,需验证能否正确计算两数之和。

健壮性测试: 通过逆向测试验证单元对无效输入的容错能力,包括测试字母、汉字、标点符号等非法输入时的报错处理。

性能优化: 关注代码执行效率,比较不同实现方式的性能差异。例如:比效率更高,因为计算机需将乘法转换为加法运算;排序算法中不同方法的时间消耗差异(冒泡排序vs二分法排序)。

测试局限性: 单元测试阶段无法测试界面、兼容性和易用性等特性,因代码尚未形成完整运行环境。

测试所用技术

白盒测试技术
  • 核心概念:将程序视为透明盒子,关注内部处理流程和程序结构
  • 测试对象:包括顺序语句、if语句、if-else、switch-case、while/for循环等程序结构,以及>>>,<<<,andandand,ororor等逻辑运算符
  • 典型方法:通过覆盖率指标(语句覆盖、分支覆盖等)来验证程序内部逻辑
  • 测试特点:需要观察程序执行的每个细节过程,就像观察透明机器中鸡被拔毛时的反应(痛苦程度、是否挣扎等)
黑盒测试技术
  • 核心概念:将程序视为黑色盒子,只关注输入输出是否符合预期
  • 测试对象:程序整体功能,不关心内部实现细节
  • 典型方法:等价类划分、边界值分析、场景法、决策表、错误猜测等
  • 测试特点:如同给机器蒙上黑布,只关心投入公鸡后是否光着出来(功能结果),不关心内部处理过程
  • 应用顺序:通常先进行黑盒测试验证基本功能,再进行白盒测试(先确认程序能完成基本功能再检查内部结构)
灰盒测试
  • 混合特性:结合白盒和黑盒测试的特点
  • 典型应用:网页测试中,既检查前台输入输出(黑盒),又检查部分代码(白盒)
  • 优势:能兼顾功能验证和部分内部逻辑检查
组件测试能够发现的缺陷
  • 功能性缺陷:组件内部功能实现错误
  • 运行时缺陷:仅在实际运行时会暴露的问题(如死循环)
  • 本机性能问题:代码层面的性能瓶颈
  • 健壮性问题:异常处理能力不足等鲁棒性问题
  • 测试局限:只能发现组件单独运行时的缺陷,无法发现与其他组件的交互问题
组件测试可能遗留的缺陷
  • 接口问题:组件间参数传递和返回值问题
  • 大环境问题:多组件协同工作时的兼容性问题
  • 非功能性缺陷:界面美观性、易用性、整体系统性能等
  • 遗留原因:单元测试环境与真实运行环境存在差异,无法完全模拟实际使用场景

集成测试

  • 测试重点:
    • 接口测试: 组件连接时的静态参数传递机制
    • 交互测试: 系统各部分协同工作的动态行为
  • 必备知识:
    • 开发技能(需编写测试驱动器和桩模块)
    • 测试技术专业知识
    • 组件间交互的详细知识(参数传递规则、数据处理逻辑)
  • 前提条件:
    • 已完成集成的被测系统
    • 测试台(test bed)的建立(包含可复用的测试工具和环境)
    • 完整的组件交互文档
  • 关键区别:
    • 单元测试: 验证独立模块功能,侧重内部逻辑
    • 集成测试: 验证模块组合功能,侧重接口和交互

系统测试

定义:测试集成系统以验证它是否满足指定需求的过程,是基于风险的测试,确认系统满足特定的功能性和非功能性需求。

  • 测试对象:整个集成后的系统,如同拼图中所有单元模块组合完成的整体。
  • 环境要求:测试环境应尽可能与目标环境保持一致,不再是开发环境,而是接近用户实际使用环境。
  • 测试范围:包含之前单元测试和集成测试未覆盖的全部功能性和非功能性需求(如性能、易用性、兼容性、界面、安全性、可维护性、可移植性等)。

验收测试

  • 执行主体: 由客户方的商业用户/普通使用者执行
  • 测试重点:
    • 验证系统可用性
    • 检查是否满足基本业务需求
    • 确认无严重影响使用的缺陷
  • 典型场景: 如普通员工测试新采购的办公系统是否能完成日常业务流程

  • Alpha测试:
    • 在开发场地由潜在用户执行(如游戏公司邀请玩家到公司内部测试)
    • 又称"内测",测试环境受控
    • 目的:发现开发环境下的系统问题
  • Beta测试:
    • 在用户实际环境执行(如软件公测版发布)
    • 又称"公测"或"外测",测试环境多样
    • 特点:自动收集使用数据(用户可能不知情)
    • 目的:识别未知环境下的系统影响
  • 关键区别:
    • 测试场地不同(开发场地 vs 用户环境)
    • 测试规模不同(小范围 vs 大规模)
    • 游戏行业典型应用:内部封测→公开测试→正式发行
项目功能拆分与测试点
  • 评审方式:分为小评审(小组内部讨论功能拆分、需求整理和测试点)和大评审(集体评审)
  • 功能表示方法:习惯用按钮名称表示功能(如"确定"代表连接数据库),但表示方式不固定

相关文章:

1.测试过程之需求分析和测试计划

测试基础 流程 1.分析测试需求 2.编写测试计划 3.设计与编写测试用例 4.执行测试 5.评估与总结 测试目标 根据测试阶段不同可分为四个主要目标&#xff1a;预防错误&#xff08;早期&#xff09;、发现错误&#xff08;开发阶段&#xff09;、建立信心&#xff08;验收阶段&a…...

第三十七天打卡

过拟合的判断&#xff1a;测试集和训练集同步打印指标模型的保存和加载 仅保存权重保存权重和模型保存全部信息checkpoint&#xff0c;还包含训练状态 早停策略 过拟合判断 import torch import torch.nn as nn import torch.optim as optim from sklearn.datasets import load…...

Qt 窗口标志(Window Flags)详解:控制窗口样式与行为

在 Qt 中&#xff0c;windowFlags 用于控制窗口的样式和行为&#xff0c;包括标题栏、边框、最大化/最小化按钮等。合理设置 windowFlags 可以自定义窗口的外观和交互方式。本文将详细介绍常用的窗口标志及其组合效果。 1. 基本概念 windowFlags 是一个 Qt::WindowFlags 类型的…...

ABP VNext + CRDT 打造实时协同编辑

&#x1f6e0;️ ABP VNext CRDT 打造实时协同编辑器 &#x1f389; &#x1f4da; 目录 &#x1f6e0;️ ABP VNext CRDT 打造实时协同编辑器 &#x1f389;&#x1f9e0; 背景与挑战&#x1f539; 系统架构&#x1f6e3;️ 端到端流程 &#x1f6a6;&#x1f512; 安全与鉴…...

微信小程序真机调试时如何实现与本地开发环境服务器交互

最近在开发微信小程序项目,真机调试时需要在手机上运行小程序,为了实现本地开发服务器与手机小程序的交互,需要以下步骤 1.将手机连到和本地一样的局域网 2.Visual Studio中将IIS Express服务器的localhost端口地址修改为本机的IP自定义的端口: 1&#xff09;找到web api项目…...

Linux: network: dpdk, VF, ip link set down 对VF不生效

文章目录 问题另一个测试的结果是从dpdk的文档看怎么设置VF给VM内核的调用需要使用的命令问题 最近遇到一个问题,也可以说是一种常识,至少是之前不知道的常识:如果一个VF分配给了VM用作dpdk的输入。在host做ip link set down 这个PF的接口,对这个VM里的VF的功能没有任何影…...

[春秋云镜] CVE-2023-23752 writeup

首先奉上大佬的wp表示尊敬&#xff1a;&#xff08;很详细&#xff09;[ 漏洞复现篇 ] Joomla未授权访问Rest API漏洞(CVE-2023-23752)_joomla未授权访问漏洞(cve-2023-23752)-CSDN博客 知识点 Joomla版本为4.0.0 到 4.2.7 存在未授权访问漏洞 Joomla是一套全球知名的内容管理…...

Java集合操作常见错误与最佳实践

错误69:搜索无关类型的对象 泛型方法的类型安全漏洞 在Java引入参数化类型前,集合元素只能声明为Object类型,导致可以随意将字符串添加到数值列表中。虽然泛型机制对添加元素的方法进行了类型约束,但搜索和删除相关方法仍保留了Object类型的参数设计。这包括以下关键方法…...

CSS专题之水平垂直居中

前言 石匠敲击石头的第 16 次 在日常开发中&#xff0c;经常会遇到水平垂直居中的布局&#xff0c;虽然现在基本上都用 Flex 可以轻松实现&#xff0c;但是在某些无法使用 Flex 的情况下&#xff0c;又应该如何让元素水平垂直居中呢&#xff1f;这也是一道面试的必考题&#xf…...

python打卡day41@浙大疏锦行

知识回顾 1. 数据增强 2. 卷积神经网络定义的写法 3. batch归一化&#xff1a;调整一个批次的分布&#xff0c;常用与图像数据 4. 特征图&#xff1a;只有卷积操作输出的才叫特征图 5. 调度器&#xff1a;直接修改基础学习率 卷积操作常见流程如下&#xff1a; 1. …...

vue3 基本语法 父子关系

在Vue 3中&#xff0c;父子组件的关系是通过组件的嵌套实现的。父组件可以传递数据&#xff08;props&#xff09;给子组件&#xff0c;同时子组件可以通过事件&#xff08;emits&#xff09;与父组件通信。下面是如何在Vue 3中建立和使用父子组件的基本语法&#xff1a; 1. 创…...

算法-js-子集

题&#xff1a;给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 方法一&#xff1a;迭代法 核心逻辑&#xff1a;动态扩展子集&#xff0c; 小规…...

(新)MQ高级-MQ的可靠性

消息到达MQ以后&#xff0c;如果MQ不能及时保存&#xff0c;也会导致消息丢失&#xff0c;所以MQ的可靠性也非常重要。 一、数据持久化 为了提升性能&#xff0c;默认情况下MQ的数据都是在内存存储的临时数据&#xff0c;重启后就会消失。为了保证数据的可靠性&#xff0c;必须…...

Android设置界面层级为最上层实现

Android设置界面层级为最上层实现 文章目录 Android设置界面层级为最上层实现一、前言二、Android设置界面层级为最上层实现1、主要代码2、后遗症 三、其他1、Android设置界面层级为最上层小结2、悬浮框的主要代码悬浮框 注意事项&#xff08;1&#xff09;权限限制&#xff08…...

云原生微服务架构演进之路:理念、挑战与实践

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;架构的演进是业务进化的技术反射 在软件行业的发展过程中&#xff0c;架构变迁总是伴随着技术浪潮与业务复杂度的升…...

Go语言使用阿里云模版短信服务

在当今的互联网项目中&#xff0c;短信验证码、通知等功能已成为标配。本文将详细介绍如何使用Go语言集成阿里云短信服务(DYSMSAPI)实现短信发送功能。 一、准备工作 在开始之前&#xff0c;您需要完成以下准备工作&#xff1a; 注册阿里云账号并实名认证开通短信服务(SMS)申…...

Leetcode 3231. 要删除的递增子序列的最小数量

1.题目基本信息 1.1.题目描述 给定一个整数数组 nums&#xff0c;你可以执行任意次下面的操作&#xff1a; 从数组删除一个 严格递增 的 子序列。 您的任务是找到使数组为 空 所需的 最小 操作数。 1.2.题目地址 https://leetcode.cn/problems/minimum-number-of-increas…...

4.2.5 Spark SQL 分区自动推断

在本节实战中&#xff0c;我们学习了Spark SQL的分区自动推断功能&#xff0c;这是一种提升查询性能的有效手段。通过创建具有不同分区的目录结构&#xff0c;并在这些目录中放置JSON文件&#xff0c;我们模拟了一个分区表的环境。使用Spark SQL读取这些数据时&#xff0c;Spar…...

基于昇腾MindSpeed训练加速库玩转智谱GLM-4-0414模型

智谱GLM-4-0414模型提供32B和9B两种参数规模&#xff0c;涵盖基础、推理和沉思等多种模型类型&#xff0c;均基于 MIT 许可协议开放。其中&#xff0c;推理模型 GLM-Z1-32B-0414 性能卓越&#xff0c;与 DeepSeek-R1 等领先模型相当&#xff0c;实测推理速度达每秒200个Tokens。…...

【图像处理入门】2. Python中OpenCV与Matplotlib的图像操作指南

一、环境准备 import cv2 import numpy as np import matplotlib.pyplot as plt# 配置中文字体显示&#xff08;可选&#xff09; plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False二、图像的基本操作 1. 图像读取、显示与保存 使用OpenCV…...

Spring Boot微服务架构(九):设计哲学是什么?

一、Spring Boot设计哲学是什么&#xff1f; Spring Boot 的设计哲学可以概括为 ​​“约定优于配置”​​ 和 ​​“开箱即用”​​&#xff0c;其核心目标是​​极大地简化基于 Spring 框架的生产级应用的初始搭建和开发过程​​&#xff0c;让开发者能够快速启动并运行项目…...

GRCh38版本染色体位置转换GRCh37(hg19)

目录 方法 1&#xff1a;使用 Ensembl REST API&#xff08;推荐&#xff0c;适用于少量位点查询&#xff09;方法 2&#xff1a;使用 UCSC API方法 3&#xff1a;使用 NCBI API 并转换坐标&#xff08;需要额外步骤&#xff09;方法 4&#xff1a;使用本地数据库&#xff08;最…...

TC/BC/OC P2P/E2E有啥区别?-PTP协议基础概念介绍

前言 时间同步网络中的每个节点&#xff0c;都被称为时钟&#xff0c;PTP协议定义了三种基本时钟节点。本文将介绍这三种类型的时钟&#xff0c;以及gPTP在同步机制上与其他机制的区别 本系列文章将由浅入深的带你了解gPTP&#xff0c;欢迎关注 时钟类型 在PTP中我们将各节…...

解决微信小程序中 Flex 布局下 margin-right 不生效的问题

解决微信小程序中 Flex 布局下 margin-right 不生效的问题 在做微信小程序开发时&#xff0c;遇到了一个棘手的布局问题&#xff1a;在 flex 布局下&#xff0c;给元素设置的 margin-right 不生效&#xff0c;被“吞噬”了。这个问题导致了横向滚动列表的右边距失效&#xff0…...

Kafka数据怎么保障不丢失

在分布式消息系统中&#xff0c;数据不丢失是核心可靠性需求之一。Apache Kafka 通过生产者配置、副本机制、持久化策略、消费者偏移量管理等多层机制保障数据可靠性。以下从不同维度解析 Kafka 数据不丢失的核心策略&#xff0c;并附示意图辅助理解。 一、生产者端&#xff1a…...

使用HTTPS进行传输加密

说明 日期&#xff1a;2025年5月30日 与以纯文本形式发送和接收消息的标准 HTTP 不同&#xff0c;HTTPS 使用SSL/TLS等协议对服务器进行身份验证、加密通信内容和检测篡改。 这样可以防止欺骗、中间人攻击和窃听等攻击。 证书很重要&#xff0c;如果用户主动信任了伪造证书&…...

AI书签管理工具开发全记录(八):Ai创建书签功能实现

文章目录 AI书签管理工具开发全记录&#xff08;八&#xff09;&#xff1a;AI智能创建书签功能深度解析前言 &#x1f4dd;1. AI功能设计思路 &#x1f9e0;1.1 传统书签创建的痛点1.2 AI解决方案设计 2. 后端API实现 ⚙️2.1 新增url相关工具方法2.1 创建后端api2.2 创建crea…...

X-plore v4.43.05 强大的安卓文件管理器-MOD解锁高级版 手机平板/电视TV通用

X-plore v4.43.05 强大的安卓文件管理器-MOD解锁高级版 手机平板/电视TV通用 应用简介&#xff1a; X-plore 是一款强大的安卓端文件管理器&#xff0c;它可以在电视或者手机上管理大量媒体文件、应用程序。…...

使用多Agent进行海报生成的技术方案及评估套件-P2P、paper2poster

最近字节、滑铁卢大学相关团队同时放出了他们使用Agent进行海报生成的技术方案&#xff0c;P2P和Paper2Poster&#xff0c;传统方案如类似ppt生成等思路&#xff0c;基本上采用固定的模版&#xff0c;提取相关的关键元素进行模版填充&#xff0c;因此&#xff0c;海报生成的质量…...

Redis--缓存工具封装

经过前面的学习&#xff0c;发现缓存中的问题&#xff0c;无论是缓存穿透&#xff0c;缓存雪崩&#xff0c;还是缓存击穿&#xff0c;这些问题的解决方案业务代码逻辑都很复杂&#xff0c;我们也不应该每次都来重写这些逻辑&#xff0c;我们可以将其封装成工具。而在封装的时候…...