测试方法的分类

静态测试

核心分类依据:根据是否执行程序分为静态测试和动态测试

静态测试方法

执行特征:不运行被测程序,通过人工检查或工具分析进行测试

测试对象:主要针对文档(包括需求文档、设计文档等)和源代码

实施方式:

基础检查:文档中的错别字、病句、标点符号错误、格式不一致等问题

深度验证:对照文档执行操作,验证文档描述的准确性和完整性

代码审查:检查源代码中的语法错误(如if语句后误加分号)和逻辑问题

类比说明:类似静态网站概念,不涉及用户交互修改,仅做内容展示

  • 含义: 评审(review)和审查(inspection)是团队测试的通用概念,指对特定类型的检查对象进行的活动。
  • 过程: 评审组对选择的评审对象进行审查和讨论,如需求规约说明书、系统设计、程序代码等。
  • 目的: 在评审过程中发现评审对象的错误、缺省、不精确处,以及维护的不完善和接口的错误描述等;查找与需求、指南、标准或规定的不符之处。评审的目的不在于直接解决问题,而在于发现问题、记录问题并总结经验教训。

动态测试

动态测试方法

  • 核心特征:必须运行程序,通过输入输出验证程序行为
  • 包含类型:分为黑盒测试和白盒测试两大类
  • 对比说明:类似动态网站概念,强调用户交互和内容修改能力

黑盒测试

别称:功能测试、数据驱动测试、基于规格说明书测试

核心思想:将程序视为不透明的"黑盒",只关注输入输出关系

形象比喻:如同给鸡退毛的过程,只关心投入带毛鸡和产出无毛鸡的结果,不关心内部处理机制

测试原则

用户视角:从最终用户角度出发验证系统功能

依据文档:以软件规格说明书为主要测试依据

数据关系:重点验证输入输出数据间的正确对应关系

局限性:

无法检测程序内部结构问题

难以发现规格说明书本身的缺陷

测试数据的选择具有局限性

主要技术:大纲法、场景法、等价类划分、边界值分析、决策表、错误推测法等

应用特点:这些方法均不涉及程序内部逻辑,仅基于外部规格设计测试用例

非功能测试

    * 测试目标:验证"系统工作得怎么样"而非"做什么"* 测试类型:+ 质量特性:可用性、可靠性、稳定性、健壮性、可恢复性+ 维护特性:可维护性、易用性+ 环境适应:可移植性/兼容性测试、配置测试+ 辅助要素:文档测试、国际化/本地化测试

白盒测试

白盒测试:也称结构测试、逻辑驱动测试、基于程序本身的测试,需要完全了解程序的结构和处理过程,按照程序内部逻辑测试程序,检验程序中每条通路是否按照预定要求工作。

目的:测试程序的逻辑结构,如分支、循环等是否正确。

白盒测试与黑盒测试的对比

黑盒测试:不关注程序内部结构,只关注输入与输出是否符合预期。

白盒测试:深入程序内部结构,检查每条逻辑路径是否按预定要求工作。

黑盒测试与白盒测试的区别

黑盒测试:

关注点:功能的测试,主要从用户的角度出发进行测试。

优点:能从用户的角度出发,关注输入和输出,测试数据结果是否正确。

缺点:无法测试程序的内部逻辑和结构。

白盒测试:

关注点:程序结构的测试,即对程序内部的特定部位进行覆盖测试。

优点:能关注到程序的内部逻辑和结构。

缺点:无法检查程序的外部特性,以及未实现规格说明的程序内部欠缺部分。

灰盒测试:

结合了黑盒测试和白盒测试的方法。

在测试网站时,灰盒测试可以大量使用。例如,在前台输入数据时可以使用黑盒测试,如果容易获得后台的源代码,则也可以做一些白盒测试。

测试方法的应用

在实际工作过程中,可能会用到黑盒测试、白盒测试或两者的混合使用。

混合使用时,两者的界限有时很难完全分开,在做测试时可能黑白盒测试会混合使用。

评审的分类

文档审查

  • 简单文档审查: 主要检查文档中的错别字、病句、标点符号错误以及排版错误,类似于校对工作。
  • 复杂文档审查: 需要核对文档中的说法是否与用户要求一致,是否与开发的理解一致,确保文档内容的准确性和一致性。

代码审查和代码走查

代码审查的含义、过程和目的

