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

基于模型的测试在汽车行业的应用

作 者 | 路国光

出 品 | 汽车电子与软件

摘要:为解决汽车电子软件开发中传统测试效率低、覆盖不足、验证滞后等问题,本文以基于模型的系统工程(MBSE)为背景,研究基于模型的测试(MBT)在汽车行业的应用。阐述 MBT 概念、框架及测试对象、测试用例、测试环境与模型的关系,结合 Simulink 建模、MIL/SIL/PIL/HIL 多环境验证、等效性测试、覆盖率分析等关键技术,给出整车级 MBT 实施流程与车窗控制实例验证。结果表明,MBT 可实现测试用例自动生成、多场景虚拟验证、需求与代码双向追溯,显著提升测试效率与功能安全水平,对汽车电控软件开发具有工程应用价值。

引 言

随着汽车智能化、网联化发展,车载软件规模与复杂度持续提升,传统人工测试难以满足高效、高覆盖、高安全的开发要求。基于模型的系统工程(MBSE)推动开发模式从物理迭代转向数字域持续验证,促使测试环节左移。基于模型的测试(MBT)以模型为核心驱动测试设计、用例生成、环境搭建与结果评估,已成为汽车电子测试主流技术。本文结合汽车开发实践,系统梳理 MBT 框架、关键技术与工程应用,为行业落地提供参考。

图1 基于模型的系统工程V模型

01 基于模型的测试(MBT)概述

一种根据模型来设计测试的测试方法。MBT支持并拓展 了传统测试设计技术,比如等价类划分、边界值分析、决策表、状态转换测试和用例测试等传统测试设计技术。

1.1 MBT 基本概念

模型的测试(MBT,Model-Based Testing)是以模型为依据开展测试设计与执行的方法,兼容等价类划分、边界值、决策表、状态迁移等传统技术。MBT从三大维度建立模型与测试的关系:

1)测试对象与模型:模型等效代码,作为被测对象;

2)测试用例与模型:以模型为规格,自动生成用例;

3)测试环境与模型:用模型构建虚拟测试台架。

图2 基于模型测试三要素

1.2 MBT 整体框架

MBT 覆盖需求、建模、仿真、测试、验收全流程:

1)需求层:整车级→子系统→软硬件需求分解;

2)模型层:机电液模型、硬件模型、软件模型、虚拟装配;

3)验证层:模型验证→模型验收→虚拟验证→物理验证;

4)工具链:建模、仿真、自动化测试、覆盖率分析。

图3 整车开发过程中基于模型测试应用

02 测试对象与模型

Simulink开发的软件,Simulink模型就是我们的测试对象之一。Simulink模型在某些情形下,等价于代码。对Simulink模型测试,有几种不同深度:

1)基于需求的测试:验证模型功能与需求一致性;

2)等效性测试(背靠背测试):对比模型与代码输出,满足 ISO 26262 要求。

2.1 基于需求的测试(Requirements-based Testing)

需求的测试是一种功能测试,主要验证目标为:

1)件设计(模型)是否满足软件需求的功能定义;

2)对象包括单元模型以及软件集成模型;

3)察的对象包括追溯到单元模型以及集成模型上的各项需求。

图4 基于需求的测试原理示意

基于需求的测试是否充分,用“需求覆盖率”指标来衡量,包含三方面含义:

1. 每一条需求都能在模型中找到对应的模块

2. 模型中每一个模块都要能找到对应的需求测试用例编写要求

3.《详细设计开发要求》,手动编写测试用例

图5 基于需求的测试操作示意

2.2 等效性测试(Back-to-Back Testing)

2.2.1 效性测试意义

等效性测试测试的核心意义的是验证模型与代码的一致性。当验证了代码与模型等效,且模型已满足预设的软件需求时,即可推导得出代码也满足相应需求。

  • 由浮点模型通过定标生成代码的精度损失

  • 定标过程中的人为错误

  • 代码生成器的信赖度

  • ISO26262 的要求,需要MIL,SIL以及PIL模式的模型和代码的等效性测试

  • 等效性测试的意义?

2.2.2 效性测试意义

  • 验证模型与代码的一致性

  • 当我们验证了代码与模型等效,而模型又满足了需求,则代码即满足了需求。

用“需求覆盖率”指标来衡量效性测试是否充分

Structural CoverageGoals(结构覆盖率目标)

图6 等效性测试操作示意

2.3 测试工具介绍(BTC)

行业常用工具:BTC、TPT,支持 ATG 自动用例生成、覆盖率统计。

BTC 是德国 BTC Embedded Systems AG 推出的面向汽车嵌入式、基于模型开发(MBD)的全流程自动化测试平台,是Simulink 模型 + 自动生成代码测试的行业主流商用工具,完全适配汽车功能安全 ISO 26262 最高工具认证(TCL1),广泛用于整车电控、动力域、车身控制等模型验证。

BTC 整套平台叫 BTC EmbeddedPlatform,核心由 4 大工具模块组成,完整覆盖模型 (MIL)、软件 (SIL)、硬件 (PIL) 全阶段测试、需求测试、背靠背等效性测试、形式化验证:

BTC EmbeddedTester BASE:基础版,需求驱动测试、用例编辑、执行、基础覆盖率、Simulink 原生集成。

BTC EmbeddedTester:完整版,背靠背测试 (B2B)、全自动结构用例生成、MC/DC 全覆盖、回归测试.

BTC EmbeddedSpecifier:需求形式化规范,自然语言需求转形式化规约

BTC EmbeddedValidator:形式化验证,数学级穷举校验、死代码 / 不可达逻辑检查

核心优势(对比原生 Simulink Test)

