车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】

目录

  • 1 摘要
  • 2 位置灯手动控制简述
    • 2.1 位置灯手动控制需求简述
    • 2.2 位置灯手动控制逻辑交互图
  • 3 用例导出方法以及优先级原则
    • 3.1 用例导出方法
      • 3.1.1 用例导出方法介绍
      • 3.1.2 用例导出方法关键差异分析
    • 3.2 优先级规则
      • 3.2.1 优先级划分的核心原则
      • 3.2.2 具体等级定义与判定标准
    • 3.3 用例展示
  • 4 总结

1 摘要

前文介绍了车载外灯模块的常见模块的功能、控制原理实现以及需求,本文主要以位置灯为例,详细讲述针对此类需求如何从需求导出用例,并保证用例对需求的覆盖度。

2 位置灯手动控制简述

2.1 位置灯手动控制需求简述

以位置灯手动打开为例:

  1. 当使能条件a&b满足时:
  • a为电源CAN信号ON=0x1
  • b为位置灯状态为off=0x0
  1. 触发条件(c|d)&e满足时:
  • c为接收到IDCU发送的位置灯开关状态信号为ON=0x1
  • d为触发以太网服务接口调用,某以太网信号=0x1
  • e为接收到任意位置灯打开状态信号为ON=0x1
  1. 执行输出f,g,h:
  • f为发送位置灯点亮控制信号为ON=0x1
  • g为收到e后反馈位置灯打开状态信号ON=1给IDCU,
  • h为把g的信号转换为以太网信号
    注意:执行输出f后,50ms(包含50ms)内接收到e,执行输出g、h;且不考虑容差
  1. 如果退出条件i|j|k满足时:
  • i为收到IDCU的前大灯关闭信号为OFF=0x1,
  • j为接收到AUTO大灯触发信号为ON=0x1
  • k为电源CAN信号为OFF=0x2(与a为同一信号)
  • 停止输出f、g、h,

2.2 位置灯手动控制逻辑交互图

如下是上述需求控制逻辑交互图:

使a与b
c或d?
输出f
e?
输出g,h
i或j或k?
停止所有输出
  • 控制过程简述:
    CCU满足使能条件后,收到来自IDCU发送的位置灯开关信号或者远程以太网信号后,CCU发送位置灯打开控制指令信号给ZCU,ZCU进行驱动打开位置灯并反馈打开状态给CCU,CCU收到位置灯打开状态信号后,将位置灯打开状态信号转发到IDCU并且转换成以太网信号。
  • 信号对照表:
信号方向说明
a输入0x1电源ON
b输入0x0灯状态OFF
c输入0x1IDCU手动触发
d输入0x1以太网远程触发
e输入0x1ZCU位置灯状态反馈
f输出0x1CCU给ZCU发送位置灯控制信号
g输出0x1CCU反馈位置灯状态信号给IDCU
h输出0x1以太网状态同步

3 用例导出方法以及优先级原则

3.1 用例导出方法

3.1.1 用例导出方法介绍

1. 需求分析法
定义:直接根据需求文档的显式描述设计用例,验证功能是否按需求实现。
关键差异点

  • 唯一直接关联需求条款的方法
  • 不关注输入组合,只验证功能逻辑