代码审查定义: 一种同级评审,通过检查文档以检测缺陷,如不符合开发标准,不符合上层的文档等。这是最正式的评审技术,基于文档化的过程。

  • 最正式的评审活动: 由专门培训的主持人(非作者)领导。
  • 同行检查: 定义了不同的角色,引入了度量。
  • 正式过程: 根据入口、出口规则的检查列表和规则定义,会议前需要准备,出具审查报告和发现问题列表。

静态分析方法

  • 核心特征:分析软件产品(如需求或代码)而不执行这些工作产品,强调"分析"而非测试
  • 静态特性:无需运行程序代码,因此称为"静态"分析
  • 与动态测试区别:不同于代码审查和代码走查,更依赖理论和技术手段

静态分析的分类

  • 主要方向:
    • 符合编程原则和标准(如编码规则)
    • 控制流分析(结合程序执行路径)
    • 复杂度分析(评估代码复杂程度)

数据流分析

检测内容:

未声明变量使用:如直接写而未声明int a

未初始化变量使用:如声明int a后直接print a

冗余变量声明:声明变量后从未使用(如int a但后续未引用)

严格性说明:

Java/C等语言严格要求变量先声明后使用

int a是声明,int a=3是定义

变量声明后必须使用,否则视为缺陷

控制流分析

控制流图

- 基本构成:* 图形特性:带开始和结束节点的有向图(可用椭圆表示)* 节点表示:程序指令/语句(顺序语句序列可合并为一个节点)* 边表示:语句执行路径(用箭头表示控制流向)
- 绘制原则:* 分支语句(if/switch)必须单独节点* 循环语句(while)单独节点* switch中的case不单独分节点* 开始/结束节点可省略
- 应用要点:* 根据需求或算法图绘制(非程序代码)* 边需要命名(如a→b→c表示执行路径)* 典型结构示例:

复杂度分析

圈复杂度

定义:复杂度分析给出一组能描述程序代码复杂度特征的度量,主要用于评估程序的复杂程度。

白盒测试方法

单元测试用例的设计方法

主要方法: 以白盒测试方法为主,适当结合黑盒测试方法

执行顺序: 一般采用"先黑后白"的测试策略

黑盒方法: 包括大纲法、场景法、边界值法、等价类划分、决策表、错误猜测等方法

白盒测试方法

1.逻辑覆盖法

测试对象: 主要测试程序中的顺序语句、分支语句(if/switch)、循环语句(while)以及条件表达式(>,<,>=,<=,and,or等)

  • 覆盖类型:
    • 语句覆盖
    • 判定覆盖
    • 条件覆盖
    • 判定条件覆盖
    • 条件组合覆盖

2.路径覆盖法

  • 测试原理: 对程序中的所有执行路径进行测试
  • 示例说明: 假设程序从a点到b点,可能经过c、d、e等节点,则测试路径包括:
    • a→c→b
    • a→d→b
    • a→e→b
    • 若存在交叉路径(如c→d),则增加a→d→c→b等更多路径

白盒测试方法的步骤

获得需求、获得/画出程序流程图/算法图

- 流程图符号:* 圆角矩形: 表示开始和结束* 平行四边形: 表示输入/输出* 菱形: 表示判断/条件* 程序输入三个变量a、b、c* 判断条件1:a>0a>0a>0且b>0b>0b>0+ 满足则执行c=c/ac=c/ac=c/a+ 然后判断条件2:a>1a>1a>1或c>1c>1c>1- 满足则执行c=c+1c=c+1c=c+1* 最终执行c=b+cc=b+cc=b+c并输出结果

绘制控制流图

例题:画控制流图

选择覆盖方法设计测试用例

语句覆盖法

1.目标

  • 最低标准:属于C0标准(Coverage的缩写),是测试理论中最基础的要求
  • 核心要求:程序中的每个可执行语句至少被执行一次,对应控制流程中的每个圆圈节点
  • 执行次数:允许语句多次执行,但要求最少执行一次
  • 死代码检测:若存在永远无法执行的语句,则表明程序存在缺陷(死代码)
  • 示例说明:对于条件分支结构,需要设计至少两条用例分别覆盖不同路径,如:

2.度量

  • 计算公式:覆盖率 = 被执行语句数 / 所有可能语句数 × 100%
  • 路径覆盖:除语句外还需考虑路径覆盖率,如分支结构中不同路径的执行情况
  • 理想目标:要求语句覆盖率必须达到100%,路径覆盖率根据测试需求而定
  • 重复执行:应尽量减少用例的重复执行,在保证覆盖率前提下优化用例数量
  • 实际应用:单元测试中常用,功能测试中较少使用该标准

