2. HIL测试对象与回归范围界定

在HIL自动化回归测试工程中,第一件必须做对的事不是写脚本,而是把“测什么”和“测到什么程度”说清楚。回归测试的本质是在被测对象发生变更后,用有限的测试资源验证变更没有破坏既有功能。如果测试对象和回归边界没有界定清楚,就会出现两种典型浪费:一是范围过大,把大量与变更无关的用例反复执行,回归周期被拉长;二是范围过小,变更引入的耦合缺陷逃逸到整车或台架后期才暴露。本节围绕HIL台架上的六类测试对象,说明如何从变更影响出发划分回归边界。

一、HIL台架上的六类测试对象

HIL测试台架连接的是真实ECU与实时仿真环境,因此测试对象不是单一的“控制器”,而是一个由ECU、总线、诊断、标定、环境模型和测试基础设施共同构成的系统。可以把它归纳为六类:

  • ECU功能:控制器的应用层逻辑,如扭矩控制、热管理、车窗防夹、电池均衡等。功能回归关注输入条件变化后输出行为是否符合需求。
  • 总线通信:CAN/CAN FD、LIN、FlexRay或车载以太网上的报文周期、信号编码、超时与校验。通信回归关注信号值、周期抖动、丢帧和总线负载。
  • 诊断服务:UDS(ISO 14229)服务,如0x10会话控制、0x22读数据、0x2E写数据、0x27安全访问、0x31例程控制、0x19读DTC。诊断回归关注服务响应码、会话依赖和DTC状态位。
  • 标定参数:ECU内部可标定量,如PID增益、查表MAP、阈值和使能开关。标定回归关注参数变更后功能边界是否仍满足要求。
  • 环境模型:台架上的被控对象模型与传感器模型,如发动机、电机、电池、车辆动力学、温度模型。环境模型回归关注模型接口、量程和响应是否与ECU预期一致。
  • 测试基础设施:IO板卡、故障注入单元、电源管理、总线仿真节点和自动化框架。基础设施回归关注通道映射、故障注入精度和脚本可重复性。

这六类对象并非彼此独立。例如,标定参数变化会同时影响ECU功能和总线信号;诊断服务写入参数又会改变标定值。因此回归范围划分必须沿着“变更—影响—用例”的链路展开,而不是按对象简单切块。

HIL回归范围界定:从变更到用例的传导链 变更输入 软件版本 / 标定 / 模型 / 台架 影响分析 接口 / 信号 / 状态 / 参数 回归边界 全量 / 部分 / 冒烟 用例集 执行与判定 六类测试对象及其回归关注点 ECU功能 输入条件 → 输出行为 关注需求覆盖与边界 总线通信 周期 / 信号 / 超时 / 负载 关注编码与实时性 诊断服务 会话 / 安全 / DTC / 例程 关注响应码与状态位 标定参数 增益 / MAP / 阈值 / 开关 关注参数边界与耦合 环境模型 被控对象 / 传感器 / 量程 关注接口与响应一致性 测试基础设施 IO / 故障注入 / 电源 / 框架 关注通道映射与可重复性 边界划分原则 ① 变更直接影响的对象 → 全量回归;② 通过接口/信号耦合的对象 → 部分回归;③ 仅共享基础设施的对象 → 冒烟回归。 ④ 标定参数变更需同时覆盖功能边界与总线信号;⑤ 环境模型变更需验证接口量程与ECU诊断响应。

二、从变更影响推导回归边界