示例

  • 需求:当使能条件a&b满足时,触发条件(c|d)&e满足时,执行输出f,g,h

  • 对应用例ID1: 使能条件满足&触发条件满足主流程测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): c=0x1  
    预期输出1: f=0x1
    操作步骤2(触发条件):f=0x1后40ms,e=0x1
    预期输出2:g=0x1、h=0x1
    导出方法: 需求分析
    
  • 对应用例ID2:使能条件满足&触发条件满足主流程测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): d=0x1  
    预期输出1: f=0x1
    操作步骤2(触发条件):f=0x1后40ms,e=0x1
    预期输出2:g=0x1、h=0x1
    导出方法: 需求分析
    
  • 对应用例ID3: 触发条件满足子分支流程测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): c=0x1  
    预期输出1: f=0x1
    预期不输出2:g≠0x1、h≠0x1
    导出方法: 需求分析
    
  • 对应用例ID4: 触发条件满足子分支流程测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): d=0x1  
    预期输出1: f=0x1
    预期不输出2:g≠0x1、h≠0x1
    导出方法: 需求分析
    
  • 对应用例ID5: 退出条件正向测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): c=0x1  
    预期输出1: f=0x1
    操作步骤2(触发条件):f=0x1后40ms,e=0x1
    预期输出2:g=0x1、h=0x1
    操作步骤3(退出条件):i=0x1(退出条件满足)
    预期输出3:停止输出f、g、h
    导出方法: 需求分析
    
  • 对应用例ID6: 退出条件正向测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): d=0x1  
    预期输出1: f=0x1
    操作步骤2(触发条件):f=0x1后40ms,e=0x1
    预期输出2:g=0x1、h=0x1操作步骤3(退出条件):j=0x1(退出条件满足)
    预期输出3:停止输出f、g、h
    导出方法: 需求分析
    
  • 对应用例ID7: 退出条件正向测试

    初始条件: a=0x1, b=0x0
    操作步骤1(触发条件): d=0x1  
    预期输出1: f=0x1
    操作步骤2(触发条件):f=0x1后40ms,e=0x1
    预期输出2:g=0x1、h=0x1操作步骤3(退出条件):k=0x2(退出条件满足)
    预期输出3:停止输出f、g、h
    导出方法: 需求分析
    

2. 等价类划分法
定义:将输入数据划分为有效/无效类,每类选取代表值测试。
关键差异点

  • 关注输入数据的分类而非需求逻辑
  • 可大幅减少用例数量

示例

  • 需求:当使能条件a&b不满足时,触发条件(c|d)&e满足时,不执行输出f,g,h

    • 有效类:a=0x1&b=0x0(a&b都满足)需求分析用例已覆盖
    • 无效类:a=0x2&b=0x0、a=0x1&b=0x1、a=0x2&b=0x1(a、b至少有一个不满足)
  • 对应用例ID8: 使能条件异常测试

 初始条件: a=0x2, b=0x0(使能条件a不满足)操作步骤1(触发条件): c=0x1  预期不输出1: f≠0x1操作步骤2(触发条件):f=0x1后40ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 等价类划分法
  • 对应用例ID9: 使能条件异常测试
 初始条件: a=0x1, b=0x1(使能条件b不满足)操作步骤1(触发条件): c=0x1  预期不输出1: f≠0x1操作步骤2(触发条件):f=0x1后40ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 等价类划分法
  • 对应用例ID10: 使能条件异常测试
 初始条件: a=0x2, b=0x1(使能条件a&b都不满足)操作步骤1(触发条件): c=0x1  预期不输出1: f≠0x1操作步骤2(触发条件):f=0x1后40ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 等价类划分法
  • 需求:当使能条件a&b满足时,触发条件(c|d)&e不满足时,不执行输出f,g,h

    • 有效类:c=0x1&e=0x1满足、d=0x1&e=0x1满足;(c&e满足、d&e满足)需求分析用例已覆盖
    • 无效类:c=0x0&d=0x0&e=0x1(c&d均不满足,e满足)、c=0x0&d=0x0&e=0x0(c&d&e均不满足)
  • 对应用例ID11: 触发条件异常测试

  初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x0&d=0x0 (触发条件c&d都不满足)预期不输出1: f≠0x1操作步骤2(触发条件):f=0x1后40ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 等价类划分法
  • 对应用例ID12: 触发条件异常测试
  初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x0&d=0x0 (触发条件c&d都不满足)预期不输出1: f≠0x1操作步骤2(触发条件):f=0x1后40ms,e=0x0(触发条件e不满足)预期不输出2:g≠0x1、h≠0x1导出方法: 等价类划分法

3. 边界值分析法
定义:针对输入范围的边界及相邻值设计用例。
关键差异点

  • 专门测试临界值,而非随机取值
  • 通常与等价类结合使用