语句覆盖法设计用例

1.语句覆盖要求: 在设计用例时,需要确保程序中的每一个语句都被执行至少一次。

2.语句覆盖路的走法

走法示例: 输入a, b, c,如果a>0且b>0,则执行c=c/a;如果a>1或c>1,则执行c=c+1;最后执行c=b+c,并输出a, b, c。需要设计用例使得这些语句都被执行。

  1. 设计用例

用例设计: 根据语句覆盖的要求,设计用例a=2, b=1, c=6。

用例解释: 这个用例可以确保所有语句都被执行。首先,a>0且b>0,所以执行c=c/a,c变为3;然后,a>1,所以执行c=c+1,c变为4;最后执行c=b+c,c变为5,并输出a, b, c的值为2, 1, 5。

用例有效性: 这个用例满足了语句覆盖的要求,因为所有语句都被执行了。

4.语句覆盖率: 通过设计用例并执行程序,可以计算出语句覆盖率。在本例中,通过用例a=2, b=1, c=6,所有语句都被执行,所以语句覆盖率为100%。

5.路径覆盖率: 路径覆盖率是指程序中所有可能的执行路径被测试的比例。在本例中,存在四条可能的执行路径,但语句覆盖法只测试了其中一条,所以路径覆盖率为25%。

提高路径覆盖率: 为了提高路径覆盖率,需要设计更多的用例来覆盖其他可能的执行路径。这通常需要使用更复杂的测试方法,如条件覆盖、路径覆盖等。

分支覆盖标准

分支覆盖(判定覆盖)定义

定义: 分支覆盖(判定覆盖)是指程序中的每个判定的真分支和假分支至少各执行一次。

判定: 即大条件,如if、where语句中的条件表达式。

题目给出了一个包含多个判定条件的程序片段,要求设计测试用例以满足分支覆盖标准。

  • 解题思路:
    • 首先识别程序中的判定条件,即a>0且b>0和a>1或c>1。
    • 然后设计测试用例,使得每个判定的真分支和假分支至少各执行一次。
    • 可以通过选择不同的路径来实现,例如:
      • 用例1:a<0, b<0, c<0,此时两个判定条件均为假。
      • 用例2:a=2, b=1, c=6,此时两个判定条件均为真。
分支覆盖的定义
  • 分支覆盖: 也叫判定覆盖,是软件测试中的一种覆盖准则,要求设计测试用例,使得程序的每一个分支(或判定)至少被执行一次。
  • 语句覆盖率: 在这个例子中,语句覆盖率是百分之百,但分支覆盖率可能不同。
分支覆盖的计算

  • 覆盖率计算: 若有七个语句,其中五个语句被覆盖,则分支覆盖率为5/7,即约71.43%,而非100%。
  • 单独分析: 需要单独看每个分支是否被覆盖,而不能只看整体的语句覆盖率。
分支覆盖的覆盖率
覆盖率概述

总体覆盖率: 在进行代码测试时,总体上达到了百分之百的语句覆盖率。

路径覆盖率: 提及了路径覆盖率的概念,并指出在特定的测试用例中,只走了两条路径,因此路径覆盖率为百分之五十。

条件覆盖法设计测试用例

  • 定义: 条件覆盖(C2标准)要求使每个判定中的每个条件的可能取值至少满足一次,即每个条件都要真(True)一次,假(False)一次。
  • 与分支覆盖的对比: 分支覆盖关注大条件的正确性,而条件覆盖能发现条件错误(如大于、小于、等于写错),但不能发现逻辑错误。

例题:

条件覆盖的例子与分析

判定条件覆盖C1+C2

同时满足判定覆盖和条件覆盖的要求

判定条件覆盖C1+C2应用案例

例题:条件掩盖问题

用例:

测试用例输入原子条件判定条件
a=2 b=1 c=4a>0 真,b>0 真,a>1真,c>1真判定3取真,判定6取真
a=-1 b=-2 c=-3a>0 假,b>0 假,a>1假,c>1假判定3取假,判定6取假
条件组合覆盖

定义: 条件组合覆盖,也称为多条件覆盖C3,要求每个判定中的所有的条件取值组合至少执行一次。

路径覆盖C4

覆盖路径