回归边界不是按“模块”拍脑袋决定的,而是按变更影响传导路径推导出来的。假设某次变更修改了电池管理ECU的SOC估算算法,并同步更新了标定MAP。影响分析可以这样展开:

  1. 直接影响:SOC估算功能本身,包括安时积分、开路电压修正和温度补偿。这部分必须全量回归。
  2. 接口影响:SOC值通过CAN信号BMS_SOC发送给整车控制器和仪表。需要回归该信号的编码、周期和无效值处理。
  3. 诊断影响:SOC估算异常会触发DTC,如P0AFA(电池电压过低)或P0A0D(SOC过低)。需要回归0x19读DTC和0x22读数据服务。
  4. 标定影响:MAP变更后,SOC在低温、高倍率放电等边界工况下的表现需要重新验证。
  5. 环境模型影响:如果电池模型参数未变,则环境模型只需冒烟验证;如果模型接口有调整,则需回归模型与ECU的闭环响应。

由此可以得到一个可操作的边界划分规则:变更直接影响的对象执行全量回归;通过接口或信号耦合的对象执行部分回归;仅共享台架基础设施的对象执行冒烟回归。这条规则把“测什么”从主观判断变成了可追溯的推导过程。

三、回归范围的分层与优先级

在实际项目中,回归用例集通常分为三层。第一层是冒烟集,覆盖台架上电、总线通信、诊断会话和关键信号,用于快速判断版本是否具备可测性,执行时间控制在10分钟以内。第二层是核心回归集,覆盖变更直接影响的功能、信号和诊断服务,通常占全量用例的20%到40%。第三层是全量回归集,覆盖全部需求,用于版本发布前的完整验证。

分层的关键是给每条用例标注它覆盖的对象和接口。例如一条用例“低温SOC精度验证”应标注:对象为ECU功能与标定参数,接口为BMS_SOC与电池温度模型,优先级为核心。当变更发生时,自动化框架根据变更影响标签自动筛选用例,而不是人工逐条勾选。

实践提示:回归边界划分的产物不是一张“测什么”的清单,而是一张“变更—对象—接口—用例”的映射表。这张表是后续自动化调度和覆盖率统计的基础。

四、边界划分中的常见误区

第一个误区是把回归等同于全量重测。全量回归在版本迭代频繁时不可持续,会导致台架资源被长期占用,真正需要重点验证的变更反而被稀释。第二个误区是只回归功能、不回归通信和诊断。很多现场问题恰恰出在信号编码、超时处理或DTC状态位上,而不是控制算法本身。第三个误区是忽略环境模型与标定的耦合。标定参数是在特定模型环境下整定的,模型接口或量程变化后,原标定值可能不再适用,必须重新验证边界工况。

第四个误区是边界一旦划定就长期不变。随着ECU软件架构演进,接口和耦合关系会变化,回归边界也应定期评审。建议在每个版本发布后,根据缺陷分布和变更记录更新一次映射表,使回归范围始终与真实风险对齐。

五、一个可复用的边界划分示例

下面给出一个简化的回归范围界定表,用于说明如何把变更、对象、接口和用例优先级对应起来。表中参数为教学示例,实际项目应根据需求文档和变更记录填写。

变更项影响对象关键接口/信号回归层级示例用例
SOC算法更新ECU功能、标定参数BMS_SOC、电池温度核心回归25℃与-10℃下SOC误差≤3%
CAN矩阵新增信号总线通信新增报文ID与周期核心回归信号编码与周期抖动验证
诊断服务0x2E写入诊断服务、标定参数0x2E、0x27、0x22核心回归安全访问后写入并回读校验
电池模型参数调整环境模型、ECU功能模型输出接口部分回归模型量程与ECU响应一致性
IO板卡更换测试基础设施通道映射冒烟回归上电、通信、关键IO自检

这张表的价值在于:当变更发生时,团队不需要重新讨论“要不要测”,而是直接根据变更项查表,得到应执行的回归层级和重点用例。边界划分从一次性活动变成了可维护的工程资产。

总结来说,HIL回归范围界定的核心是沿着“变更—影响—接口—用例”的链路做传导分析,把六类测试对象与变更影响对应起来,再用冒烟、核心、全量三层结构控制执行成本。只有边界清晰,自动化回归才能真正做到既快又准。