示例

  • 条件:注意:执行输出f后,50ms(包含50ms)内接收到e,执行输出g、h;且不考虑容差
    • 边界值:(0,50]有效等价类
    • 边界值:(50,+∞)无效等价类
    • 选取典型值:25、50、51、100
  • 对应用例ID13: 25ms时触发e
 初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x1  预期输出1: f=0x1操作步骤2(触发条件):f=0x1后25ms,e=0x1预期输出2:g=0x1、h=0x1导出方法: 边界值分析+等价类分析
  • 对应用例ID14: 50ms时触发e
 初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x1  预期输出1: f=0x1操作步骤2(触发条件):f=0x1后50ms,e=0x1预期输出2:g=0x1、h=0x1导出方法: 边界值分析+等价类分析
  • 对应用例ID15: 51ms时触发e
 初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x1  预期输出1: f=0x1操作步骤2(触发条件):f=0x1后51ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 边界值分析+等价类分析
  • 对应用例ID16: 100ms时触发e
 初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x1  预期输出1: f=0x1操作步骤2(触发条件):f=0x1后100ms,e=0x1预期不输出2:g≠0x1、h≠0x1导出方法: 边界值分析+等价类分析

4. 正交试验法
定义:利用正交表高效组合多因素多水平。
关键差异点

  • 解决多参数组合爆炸问题
  • 需人工补充重要场景

示例

  • 因素:a(0x1,0x2), b(0x0,0x1), c(0x0,0x1)
  • 正交表生成用例:
    # L4正交表生成
    1. a=0x1, b=0x0, c=0x1  
    2. a=0x1, b=0x1, c=0x0  
    3. a=0x2, b=0x0, c=0x0  
    4. a=0x2, b=0x1, c=0x1  
    导出方法: 正交试验法  
    

本例用例导出未采用正交表法,此处只是做为示例,如果对此方法感兴趣,可以回顾往期文章:
车载测试用例开发-如何平衡用例覆盖度和测试效率的方法论
5. 错误猜测法
定义:基于经验测试可能出错但需求未明确的场景。
关键差异点

  • 高度依赖测试人员经验
  • 无系统性覆盖保证

异常场景: 退出条件同时触发

  • 对应用例ID17: 退出条件同时触发
 初始条件: a=0x1, b=0x0操作步骤1(触发条件): c=0x1  预期输出1: f=0x1操作步骤2(触发条件):f=0x1后40ms,e=0x1预期输出2:g=0x1、h=0x1操作步骤3(退出条件):i=0x1、j=0x1、k=0x2预期输出2:f、g、h停止输出导出方法: 错误猜测法

比如,使能条件a满足——>不满足——>满足的多次切换,是否功能异常
比如,触发条件c满足——>c失效——>d满足——>d失效……多次操作,是否异常
比如,执行输出f、g、h后,长时间等待(不进行退出条件)是否非预期退出
等等,需要结合项目以往经验形成的用例库进行添加
6. 状态迁移法
定义:覆盖系统所有状态及转换路径。
关键差异点

  • 适合状态机驱动的系统
  • 需绘制状态迁移图

示例

  • 电源状态机:
    a=0x1
    a=0x2
    b=0x1
    OFF
    ON
    ERROR
    仅作示例,本例需求不进行用例导出
    7. 时序分析法
    定义:验证时间相关的系统行为。
    关键差异点
  • 关注延迟、超时等时序约束
  • 需精确控制时间变量

边界值用例已经覆盖,此处不进行用例导出;

测试用例导出方法全景表

方法核心思想适用场景优点缺点典型示例
需求分析法直接映射需求文档的显式逻辑功能主流程、分支条件、异常处理确保需求100%覆盖依赖需求完整性用例ID1-7
等价类划分输入数据分类为有效/无效类参数输入、状态转换、范围验证减少冗余用例需明确边界定义用例ID8-12
边界值分析测试输入范围的临界值数值边界、状态切换点、极值场景发现边界缺陷率高不适用于非连续数据用例ID13-16
正交试验法用正交表组合多因素多水平多参数交互场景、配置组合测试高效覆盖组合场景复杂场景需人工补充组合a,b,c,d生成基础用例
错误猜测法基于经验预测潜在缺陷异常操作、硬件故障、极端条件补充非显式需求漏洞主观性强,覆盖率低用例ID17
状态迁移法覆盖系统所有状态及转换路径状态机、协议交互、多模态系统路径覆盖完整状态爆炸问题测试电源ON→OFF→ON的切换
时序分析法验证时间相关行为(延迟/超时)实时系统、通信协议、异步事件处理捕捉时序相关缺陷需专用工具支持用例ID13-16