路径覆盖: 除了满足条件组合覆盖外,还需要考虑路径的覆盖,即程序执行的所有可能路径都要被测试到。

示例: 在给定的判定条件下,需要确保真真、假真、假假等所有路径都被覆盖到,如果有遗漏的路径(如真假),则需要补充相应的用例。

注意: 路径覆盖通常比条件组合覆盖要求更高,用例数量可能会翻倍。

路径覆盖法

  • 核心目标:要求测试用例覆盖程序中所有可能的执行路径,包括循环路径
  • 覆盖标准:属于白盒测试中的C4级覆盖标准,比条件组合覆盖更严格
  • 执行难点:程序中的循环结构会导致路径数量呈指数级增长,例如操场跑步的比喻(第500圈状态无法预测)
应用案例

  • 四路径模型:通过a>0、b>0、a>1、c>1四个条件组合形成4条独立路径
  • 用例设计:
    • 全真路径:a=2,b=1,c=6(判定3真/判定6真)
    • 全假路径:a=-1,b=-2,c=-3(判定3假/判定6假)
    • 混合路径1:a=1,b=1,c=-3(判定3真/判定6假)
    • 混合路径2:a=-1,b=2,c=3(判定3假/判定6真)
  • 适用条件:适用于无循环或有限循环次数的程序段
路径覆盖优化
McCabe的基路径方法 02:51
  • 理论基础:基于圈复杂度计算线性独立路径数(边-节点+2)
  • 优化原理:通过控制流图识别基本路径,避免无限循环测试
  • McCabe的控制图

- 节点定义:A为起始节点,G为终止节点,B/C/D等为过程节点
- 循环识别:B→C→B形成循环结构,需特殊处理
- 复杂度计算:闭合环数+1=5(示例中需设计5条独立路径)
路径覆盖法设计用例

路径示例

    * 路径选择原则:+ 允许部分重叠(如p1与p2在A→B→C段重叠)+ 禁止完全包含(如p2不应完全包含p1的路径)+ 循环结构仅测试单次迭代(如p2中的B→C→B)* 典型路径:+ p1:A→B→C→G(边1,4,9)+ p2:A→B→C→B→C→G(边1,4,3,4,9)+ p3:A→D→E→F→G(边2,6,8,10)+ p4:A→D→F→G(边2,7,10)+ p5:A→B→E→F→G(边1,5,8,10)

白盒测试方法总结

逻辑覆盖:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,多条件覆盖

例题:程序控制图测试用例设计

遇到这种逻辑题一看就是使用白盒测试方法

覆盖方法分类:白盒测试主要包含语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多条件组合覆盖和路径覆盖六种方法

测试重点:当出现算法图时,通常优先采用白盒测试方法设计用例,特别是各种逻辑覆盖方法

1.语句覆盖: 确保程序中的每个语句至少执行一次 (两个语句都要走)

2.判定覆盖:每个判定条件的真假结果至少各出现一次 (对一次,错一次)

3.条件覆盖: 每个子条件的真假结果至少各出现一次

4.判定/条件覆盖:同时满足判定覆盖和条件覆盖的要求

5.多条件组合覆盖:覆盖所有可能的条件组合(一个条件对的时候,另一个条件对一次错一次)

每个子条件在真假情况下都需要被覆盖,且组合条件也要被覆盖

6.路径覆盖:覆盖程序所有可能的执行路径

路径覆盖要求程序中的所有可能路径都要被执行一次,即所有条件分支的每一种组合都要被覆盖。

大条件对,另一个条件对错各一次

1.语句覆盖

要求:A<5&B=5 & A=2 | X>2

用例:A=2,B=5,X=3

2.判定覆盖

要求:A<5&B=5 对一次,错一次

A=2 | X>2 对一次,错一次

用例:

A=2,B=5,X=3

A=6,B=5,X=1

3.条件覆盖

要求:

A<5 对错各一次 对 错

B=5 对错各一次 对 错

A=2 对错各一次 对 错

X>2 对错各一次 对 错

用例:

A=2,B=5,X=3

A=6,B=6,X=1

4.判定/条件覆盖

要求:

A<5 对错各一次 对 错

B=5 对错各一次 对 错

A<5 & B=5 对一次,错一次 对 错

A=2 对错各一次 对 错

X>2 对错各一次 对 错

A=2 | X>2 对一次,错一次 对 错

用例:

A=2,B=5,X=3

A=6,B=6,X=1

