news 2026/5/11 14:50:34

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于模型的测试在汽车行业的应用

作 者 | 路国光

出 品 | 汽车电子与软件

摘要:为解决汽车电子软件开发中传统测试效率低、覆盖不足、验证滞后等问题,本文以基于模型的系统工程(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 有效解决了汽车电子化时代复杂度高、迭代快、安全严、成本控的核心痛点,既是满足车规功能安全的硬性要求,也是车企降本增效、数字化转型、打造软件核心竞争力的必然趋势。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 14:48:55

掌握SiOME:从零构建OPC UA信息模型的实战指南

1. 为什么选择SiOME构建OPC UA信息模型 第一次接触工业设备数据采集时,我被OPC UA复杂的节点关系搞得晕头转向。直到发现SiOME这个神器,才真正体会到"可视化建模"的爽快感。相比动辄上万的商业软件UaModeler,SiOME不仅完全免费&…

作者头像 李华
网站建设 2026/5/11 14:42:33

PX4仿真环境搭建:从零到一实战避坑指南

1. 为什么需要PX4仿真环境? 对于无人机开发者来说,直接在实际硬件上测试代码风险很大。想象一下你刚写完一段飞控代码,如果直接上传到真机上运行,万一有个bug导致飞机失控,轻则炸机损失设备,重则可能造成安…

作者头像 李华
网站建设 2026/5/11 14:36:06

GodotVMF插件:将Source引擎VMF地图高效导入Godot 4的完整指南

1. 项目概述:当VMF遇上Godot,一个为关卡设计师准备的“翻译官” 如果你是一名从Source引擎(比如《半条命2》、《传送门》)时代走来的关卡设计师,或者你至今仍在用Hammer编辑器打磨你的创意,那么你肯定对 .…

作者头像 李华
网站建设 2026/5/11 14:36:04

跨平台代码质量守护:在Windows上配置PC-lint检查Linux工程实战

1. 为什么要在Windows上检查Linux工程代码? 这个问题困扰过很多跨平台开发的团队。想象一下这样的场景:你们的主力开发环境是Linux服务器,工程师们用vim或VSCode远程开发,代码仓库跑在GitLab上,编译用gcc/clang。但有…

作者头像 李华
网站建设 2026/5/11 14:35:57

Qt元对象系统进阶:Q_PROPERTY宏在动态属性与QML集成中的实战解析

1. Q_PROPERTY宏的核心机制解析 Q_PROPERTY宏是Qt元对象系统的基石之一,它巧妙地将C成员变量转化为具有动态特性的属性。与传统C成员变量不同,这些属性不仅能在运行时被查询和修改,还能与信号槽系统深度集成。我曾在开发智能家居控制面板时&…

作者头像 李华