方法对比矩阵

维度需求分析等价类边界值正交试验错误猜测状态迁移时序分析
覆盖目标需求条款输入分类临界值参数组合经验缺陷状态路径时间约束
是否需要需求文档必须可选可选不需要不需要需要需要
自动化程度
典型工具需求管理工具等价类工具边界值工具正交表工具状态机工具时序分析工具

3.1.2 用例导出方法关键差异分析

1. 需求分析 vs 等价类划分

维度需求分析法等价类划分法
输入来源需求文档的明文条款输入参数的数据范围
测试目标验证功能是否按需求实现验证输入分类的处理是否正确
示例对比测试退出条件i|j|k的功能实现某值a的取值分为0x1/0x0/0x3等类别

选择依据

  • 若需求明确描述逻辑(如"当A且B时执行C")→ 需求分析
  • 若需验证输入参数的各种值(如枚举类型)→ 等价类划分

2. 边界值分析 vs 正交试验法

维度边界值分析正交试验法
覆盖重点单参数的极值/临界值多参数组合的交互效应
工具支持手动选取边界点依赖正交表工具生成
示例对比测试51ms49ms的边界值组合测试a=0x1, b=0, c=1, d=0

选择依据

  • 测试单个参数的极限(如最大值、OFF/ON切换)→ 边界值
  • 测试多个参数的组合影响(如同时调节温度和湿度)→ 正交试验

3. 错误猜测 vs 时序分析

维度错误猜测法时序分析法
测试依据依赖测试人员经验依赖需求定义的时序约束
典型场景输入非法值、暴力操作信号延迟、响应超时、竞态条件
示例对比输入a=0x4(未定义值)验证e信号500ms超时是否触发恢复

选择依据

  • 无明确规则但可能存在风险的场景 → 错误猜测
  • 有时间约束或顺序依赖的场景 → 时序分析

4.导出方法选择流程图

开始
需求是否明确?
需求分析法
测试输入参数?
参数有明确范围?
等价类+边界值
错误猜测法
涉及多条件组合?
正交试验法
有时序约束?
时序分析法
状态迁移法

通过系统化应用这些方法,可构建完整且高效的测试用例集。实际项目中建议:

  1. 优先使用需求分析+等价类+边界值覆盖基础场景
  2. 正交试验解决组合问题 ,减少组合爆炸
  3. 最后用错误猜测+时序分析补充边缘场景

3.2 优先级规则

3.2.1 优先级划分的核心原则

根据ISO 26262和ASPICE标准,优先级由以下四个维度综合决定:

  1. 功能安全等级(ASIL)
  2. 失效影响的严重度
  3. 使用场景的发生概率
  4. 历史缺陷分布

工程实践中的权重计算
采用量化评分法(每项1-5分,权重不同):

\text{优先级分数} = 0.4 \times \text{ASIL等级} + 0.3 \times \text{严重度} + 0.2 \times \text{发生概率} + 0.1 \times \text{历史缺陷}
  • 示例:ID5、6、7(退出条件测试)
    • ASIL D=5分, 严重度=5分, 发生概率=4分, 历史缺陷=5分
    • 得分:0.4×5 + 0.3×5 + 0.2×4 + 0.1×5 = 4.8 → 高优先级

行业标准依据

  1. ISO 26262-8:2018

    • 第9章:高优先级用例必须覆盖所有ASIL D相关场景
    • 附录B:推荐冒烟测试包含<10%用例但覆盖>80%核心功能
  2. ASPICE SWE.5

    • 测试执行顺序应按风险等级降序排列
  3. AUTOSAR测试指南

    • 安全相关信号(如退出条件)的测试优先级必须高于功能信号

3.2.2 具体等级定义与判定标准

1. 冒烟测试(最高优先级)

  • 选择标准
    • 验证系统最基础、最核心的功能路径
    • 覆盖ASIL D要求的最高安全等级场景
    • 必须100%通过才能进入后续测试

2. 高优先级

  • 选择标准
    • 涉及安全关键功能(ASIL C/D)
    • 验证单点失效、边界条件或安全机制
    • 历史缺陷高发区域