5.多条件覆盖

要求:

A<5对,B=5对 覆盖

A<5对,B=5错 覆盖

A<5错,B=5对 覆盖

A<5错,B=5错 覆盖

A=2对,X>2对 覆盖

A=2对,X>2错 覆盖

A=2错,X>2对 覆盖

A=2错,X>2错 覆盖

用例:

第一条A=2,B=5,X=3

第二条A=6,B=6,X=1

--------补用例---------

第三条A=2,B=6,X=1

第四条A=6,B=5,X=3


使用·列举,合并上述四条用例

6.路径覆盖

要求:

A<5 & B=5 对,A=2 | X>2 对 覆盖。

A<5 & B=5 对,A=2 | X>2 错 覆盖。。

A<5 & B=5 错,A=2 | X>2 对 覆盖。。。

A<5 & B=5 错,A=2 | X>2 错 覆盖。。。。

用例:

A=2,B=5,X=3 。

A=6,B=6,X=1 。。。。

A=2,B=6,X=1 。。。

A=3,B=5,X=1 。。

最终的用例:

A=2,B=5,X=3
A=6,B=6,X=1
A=2,B=6,X=1
A=3,B=5,X=1

A=6,B=5,X=3

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

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

相关文章

查看CPU支持的指令集和特性

1&#xff09;gcc -c -Q -marchnative --helptarget 2&#xff09;结果 The following options are target specific: -m128bit-long-double [enabled] -m16 [disabled] -m32 [disabled…

【大模型应用开发】Unity结合大模型实现智能问答功能

零、最终效果 Unity结合大模型实现智能问答功能 一、文本自动换行效果 新建一个Text文本&#xff0c;设置文本的最大宽度 然后添加Content Size Fitter组件&#xff0c;Vertical Fit选择Preferred Size 二、背景随文本长度变化效果 新建一个Image作为文本的背景&#xff0…

Python爬虫-爬取汽车之家全部汽车品牌及车型数据

前言 本文是该专栏的第64篇,后面会持续分享python爬虫干货知识,记得关注。 本文,笔者将基于汽车之家平台,通过Python获取全部的“汽车品牌以及车型”数据。 废话不多说,具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看正文详…

签名组件:uniapp 签名组件开发,兼容小程序、H5、App等 电子签名

描述 H5&#xff1a;1. 模拟横屏。2. 提示信息、模拟态也通过模拟横屏显示 小程序&#xff1a;1. 自动横屏展示 APP&#xff1a;1. 自动横屏展示 rn-signature 个性签名组件 组件名 rn-signature 签名组件兼容H5、APP、小程序。横屏签名效果。 效果展示 h5端 小程序端 APP 端…

第10.4篇 使用预训练的目标检测网络

在PyTorch提供的已经训练好的图像目标检测中&#xff0c;均是R-CNN系列 的网络&#xff0c;并且针对目标检测和人体关键点检测分别提供了容易调用的方 法。针对目标检测的网络&#xff0c;输入图像均要求使用相同的预处理方式&#xff0c;即先将每张图像的像素值预处理到0~1之…

基于开源链动2+1模式AI智能名片S2B2C商城小程序源码的运营机制沉淀与规范构建研究

摘要&#xff1a;在数字化商业生态中&#xff0c;运营机制的沉淀与规范构建是企业实现可持续增长的核心命题。本文以开源链动21模式、AI智能名片、S2B2C商城小程序源码为技术基座&#xff0c;提出“机制设计-数据沉淀-规范生成-迭代优化”的四阶闭环模型。通过某健康食品品牌的…

js代码05

题目 好的&#xff0c;我们进入异步编程的“终极形态”&#xff1a;async/await。 async/await 是在 ES2017 (ES8) 中引入的&#xff0c;它并不是一个全新的功能&#xff0c;而是建立在 Promise 之上的语法糖 (Syntactic Sugar)。它的目标是让我们能够以一种看似同步、更符合…

PyTorch里.pt和.pth的区别

在PyTorch中&#xff0c;.pt和.pth文件均用于保存模型&#xff0c;但两者在设计初衷、存储内容和使用场景上存在差异。以下是详细对比&#xff1a; 1. 核心区别 特性.pt文件.pth文件存储内容完整模型&#xff08;结构参数优化器状态等&#xff09;仅模型参数&#xff08;state…

windows电脑如何安装iis作为部署服务器并