不修改原模型:测试平台仅复制被测模型副本生成测试环境,原生模型无任何改动、无额外测试接口 / 总线BTC Embedded Systems AG

深度原生集成 Simulink:自带 Simulink 菜单栏插件,无需脱离 Simulink 界面即可建用例、执行、查看结果

汽车行业全链路兼容:完美支持 Matlab Embedded Coder、TargetLink 代码生成,适配 AUTOSAR、ISO 26262 全 ASIL 等级

极小用例集 + 高覆盖率:基于模型检查算法,生成最少用例达成 100% MC/DC,远优

图7 创建测试用例

图8 查看结构覆盖率

结构覆盖率指标(Structural Coverage Goals ),MBT 常用覆盖率包括:

  • Statement Coverage (语句覆盖)

  • Condition Coverage(条件覆盖)

  • Decision Coverage(判定覆盖)

  • Modified Condition/Decision Coverage(修正条件判定覆盖)

  • Switch-Case-Coverage (Switch Case覆盖)

  • Function Coverage(函数覆盖)

  • Function Call Coverage(调用覆盖)

03测试用例与模型

基于模型的测试的基本思想是通过以下内容提高测试设计和测试实现活动的质量和效率:

1)基于测试目标设计一个综合的MBT模型(测试模型)

注:MBT模型是利用工具完成的

MBT模型通过复制规范模型获得

2)将模型作为一种测试设计规格说明提供给测试工程师

注:模型应包含高度格式化和详细的信息,才能保证从模型自动导出用例

3.1 用例生成逻辑

基于模型测试的生成可以产生抽象的测试用例或具体的测试用例

1)抽象的测试用例

没有输入和期望结果的具体值(实现层面的)的用例。也没有非常具体的

测试步骤。(测试大纲)

2)具体测试用例

对于输入值、期望测试结果等都有具体值(实现层面的),并且有非常详

细的测试步骤描述。

图9 手动测试与基于模型测试的对比

系统级模型作为一种设计产品输出给下级子系统,模型中应该可以提取测试需要的信息

图10 V模型中各级测试用例与测试模型的关系

04结 论

传统汽车测试依赖实物样机、台架试验与道路实车测试,成本高、周期长、场景受限。MBT 依托 MIL/SIL/PIL/HIL 全链路仿真测试,大量测试工作前置到虚拟数字阶段,无需等待硬件成型即可开展闭环验证。

通过测试左移、虚拟仿真、自动化用例、全链路追溯、标准化协同,MBT 有效解决了汽车电子化时代复杂度高、迭代快、安全严、成本控的核心痛点,既是满足车规功能安全的硬性要求,也是车企降本增效、数字化转型、打造软件核心竞争力的必然趋势。

http://www.jsqmd.com/news/796438/

相关文章:

  • 抖音无水印下载终极指南:3种高效方法解决你的内容保存难题
  • Waymo数据集实战:从TFRecord到KITTI格式的激光点云与标签转换
  • 从零构建:使用PCL库高效加载与可视化PLY点云数据
  • 从《深入理解Java虚拟机》到GraalVM:一个Java老兵的十年技术观察与实战避坑指南
  • 别再死记硬背了!用Python模拟一个最简单的图灵机,5分钟搞懂计算本质
  • 告别软件模拟!用STM32CubeMX和HAL库的硬件IIC驱动AT24C02,实测避坑指南
  • 3分钟掌握Linux桌面便签神器:Sticky让你的数字工作台效率翻倍!
  • 从富士康美国LCD工厂项目看高端制造业全球布局的挑战与博弈
  • 泉州上门回收黄金电话 中山路西街五店市免费鉴定评估,top3闪明钻/翩环/谷顾 - 李甜岚
  • 记忆机制深入:对话状态管理与持久化
  • STM32F103RCT6驱动SG90舵机避坑指南:从PWM配置到供电不稳的5个实战问题
  • 从静电威胁到电路卫士:TVS选型实战与PCB防护布局
  • 不止于解题:用Python脚本自动化处理SSRF中的Gopher与Redis协议Payload
  • BaiduPCS-Web技术解析:基于Vue.js的百度网盘下载加速方案
  • 基于AI Agent框架构建智能资讯聚合与推送系统
  • 2026 南京闲置名酒虫草回收优选指南:茅台、老酒、洋酒、红酒回收服务商推荐 - 海棠依旧大
  • 三大核心突破:构建企业级实时图表编辑系统的架构演进
  • 线性谐振致动器自动谐振追踪技术:原理、实现与设计实践
  • m4s-converter技术解析:B站缓存视频格式转换解决方案
  • Amphenol ICC RJE1Y26610C42401线束组件解析与替代思路
  • 告别“盲调”:用OllyDbg 2.x手把手破解TraceMe,从GetDlgItemTextA断点到NOP修改实战
  • 2026年上海二手PCB设备买卖与整厂搬迁方案深度横评 - 年度推荐企业名录
  • 4.OceanBase 线程简介
  • 2026年内蒙古石材厂家口碑榜:蒙古黑、中国黑、黄金麻及路缘石采购选择指南 - 海棠依旧大
  • 技术文档如何说人话?从Nojargon项目看消除行话的实践方法
  • Xenomai 硬实时内核
  • nCode DesignLife实战:用‘两步法’精准定位车身疲劳热点,附配置文件分享
  • 浙江大学:AIGC时代的数字媒体智能设计白皮书 2025
  • 轮廓(从查找到应用:实战OpenCV轮廓分析全流程)
  • 告别硬件IIC!用STM32F407的GPIO模拟IIC读写AT24C02,到底香不香?