3. 中优先级

  • 选择标准
    • 常规功能验证(ASIL A/B)
    • 非安全相关的无效输入组合
    • 需求明确但非核心路径

4. 低优先级

  • 所有用例均关联功能安全需求,无纯非功能或装饰性功能测试
  • 结合使用场景考虑,使用场景发生概率非常低;

优先级判定流程图

分析用例
是否核心功能路径?
冒烟测试
是否涉及ASIL C/D?
高优先级
是否验证边界/异常?
中优先级

3.3 用例展示

用例IDabcdei/j/kΔt预期输出优先级导出方法
10x10x00x10x00x140msf=ON, g/h=ON (e触发后)冒烟需求分析
20x10x00x00x10x140msf=ON, g/h=ON (e触发后)冒烟需求分析
30x10x00x10x00x040msf=ON, g/h (无输出)需求分析
40x10x00x00x10x040msf=ON, g/h (无输出)需求分析
50x10x00x10x00x1i=0x140ms①f=ON, g/h=ON (e触发后) ②i满足后,立即停止输出fgh需求分析
60x10x00x00x10x1j=0x140ms①f=ON, g/h=ON (e触发后) ②j满足后,立即停止输出fgh需求分析
70x10x00x00x10x1k=0x240ms①f=ON, g/h=ON (e触发后) ②k满足后,立即停止输出fgh需求分析
80x20x00x10x00x140ms无输出等价类分析+边界值分析
90x10x10x00x10x140ms无输出等价类分析+边界值分析
100x20x10x10x00x140ms无输出等价类分析+边界值分析
110x10x00x00x00x140ms无输出等价类分析+边界值分析
120x10x00x00x00x040ms无输出等价类分析+边界值分析
130x10x00x10x00x125msf=ON, g/h=ON (e触发后)边界值分析+等价类分析
140x10x00x10x00x150msf=ON, g/h=ON (e触发后)边界值分析+等价类分析
150x10x00x10x00x151msf=ON, g/h=ON (无输出)边界值分析+等价类分析
160x10x00x10x00x1100msf=ON, g/h=ON (无输出)边界值分析+等价类分析
170x10x00x10x00x1i=0x1,j=0x1,k=0x240ms①f=ON, g/h=ON (e触发后) ②ijk满足后,立即停止输出fgh错误猜测

错误猜测法补充
比如,使能条件a满足——>不满足——>满足的多次切换,是否功能异常——优先级低
比如,触发条件c满足——>c失效——>d满足——>d失效……多次操作,是否异常——优先级低
比如,执行输出f、g、h后,长时间等待(不进行退出条件)是否非预期退出——优先级低
等等,需要结合项目以往经验形成的用例库进行添加

测试执行顺序
通过此优先级划分,可在有限测试资源下:

  1. 优先暴露安全关键缺陷(如退出条件失效)
  2. 确保核心功能100%验证
  3. 优化测试时间(冒烟测试仅需10分钟,覆盖80%风险)

这种方法是汽车电子领域平衡效率与安全的行业最佳实践。

需求拓展说明
1. 需求变更分析

  • 原条件a=0x1(ON)时使能有效,a=0x2(OFF)时无效。
  • 新条件a ≠ 0x2(即 a=0x00x10x3 均可能有效-通信矩阵已定义)。
  • 通信矩阵定义
    • 0x1:ON
    • 0x2:OFF
    • 0x0:未知状态(需明确是否合法)
    • 0x3:特殊模式(如诊断状态)

问题:是否需要遍历所有有效类?
取决于需求对 a 的详细定义:

  • 若需求仅要求 a ≠ 0x2
    • 需验证所有非 0x2 的值(0x00x10x3)是否均能触发功能。
    • 测试方法:等价类划分(有效类:a ∈ {0x0, 0x1, 0x3};无效类:a=0x2)。
  • 若需求进一步约束有效值(如仅 0x10x3 有效,0x0 非法):
    • 需单独验证 0x10x3,并将 0x0 归为无效等价类。

结论

  • 必须遍历所有有效类:若需求未明确排除 0x00x3,需验证所有非 0x2 值。
  • 优先级分配
    • 典型值(如 0x1)为 冒烟测试
    • 非典型值(如 0x00x3)为 中优先级
    • 无效值(0x2)为 高优先级
  • 覆盖完整性:通过等价类划分 + 边界值分析确保无遗漏。