1.控制面板-程序-启用或关闭windows功能-勾选iis(缩写) 2.安装好iis后在开始中搜索iis就可以看见安装好了的管理器了

解锁ChatGPT高级玩法:模块化提示词库开发指南

目录 &#x1f50d; 一、引言&#xff1a;为什么需要模块化提示词库&#xff1f;&#x1f9f1; 二、模块化提示词库设计原理2.1 核心架构2.2 模块功能说明 ⚙️ 三、模块化提示词库开发实践&#xff08;附Python源码&#xff09;3.1 环境配置3.2 模块化提示词生成器3.3 提示词组…

Spring Boot 实现不同用户不同访问权限

前提 近期在使用 Spring Boot&#xff0c;用户角色被分为管理者和普通用户&#xff1b;角色不同&#xff0c;权限也就存在不同。 在 Spring Boot 里实现不同用户拥有不同访问权限&#xff0c;可借助 Spring Security 框架达成。 实现 1. 添加必要依赖 首先要在 pom.xml 里…

华沿协作机器人:数字孪生技术赋能焊接领域智能化升级

在工业4.0与智能制造浪潮的推动下&#xff0c;焊接行业正经历从传统工艺向数字化、柔性化转型的关键阶段。作为国内协作机器人领域的创新者&#xff0c;华沿机器人通过融合数字孪生、智能感知与多轴协同技术&#xff0c;在焊接场景中实现了技术突破与应用创新。本文将从技术原理…

Linux中部署Nacos保姆级教程

前置说明&#xff1a; Dokcer部署Nacos官方文档&#xff1a;Nacos Docker 快速开始 | Nacos 官网 一、Nacos版本说明 Nacos 1.x 版本 Nacos 1.1.3 &#xff1a;是一个相对稳定的版本&#xff0c;在一段时期内被广泛使用&#xff0c;但目前该版本已经下线&#xff0c;不再单独维…

战神授权后台报错:Parse error: syntax error, unexpected end of file in解决办法

问题现象分析 当您在战神授权后台遇到"Parse error: syntax error, unexpected end of file"这个错误时&#xff0c;说明PHP解析器在解析脚本文件时遇到了意外结束的情况。这种错误通常发生在PHP代码结构不完整时&#xff0c;比如缺少闭合的大括号、分号或者PHP结束…

HTML<span>元素详解

HTML<span>元素详解 <span> 是 HTML 中最常用的内联(inline)容器元素&#xff0c;用于对文档中的部分文本或内容进行标记和样式化。 一、基本语法 <span>内容</span>二、主要特点 内联元素&#xff1a;不会独占一行&#xff0c;只占据内容所需宽度无…

vscode ssh远程连接到Linux并实现免密码登录

vscode ssh远程连接到Linux并实现免密码登录 文章目录 vscode ssh远程连接到Linux并实现免密码登录一、安装VSCode扩展二、Linux侧工作三、连接四、实现免密登录 一、安装VSCode扩展 扩展一栏搜索remote找到Remote Development插件直接点击Install安装即可 二、Linux侧工作 U…

超级详细 的 Apache Camel 教程

前言 通过本教程学习 Apache Camel 的基础知识并在 Spring Boot 项目上创建您的第一个 Camel。 想开始使用Apache Camel吗&#xff1f;这是我关于这个流行的 Java 集成框架的教程。 我为完整的初学者编写了这个 Apache Camel 教程。它向您介绍了 Camel 的核心概念&#xff0c;并…

使用GithubActions和腾讯CloudBase自动发布静态网页

腾讯 CloudBase 可以用于托管静态网站&#xff0c;服务开通之后&#xff0c;使用 CloudBase CLI 可以将本地静态网站上传到 CloudBase&#xff0c;并生成相应的访问域名。 配置 Workflow 创建 .github/workflows/deploy.yml 文件, 编辑内容如下&#xff1a; name: Deploy to…

《聊一聊ZXDoc》之汽车标定、台架标定、三高标定

ZXDoc支持XCP/CCP标定功能&#xff0c;标定工作贯穿主机厂与Tier1厂商汽车ECU研发、生产、测试的整个流程&#xff0c;是保障ECU性能达标、功能稳定的关键。 什么是XCP/CCP标定&#xff1f; XCP/CCP标定是汽车电子领域用于ECU标定和测量的核心通信协议&#xff0c;由ASAM组织…

【目标检测】评估指标详解:Precision/Recall/F1-Score

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…