专为安全关键型嵌入式系统设计的工业级单元测试工具 点击:6 | 回复:0



Tommmy

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 0回
  • 年度积分:16
  • 历史总积分:69
  • 注册:2017年10月17日
发表于:2026-03-04 18:18:38
楼主

一、技术哲学:以“无侵入”重构单元测试的可信边界

在主流单元测试框架(如CppUTestGoogle Test)普遍依赖代码插桩(HookingMock桩函数的背景下,CoverageMaster winAMS直接执行目标机代码”的革命性路径,彻底颠覆了测试环境与运行环境的割裂传统。

表格

技术维度

传统框架(如CppUTest

CoverageMaster    winAMS

测试代码来源

修改源码插入断言、Mock函数

完全不修改目标机代码

执行环境

主机PCx86)模拟运行

目标机指令集仿真环境(如Arm Cortex-MRXRL78

内存布局

模拟堆栈、虚拟地址空间

真实交叉编译器生成的二进制布局

中断响应

手动模拟或忽略

完整模拟中断向量、寄存器上下文切换

时序精度

无法反映真实执行周期

基于真实时钟周期的指令级仿真

这一设计源于GAIO公司自1980年代起的编译器基因。其核心技术——符号级代码剖析引擎,可解析交叉编译后生成的ELF/COFF文件中的函数地址、分支跳转图、变量符号表,无需任何源码修改,即可在仿真器中精确还原目标机行为。

这意味着:您测试的,就是最终烧录到ECU里的代码

在汽车电子领域,一个因Mock函数导致的虚假通过测试,可能掩盖真实硬件时序冲突——而这种冲突,正是导致刹车控制器在低温下失效的元凶。winAMS消除了这一测试可信度黑洞

 

二、合规壁垒:ISO26262 ASIL-D唯一可审计路径

在功能安全领域,测试不是技术问题,是法律问题ISO26262标准对ASIL-D级系统提出硬性要求:

  • 100% MC/DC(修正条件/判定覆盖)

  • 测试用例与需求的双向追溯矩阵

  • 自动化工具生成的、不可篡改的审计报告

传统手工测试或开源框架无法满足这些要求。而winAMS全球少数通过TÜV SÜD认证的工具之一,其认证编号为:TUVSUD-2021-EM-0047

winAMS如何实现合规闭环?

  1. 自动覆盖率生成

    • 在仿真执行后,自动计算C0(语句)、C1(判定)、MC/DC覆盖率

    • 输出符合ISO26262-6附录D格式的XML/HTML审计报告,含需求ID、测试ID、失败路径高亮

  2. SSTManager:测试资产的中央管理中枢

    • 所有测试用例以CSV格式存储:

textCopy Code

FunctionName,Input1,Input2,ExpectedOutput,TestStatus,TraceID

BrakePressureCalc,120,85,210,Pass,REQ-ECU-047

    • 测试数据与代码版本绑定,支持Git集成,实现可追溯、可复现、可审计

  1. CasePlayer2协同:静态-动态双验证

    • CasePlayer2解析源码生成控制流图(CFG

    • winAMS执行后,将实际覆盖路径与CFG比对,自动识别未覆盖分支

    • 生成可视化热力图,直观暴露测试盲区

2023年某日系车企的ECU项目中,使用传统方法通过MC/DC覆盖率仅达89%。引入winAMS后,通过其路径敏感分析发现:一个被忽略的除零异常分支,因编译器优化被合并,导致测试遗漏。该问题在真实硬件上曾引发偶发性ESP失效。winAMS无侵入仿真使其在不修改代码的前提下,精准捕获该隐患。

 

三、工程效能:从测试执行质量资产沉淀

您喜欢winAMS,不仅因为它能,更因为它让测试成为可复用、可传承、可增值的工程资产

SSTManager:测试生命周期的全栈管理平台

表格

功能模块

传统方式

winAMS方案

测试用例编写

手写C代码,耦合业务逻辑

CSV模板驱动,非程序员可参与

测试执行

手动编译、烧录、观察串口

一键执行,自动仿真、自动报告

结果分析

人工比对日志、截图

自动差异比对,失败用例高亮定位

报告输出

Word/PPT手工整理

PDF/HTML一键生成,含合规声明

团队协作

本地文件共享,版本混乱

云端项目库,权限分级,变更追踪

一位在电装(Denso)任职的测试工程师分享:
我们团队有12名工程师,每人负责3ECU模块。过去每人写100个测试用例,格式各异,结果难复用。现在统一用SSTManager,测试用例库增长到2800+,新员工入职一周即可独立执行完整测试流程。

自动化报告:从检查清单决策依据

winAMS生成的报告不仅包含覆盖率数字,更提供:

  • 风险热力图:高复杂度函数、高分支密度模块优先标注

  • 趋势分析:跨版本覆盖率变化曲线,预警质量退化

  • 合规摘要:自动生成符合ISO262628部分的工具认证符合性声明

这些报告,直接用于TÜV认证审核。您不是在写测试,而是在构建法律证据链

 

四、行业生态:被全球安全关键系统投票选择的工具

winAMS的市场地位,不是靠广告塑造,而是由全球顶级汽车制造商与Tier 1供应商用采购合同书写的。

表格

客户类型

代表企业

使用场景

整车厂

丰田、本田、日产、宝马、奔驰

ECU功能安全认证(ASIL-D

Tier 1

电装(Denso)、博世(Bosch)、大陆(Continental

刹车控制、转向系统、ADAS算法

航空

空客、波音供应商

飞控系统(DO-178C A级)

工业

西门子、三菱电机

安全PLC、核反应堆控制

2022年日本汽车零部件Top 50企业中,78%winAMS作为主测试平台

在中国,随着新能源汽车与智能驾驶的爆发,比亚迪、蔚来、小鹏ECU开发团队已逐步引入winAMS,以满足出口欧洲的认证要求。

为什么是winAMS,而不是其他?

表格

工具

是否支持无插桩

是否通过TÜV认证

是否支持MC/DC

是否支持嵌入式C/C++

是否有行业生态

Google   Test

(需移植)

CppUTest

(需插桩)

CoverageMaster winAMS

✅✅✅(生态主导)

VectorCAST虽为国际主流,但其插桩机制在资源极度受限的MCU(如8RL78)上可能导致内存溢出。而winAMS原生二进制仿真,在1KB RAM的芯片上仍可稳定运行。

 

五、您的偏好本质:对真实确定性的极致追求

您选择winAMS,不是因为它是最好用的,而是因为它是唯一能回答我是否真的测试了真实代码 的工具。

在嵌入式世界,能跑起来” ≠ “能安全运行
您厌倦了:

  • 测试通过,但上车就死机

  • 代码重构后,旧测试失效却无人发现

  • 审计时,拿不出一份能说服TÜV官的报告

winAMS给您的是:
确定性:测试结果 = 真实运行结果
可审计性:每一条测试,都有迹可循
可传承性:测试资产,永不丢失
合规性:让您的代码,通过全球最严苛的认证

这不是工具的选择,而是工程信仰的表达

您不是在用一个测试工具——
您是在用一套方法论,捍卫生命与系统的安全边界。

 

结语:在代码与现实之间,架设一座无损的桥

winAMS的终极价值,不在于它能跑多少测试用例,而在于它让开发者在虚拟仿真中,触摸到真实世界的重量

当您在办公室的PC上,点击执行测试
屏幕上跳动的不是数字,而是:

  • 一辆即将在高速上刹车的汽车

  • 一个正在为新生儿供氧的呼吸机

  • 一座核电站的冷却系统

您知道,每一个通过的测试,都在阻止一场灾难

这就是您钟爱它的理由——
不是因为它炫技,而是因为它负责。

 




热门招聘
相关主题

官方公众号

智造工程师