4 总结

以上是针对手动控制位置灯的典型需求进行测试用例设计,通过对用例导出方法的合理使用以及优先级的合理划分,使用例覆盖度符合要求,并且更有利于合理地开展测试工作。可以在有限的测试资源下,对重点需求点进行最大化的验证,这种方法是汽车电子领域平衡效率与安全的行业最佳实践。

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

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

相关文章

Linux系统基础:基础指令简介(网络概念部分)

简介&#xff1a;Linux 是一种开源的类 Unix 操作系统内核&#xff0c;由 Linus Torvalds 于 1991 年首次发布。经过多年发展&#xff0c;它已成为服务器、嵌入式设备和个人计算机领域的重要操作系统。 网络基础概念 初始协议 简单来说&#xff0c;协议是一种约定&#xff0…

多模态(3):实战 GPT-4o 视频理解

最近&#xff0c;OpenAI 团队的 GPT-4o 模型&#xff0c;在多模态方面的能力有了大幅提升&#xff0c;这次我们就使用 GPT-4o 完成一个视频理解的实战。 1. 环境搭建 1.1 安装 FFmpeg 做视频处理&#xff0c;我们需要用到 FFmpeg 这款功能强大的开源多媒体处理工具。FFmpeg…

(27)VTK C++开发示例 ---将点坐标写入 STL文件

文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;VTK开发 &#x1f448; 1. 概述 此示例使用 vtkSTLWriter 将存储在 vtkPolyData 对象中的 3D 几何数据保存到 STL 文件&#xff0c;并读取stl文件显示…

2. python协程/异步编程详解

目录 1. 简单的异步程序 2. 协程函数和协程对象 3. 事件循环 4. 任务对象Task及Future对象 4.1 Task与Future的关系 4.2 Future对象 4.3 全局对象和循环事件对象 5. await关键字 6. 异步上下文管理 7.异步迭代器 8. asyncio的常用函数 8.1 asyncio.run 8.2 asyncio.get…

智慧园区IOT项目与AI时代下的机遇 - Java架构师面试实战

在互联网大厂的Java求职者面试中&#xff0c;面试官通常会针对实际业务场景提出一系列问题。以下是关于智慧园区IOT项目及AI时代下的机遇的面试模拟对话。 第一轮提问 面试官&#xff1a;马架构&#xff0c;请简要介绍下智慧园区IOT项目的整体架构设计。 马架构&#xff1a;…

论文导读 - 基于特征融合的电子鼻多任务深度学习模型研究

基于特征融合的电子鼻多任务深度学习模型研究 原论文地址&#xff1a;https://www.sciencedirect.com/science/article/pii/S0925400524009365 引用此论文&#xff08;GB/T 7714-2015&#xff09;&#xff1a; NI W, WANG T, WU Y, et al. Multi-task deep learning model f…

AI超级智能体项目教程(二)---后端项目初始化(设计knif4j接口文档的使用)

文章目录 1.选择JDK的版本和相关配置2.添加依赖信息2.1指定lombok版本信息2.2引入hutool工具类2.3了解knif4j依赖2.4引入knif4j依赖 3.contrller测试3.1完成yml文件配置3.2修改默认扫描路径3.3controller具体的内容3.4配置接口和访问路径3.5如何访问3.6调试接口3.6调试接口 1.选…

linux blueZ 第四篇:BLE GATT 编程与自动化——Python 与 C/C++ 实战

本篇聚焦 BLE(Bluetooth Low Energy)GATT 协议层的编程与自动化实践,涵盖 GATT 基础、DBus API 原理、Python(dbus-next/bleak)示例、C/C++ (BlueZ GATT API)示例,以及自动发现、读写特征、订阅通知、安全配对与脚本化测试。 目录 BLE GATT 基础概念 BlueZ DBus GATT 模…

kafka与flume的整合、spark-streaming

kafka与flume的整合 前期配置完毕&#xff0c;开启集群 需求1&#xff1a; 利用flume监控某目录中新生成的文件&#xff0c;将监控到的变更数据发送给kafka&#xff0c;kafka将收到的数据打印到控制台&#xff08;三个node01中运行&#xff09; 1.在kafka中建立topic kafka…

redis高级进阶

1.redis主从复制 redis主从复制1 2.redis哨兵模式 哔哩哔哩视频 redis哨兵模式1 redis哨兵模式2 redis哨兵模式3 3.redis分片集群 redis分片集群1 redis分片集群2 redis分片集群3

uniapp: 低功耗蓝牙(BLE)的使用

在微信小程序中实现蓝牙对接蓝牙秤的重量功能&#xff0c;主要依赖微信小程序提供的低功耗蓝牙&#xff08;BLE&#xff09;API。以下是一个清晰的步骤指南&#xff0c;帮助你完成从连接蓝牙秤到获取重量数据的开发流程。需要注意的是&#xff0c;具体实现可能因蓝牙秤的协议和…

3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目

安装 pnpm install icraft/player-react --saveimport { ICraftPlayer } from "icraft/player-react";export default function MyScene() {return <ICraftPlayer srcyour-scene.iplayer />; }icraft/player-react 为开发者提供了一站式的3D数字孪生可视化解决…

云数据中心整体规划方案PPT(113页)

1. 引言 概述&#xff1a;云数据中心整体规划方案旨在构建弹性、高效的云计算基础设施&#xff0c;通过软件定义数据中心&#xff08;SDDC&#xff09;实现资源虚拟化与管理自动化。 2. 技术趋势与背景 技术革新&#xff1a;随着云计算、虚拟化及自动化技术的发展&#xff0c…

(六)机器学习---聚类与K-means

到本篇文章&#xff0c;我们先对前几篇所学习的算法进行一个回顾&#xff1a; 而本篇文章我们将会介绍聚类以及K-means算法。 分类问题回归问题聚类问题各种复杂问题决策树√线性回归√K-means√神经网络√逻辑回归√岭回归密度聚类深度学习√集成学习√Lasso回归谱聚类条件随机…

在html中如何创建vue自定义组件(以自定义文件上传组件为例,vue2+elementUI)

1、先上代码&#xff1a;vueUpload.js var dom <div class"upload-file"><el-upload :action"uploadFileUrl" :before-upload"handleBeforeUpload" :file-list"fileList" :limit"limit":on-error"handleUpl…

计算机基础:二进制基础14,二进制加法

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏&#xff0c;故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 &#xff08;一&#xff09;WIn32 专栏导航 上一篇&#xff1a;计算机基础&#xff1a;二进制基础13&#xff0c;十六进制与二进…

可视化图解算法: 判断是不是二叉搜索树(验证二叉搜索树)

1. 题目 描述 给定一个二叉树根节点&#xff0c;请你判断这棵树是不是二叉搜索树。 二叉搜索树满足每个节点的左子树上的所有节点的值均严格小于当前节点的值&#xff1b;并且右子树上的所有节点的值均严格大于当前节点的值。 数据范围&#xff1a;节点数量满足 1≤n≤10^4…

Markdown转WPS office工具pandoc实践笔记

随着DeepSeek、文心一言、讯飞星火等AI工具快速发展&#xff0c;其输出网页内容拷贝到WPS Office过程中&#xff0c;文档编排规整的格式很难快速复制。 注&#xff1a;WPS Office不支持Markdown格式&#xff0c;无法识别式样。 在这里推荐个免费开源工具Pandoc&#xff0c;实现…

python的turtle库实现四叶草

实现代码&#xff1a; import turtle turtle.pencolor(‘green’) turtle.fillcolor(‘green’) turtle.begin_fill() turtle.circle(100,90) turtle.left(90) turtle.circle(100,90) turtle.right(180) turtle.circle(100, 90) turtle.left(90) turtle.circle(100,90) tu…

北重数控滑台加工厂家:汽车零部件试验铁地板-安全性能的测试方法

汽车零部件的安全性能测试是非常重要的&#xff0c;其中铁地板测试是其中的一种常见测试方法之一。铁地板测试主要用于评估汽车零部件在发生碰撞或事故时的安全性能&#xff0c;以确保零部件在各种情况下都能提供有效的保护和安全性能。 铁地板测试通常包括以下步骤和方法&…