做过汽车电气测试的人应该都有过这种经历:试制阶段的样车上冒出一个电气问题,比如刹车灯不亮,大家第一反应是“灯坏了”,然后换灯,没解决;接着怀疑开关,测了半天开关正常;再怀疑线束,量线束也没断路;最后查了一圈,发现是BCM里某个输出通道的配置参数被标定成了另一个车型的值。一个看似简单的问题,从现场反馈到真正定位根因,前后折腾了两三天。
问题出在哪里?不是测试没做,而是测试根本不在一个体系里。零部件供应商说自己做了DV测试,台架上功能全过;系统工程师说自己搭了HIL环境,逻辑验证没问题;整车测试工程师说路试跑了上千公里,没发现异常。但三方测的东西、判定的标准、覆盖的场景,完全是三套逻辑,相互之间根本不闭环。这就是我写这篇文章的原因——汽车电气功能测试,必须先解决层级划分的问题,否则后续所有的测试活动都是在打乱仗。
这篇文章会把我这几年在电气功能测试架构上沉淀下来的分层方法、边界判定原则、各层级的落地做法,以及踩过的坑,一次性说清楚。无论你是刚入行的测试工程师,还是要搭测试体系的项目经理,都能从中找到可以直接用的东西。
1. 为什么要给汽车电气功能测试划分层级
1.1 试制阶段的真实痛点:需求断层与归零难
很多人觉得分层是流程文件里的事,跟实际干活没关系。但我见过太多项目,电气问题到了试制阶段集中爆发,根本原因恰恰是没分层。
先说一个典型场景。一台试制车出现了“车门未关提醒偶尔不亮”的故障。整车测试工程师报出问题后,第一反应是找门灯开关,因为经验告诉他这类问题八成是开关接触不良。结果开关拆下来检测,动作正常、接触电阻也合格。然后怀疑线束插接件,重新插拔后现象消失,大家以为解决了。但过了两天,问题再次出现,这次连仪表上的门状态显示也一起异常了。
最后查到原因:门灯开关的信号同时进了BCM和仪表,BCM内部对该信号做了去抖滤波,而仪表没有做,当开关在临界位置抖动时,两个控制器判断结果不一致,导致显示逻辑冲突。这个问题如果要靠整车测试工程师在车上用万用表去捅,几乎不可能定位,因为信号在控制器内部,示波器都够不着。
这种情况你很难说是某一个层级测漏了。开关供应商做了耐久试验,没测出问题;BCM供应商做了逻辑测试,测的是理想输入;整车这边只关注功能表现,不看内部逻辑。三层之间没有需求传递关系,也没有测试覆盖的明确边界,出了问题就只能靠人肉排查。
1.2 三层逻辑背后的三个驱动因素
要解决这个问题,就要先想清楚为什么要分层。我在实际项目中总结下来,分层这件事的驱动力就三个。
第一个是需求驱动。一个整车功能从需求定义到最终交付,天然会经过“整车功能需求—系统需求—部件需求”的逐级分解过程。举一个最简单的阅读灯例子:整车层面的需求是“打开车门时阅读灯点亮,关闭车门后延时熄灭”;系统层面就要定义BCM在什么条件下输出高电平、延时时长是多少、是否受电池电压波动影响;部件层面的需求就是BCM的硬件输出能力、LIN收发器的稳定性、灯泡的冷热态电流特性。测试如果不跟随这个分解链条走,每个层级测什么就没人说得清,最后必然出现测了一堆东西,但关键需求没验证的情况。
第二个是失效定位驱动。测试的最终目标不是证明“能用”,而是在失效时能快速回答“坏在哪一层”。如果测试层级的划分和产品架构的层级一致,问题定位时就能按照“整车现象→系统范围→部件根因”逐层收缩。前面刹车灯那个案例,如果预先就有清晰的层级边界,测试工程师第一件事就不是换灯,而是先判断这是系统逻辑问题还是部件硬件问题,排查范围直接缩小一半以上。
第三个是成本驱动。这一点最现实,也最容易说服领导和项目组。部件级测试的成本通常最低,一套功能台架几十万搞定,测试工程师可以在受控环境下反复验证;系统级测试用HIL台架,成本要翻几倍,但能模拟故障注入和极端信号条件;整车级测试最贵,动辄上百公里的路试、转鼓台架、环境仓,一天的成本就是几万。如果没有分层思维,不在部件层把能覆盖的故障模式尽量干掉,全堆到整车阶段去发现,光样车成本和时间成本就足够把项目拖垮。
1.3 一次“归零”的全过程:从整车现象到零部件根因
再讲一个我亲身经历的典型案例,就是ESC和EPB的交互功能问题。这个功能在整车层面上叫“坡道起步辅助”,当驾驶员在坡道上松开刹车时,ESC保持制动压力2秒,给驾驶员留出踩油门的时间。
样车路试时发现,在低温环境下这个功能偶发失效,仪表上的坡道辅助指示灯闪烁两下就灭了。整车测试工程师第一反应是EPB没释放,因为现象上很像EPB卡滞。但测了EPB的夹紧力、释放时间,全部正常。然后怀疑ESC的传感器标定,查了横向加速度计和纵向加速度计的偏移量,也正常。问题僵了三天。
后来我把这个问题按层级拆开来看:整车层的功能逻辑、系统层的ESC软件策略、部件层的传感器信号质量,三个层面逐一排查。整车层的现象已经明确,系统层需要确认的是ESC是否收到了正确的驾驶员意图信号和车辆状态信号。于是我们抓了CAN总线上ESC的实时报文,发现ESC内部发出的“保持制动”命令是有的,但执行了不到500毫秒就被撤销了。撤销条件里有一个是“制动踏板被踩下”,可当时驾驶员没有踩制动踏板。
问题缩小到了传感器信号质量层,也就是部件级。进一步查发现,低温环境下制动踏板位置传感器的供电电压出现瞬时跌落,触发了传感器的信号有效性判断,系统误判为制动踏板被踩下。根因是传感器供电回路上一个接插件在低温下接触电阻增大,电流一上来压降就超了阈值。
整个过程如果从一开始就按层级规划排查路径,最多半天就能定位到接插件。为什么拖了三天?就是因为指挥排查的人满脑子都是整车现象,没有层级化思维,一会儿查机械、一会儿查软件、一会儿查传感器,路径完全是乱的。
2. 层级划分的核心模型与划分依据
2.1 常见的“堆文档式”划分为何不落地
很多公司也做测试层级划分,但做出来的是一堆流程图和职责矩阵,挂在OA系统里吃灰。这种划法典型的特征是:用组织架构代替技术逻辑,谁负责什么模块就把对应的层级划给谁;层级之间的输入输出关系写得很模糊,比如“系统级测试应覆盖部件级测试未覆盖的交互功能”,至于什么叫“交互功能”“未覆盖”,没有量化标准。
这样的划分文件,本质上是对现状的描述,而不是对测试策略的设计。它回答了“我们现在是谁在测什么”,但回答不了“某个具体功能应该在哪一层测、用什么手段测、判据是什么”。落地的时候,工程师还是凭个人经验决定测试方案,遇到跨层级的问题就互相推。
我在搭建测试体系的时候,验证过一套更实用的划分方法:不按组织架构分,不按功能域分,而是按“信号的物理属性”加“测试的目的”两个维度来做二维切分。
2.2 基于信号物理属性与测试目的的二维划分法
信号的物理属性很简单,就是看被测对象之间传递的是什么。在汽车电气系统里,无非三类信号:功率信号、普通电信号、总线信号。
功率信号的特点是电压高、电流大,直接影响执行器的物理行为,比如电机的驱动电流、加热丝的供电、鼓风机的功率级控制。这类信号出了问题,最直接的表现是保险丝烧断、线束过热、执行器不动作,对它的测试核心是电流承载能力和保护机制的验证。
普通电信号是低电平的传感和控制信号,比如门灯开关的高低电平、踏板的模拟电压、温度传感器的电阻值。这类信号出问题的模式比较隐蔽,可能是接触不良、信号抖动、电压跌落,需要在台架和整车上做大量边界条件测试来暴露。
总线信号是控制器之间交互的信息载体,比如LIN上的开关状态、CAN上的扭矩请求、以太网上的诊断数据。这类信号出问题往往表现为逻辑错乱而非物理损坏,比如信号丢失后控制器掉入默认值、信号超时后安全机制介入。对它的测试核心是通信协议的完整性和信号交互的时序关系。
测试的目的这个维度,我习惯拆成三种:功能验证、故障注入、性能标定。功能验证回答“功能能否实现”,故障注入回答“故障时系统如何表现”,性能标定回答“在极端或边界条件下功能的稳健性如何”。
把两个维度组合起来,就形成了一个3乘3的矩阵,每一个功能测试项目都可以在这个矩阵里找到位置。例如阅读灯的“车门开启亮灯”测试,信号属性是普通电信号,测试目的是功能验证,位置就在第二行第一列。而“LIN通信中断后阅读灯保持当前状态”的测试,信号属性是总线信号,测试目的是故障注入,位置在第三行第二列。
这种划分方法最大的价值是它天然具备可执行性。每一个矩阵格子里对应的测试手段、环境要求、台架配置都是明确的,不像“交互功能”这种词,每个人理解都不一样。
2.3 层级模型的落地产物:测试地图与需求覆盖矩阵
二维矩阵只是思考框架,真正落到项目里要形成两个文档产物。
第一个叫测试地图。它的本质是一个清单,把所有电气功能按照“整车层—系统层—部件层”三个层级拆开,每个功能在每一层需要执行的测试项目、测试类型、判定标准全部列出来。测试地图最核心的价值是它可以当作审计标准:当项目评审问“这个功能测过没有”,你不需要翻几十份测试报告,只需要指到测试地图对应的那一行,那一行的状态是绿的就是测了,是红的就是没测。
第二个叫需求覆盖矩阵,也就是常说的追溯矩阵。它是把整车功能需求逐条映射到系统需求和部件需求上,再标注出每条需求在测试地图上的对应测试项。这个矩阵解决了回溯问题:以后如果整车需求发生变更,你能立刻知道哪些测试项要回归,而不是拍脑袋猜测。
我在项目里通常用Excel维护这两个文档,每条需求一个编号,测试项引用需求编号,测试报告引用测试项编号,三级追溯链条完整。虽然工具简单,但比很多公司花大价钱买的测试管理软件还管用,因为核心逻辑已经梳理清楚,工具只是承载逻辑的容器。
3. 各层级的具体测试内容与实现方法
3.1 部件层测试:功能基础单元的验证
部件层是整个层级体系的地基,目标是确保每一个电气部件自身的功能、性能和可靠性达标。这个层级的测试对象很明确:灯具、开关、传感器、电机、控制器单件等。
部件层最标准的测试项目是DV(设计验证)和PV(生产验证)。DV在模具定型前做,重点是验证设计方案的可行性;PV在模具定型后做,重点是验证批量生产的一致性。测试内容包括环境试验(高温、低温、湿热、盐雾)、机械试验(振动、冲击、跌落)、电气试验(过压、欠压、反压、短路)和耐久试验。
但DV和PV有一个共同的短板:它们验证的是部件“在标准条件下”的性能,不太覆盖整车实际工况下的异常。比如阅读灯在台架上测的是标准的13.5V稳定电压,但在实车上,发动机启动瞬间电压会跌到9V,此时LED驱动电路的恒流特性是否还能维持住亮度稳定,DV往往覆盖不到。
所以我在部件层除了DV和PV之外,还会要求增加一组专门的“整车工况边界摸底”测试。做法是把部件拿到台架上,模拟整车最常见的几种电源工况曲线,用可编程电源回放录制的实车电压波形,观察部件在这些波形下的表现。这组测试名义上比DV和PV轻量,但它的价值极高,很多实车上的偶发问题都能在台架上提前暴露。比如前面提到的制动踏板位置传感器低温供电问题,如果我们早做这组测试,用低温箱配合可编程电源模拟低温+电压跌落,几十次循环内就能复现。
3.2 系统层测试:交联关系验证
系统层的目标不是验证单个部件,而是验证多个部件在一起工作时,逻辑、时序、通信是否协调一致。这是整个层级体系里最容易被忽视、又最值得投入的一层。
系统层的核心测试平台是HIL(硬件在环)台架。HIL台架的原理是把真实的控制器接进去,用实时仿真机模拟它旁边挂接的传感器、执行器、总线网络和其他控制器。比如你要测BCM,HIL里就模拟出车门的开关信号、门锁电机的负载、LIN网络上的光线传感器、CAN网络上的发动机状态等,BCM以为自己正在一台真实的车上工作。
我负责过的系统测试项目里,HIL台架的价值主要体现在三个场景。第一个场景是逻辑时序验证。用真实车辆做测试时,你很难精确控制车门开关信号在几百毫秒内的变化时序,但在HIL里可以,你可以给任意一个输入信号加延时、加抖动、加毛刺,看BCM的逻辑是否会因为输入信号的微小变化而产生错误输出。
第二个场景是故障注入。HIL台架可以对任意一路信号做开路、对地短路、对电源短路、信号漂移等故障设置,验证控制器在故障状态下是否进入安全状态,是否上报正确的故障码。这些测试在实车上做是有风险的,比如把电源对地短路,可能烧保险丝甚至烧线束,但在HIL里是零成本的。
第三个场景是极限情况模拟。比如双闪灯和转向灯同时工作时,BCM的驱动能力是否够;再比如多个负载同时启动时的瞬态电流压降,会不会导致其他控制器复位。这些场景在实车上一年也碰不上一两次,但在HIL里可以通过脚本反复触发。
我在配置HIL台架时,有一个很深的体会:台架的价值不取决于硬件多贵,而取决于模型和IO配置的完整度。如果IO表配置不完整,很多通道没有引出物理信号,那这个台架只能测一小部分功能,投入产出比就很差。所以项目初期花在梳理IO清单和信号定义上的时间,一定不能省。
3.3 整车层测试:功能场景与用户体验
整车层是最后一个层级,也是客户能直接感知的一层。这一层的测试目标是把车当成一个完整的系统,在真实的道路环境和用户使用场景下验证功能表现。
整车层测试最基础和最常见的是功能清单逐项验证,也叫“功能点检”。这份清单通常有几百到上千条,包含门锁、车窗、灯光、空调、雨刮、后视镜等全部电气功能,每一条都对应一个操作步骤和预期结果。功能点检虽然在技术上不复杂,但它是整车电气功能的首道过滤网,能快速发现线束错接、配置错误、控制器选型错误等低级问题。
比功能点检更进一步的是场景化测试。场景化测试是按用户的真实使用习惯来设计测试用例,比如“雨天夜间行驶时,同时开启雨刮、大灯、前后雾灯、除霜,此时所有负载同时工作,系统是否能稳定运行”。这类用例关注的是多个功能并发时的综合表现,是单功能点检覆盖不到的。
我在整车层测试中还有一个习惯:一定要带报文记录仪跑车。车载总线数据能说明很多主观感受解释不了的问题——某个功能“感觉反应慢”,到底是控制器处理逻辑慢,还是总线信号传输延迟大,报文数据一看便知。比如空调面板上按下的AC按钮,到压缩机继电器动作,中间经过了几条报文、几次CAN仲裁延迟,报文记录仪里都有准确的时间戳,完全可以量化。
整车层的环境覆盖也很重要。电气功能对温度的敏感性远超一般人的想象。我有一个经验数据:很多在常温下表现正常的电气功能,在零下20度和零上40度的环境仓里,行为会有肉眼可见的差异。所以整车层的关键电气功能,建议至少要覆盖一个高温、一个低温环境下的验证,有条件的话再加湿热。
4. 层级间的贯通方法与策略
4.1 从上层向下层的需求追溯
层级划分最怕的是三个层级各测各的,没有贯通机制。贯通机制的第一条线,是需求自上而下的分解与追溯。
任何一个整车电气功能,都必须能回答三个问题:整车层要什么效果,系统层用什么逻辑和信号实现,部件层用什么硬件和算法支撑。这三层是一一对应的。我举一个电动尾门的例子:整车层的需求是“按下尾门开关,尾门平滑开启,开启过程中遇到障碍物立即停止”;系统层的需求就变成了“BCM识别到尾门开关信号有效后,输出占空比渐变控制信号给尾门电机,同时实时采集霍尔脉冲信号,检测堵转状态”;部件层的需求则细化到“尾门电机在额定电压下的转速扭矩特性、霍尔传感器的脉冲占空比规范、控制器功率管的热容量”。
每一层的需求变化,必须沿着这条链条流传到下一层。如果整车层加了“尾门在冰雪环境下仍能正常开启”的要求,系统层的控制逻辑和部件层的电机功率选择都必须同步评估。如果没有追溯机制,这个需求大概率会在某一个环节丢失,等车造出来才发现问题。
需求追溯的落地靠的是需求编号和测试项编号的双向引用,也就前面提到的覆盖矩阵。我在每个项目里会指定一个人专门维护这个矩阵,任何需求变更都必须更新矩阵并通知受影响的测试项负责人,这是测试体系能不能跑起来的关键岗位。
4.2 从下层向上层的问题反馈与验证前移
与需求自上而下的分解相反,问题定位是自下而上的反馈过程。部件层测试发现的问题要能向上影响系统层测试方案,系统层测试发现的问题要推动整车层测试场景的补充。
我做测试架构这么多年,最大的一条经验是:层级划分的最终目的,是把大部分问题拦截在低层级,而不是把所有问题都放到整车阶段去发现。所以每个层级在测试规划时就要想:我这一层测完了,能帮上一层省掉哪些测试量。
打个比方,部件层如果已经把阅读灯的LED驱动电路在9V到16V全电压范围内的稳定特性测透了,系统层的HIL测试就不需要再反复验证电压波动对亮度的影响,只需要留一个常规检查项,确保通电没问题即可。系统层如果已经把“车门未关提醒”的所有信号组合时序测透了,整车层点检时只需要验证一次基本功能即可,更不用为此专门设计异常场景。
这个“验证前移”的思维,是所有测试策略人员必须养成的习惯。每次规划一个测试项,都要习惯性地问一句:这个问题能不能在更低的层级、用更低的成本来验证?如果能,就坚决前移。
4.3 测试资源的匹配与取舍
层级之间的资源分配,没有统一标准,但有一条基本原则:越往上层资源越稀缺,越需要精心规划。
整车层的测试资源受样车数量、测试场地、法规要求限制非常大,一个月可能就那么几台车、几周窗口期。所以整车层的测试清单,必须到“每个通道每天测哪几个功能、每个功能预计多长时间”这样的粒度来做计划。我在排整车测试计划时,会主动砍掉一些在系统层已经充分验证过的功能,因为再在整车上重复验证一遍,边际收益极低。
HIL台架资源相对可控,但模型开发和维护的成本高。每个测试项目用到的仿真模型、IO配置、故障注入方案都要提前准备,临到测试节点再搭台架基本来不及。
部件层台架成本最低,但容易被轻视。很多人觉得部件层测试就是拿着规格书逐条对一遍,忽略了它作为问题拦截第一道闸口的价值。我的建议是,把测试资源和测试层级画成一张投资曲线,在部件层和系统层把预算给足,留到整车层的应该是场景验证和体验评价,而不是基础功能验证。
5. 边界划分的核心原则与典型争议问题
5.1 判定量边界:功能判定放哪一层
层级划分中最容易扯皮的问题,是“这个功能的合格判定到底算谁的”。部件供应商说“我的部件按规格书测试全部合格”,系统工程师说“我在HIL上验证逻辑没有发现问题”,但整车上就是不好用。问题出在哪里?出在各层级的判定标准不一致。
我在实际项目中定了一条原则:判定标准必须与层级对应,每一层只对属于自己层级的判定量负责。
比如一个车门锁电机,部件层的判定量是“在9V到16V电压范围内,电机推力不小于某值,堵转电流不超过某值”,这是部件层的责任。系统层的判定量则变成“车门锁在收到BCM的开锁指令后,在200毫秒内完成解锁动作,同时反馈锁状态信号”,它不再关心电机推力具体是多少牛,因为它默认部件已经合格。而整车层的判定量是“驾驶员拉动门把手时,车门能可靠解锁开启”,连系统层的时序都不关心,只关心最终的用户体验。
如果没有这一条,就会出现典型的扯皮场面:整车说你解锁速度太慢,系统说BCM指令发出到电机动作的延时在标准范围内,部件说电机推力满足规格,三方都觉得自己没错,问题就是解决不了。
5.2 典型争议:整车上判定功能好坏的归属
还有一类争议是“某些功能只能在整车上判定,那它的层级算整车还是系统”。比如防盗报警功能,触发条件是有人非法开门,振动传感器检测到振动,这个功能的验证必须把门锁、振动传感器、BCM、喇叭、灯光都组合在一起才能完成,看起来只能算整车层测试。
我的做法是:把场景的判定放在整车层,把逻辑的判定放在系统层。防盗报警的触发逻辑、告警输出逻辑、故障后的降级策略,在HIL台架上完全可以验证,甚至比整车更彻底——HIL里可以模拟门锁被撬的各种时序,整车上你总不能真去撬门。整车层只需要验证一个综合场景:车门被非法打开时,喇叭鸣响、灯光闪烁、报警信号同步触发,刹车到用户体验层面即可。
这样切分下来,整车层的测试用例数量大幅减少,但每个用例的含金量更高,因为它们验证的是跨系统的协同效果,而不是控制器内部的逻辑正确性。
5.3 实操中的基线管理
边界划分达到共识后,最大的敌人是变更。项目进行到中期,需求变更是常态,今天这个功能加了新条件,明天那个信号改了休眠策略。如果基线管理做得不好,层级边界很快就会失效。
我强烈建议所有测试团队建立一个基线库,包含三样东西:已发布的测试用例基线、已冻结的测试计划基线、已归档的测试报告基线。任何变更都要走变更流程,评估影响范围后才能修改基线。
我见过一个项目,中期改了雨刮的自动感应逻辑,系统层的HIL测试用例完整回归了一遍,但整车层的测试计划没有同步更新,导致实车验证时仍然按旧逻辑执行测试,最后评审判定的时候发现了覆盖缺口,返工重新测了一遍。这个过程浪费了整整一周。如果有基线管理,这种问题是完全可以避免的。
6. 测试层级划分中的常见问题与避坑经验
6.1 常见问题速查表
我把这几年在测试层级落地中最常遇到的问题整理成了一张表,测试团队可以在项目启动时对着自查。
| 常见问题 | 典型表现 | 后果 | 预防建议 |
|---|---|---|---|
| 层级职责模糊 | “这个问题属于交互问题,不归我管” | 问题无人认领,排查链断裂 | 用需求追溯矩阵明确每层的测试项和判定标准 |
| 重复测试严重 | 同一功能在HIL、整车各测一遍,方法还不同 | 资源浪费,且结果不一致时难以判定 | 建测试地图,每层认领自己的测试项 |
| 判定标准不一致 | 部件合格、系统合格、整车不合格 | 三方扯皮,问题升级 | 定义层级化判定量,各层只对属地标准负责 |
| 需求变更失控 | 变更后测试计划未更新 | 覆盖缺口,评审返工 | 建立基线库,变更必须走评估流程 |
| 层级间信息断层 | 下层发现的问题未反馈到上层 | 上层重复踩同样的坑 | 建立问题追溯机制,问题报告关联需求编号 |
| 测试计划贪多 | 整车层级清单过满,测不完 | 临期砍项目,风险不可控 | 在低层级充分前移验证,整车只留关键场景 |
6.2 测试前移意识:能用台架解决的事,别拖到样车
我越来越觉得,测试层级划分的本质,不是写一套制度,而是建立一套“用最低成本暴露最多问题”的策略体系。
举一个我最近优化的案例。项目初期,A样阶段就曝光了一个空调LIN通信偶发丢失的问题。按照常规做法,这个问题的验证只能在整车上做,因为要真实的LIN网络拓扑和真实的电磁环境。但整车样车排期要等到两个月以后,项目等不起。 于是我带着团队在系统层搭了一个局部HIL环境:把空调控制器和BCM的真实控制器接上,用上位机模拟LIN主节点,再用故障注入单元在LIN线上注入各种干扰,包括波形畸变、电平偏移、负载突变。结果在台架上复现了问题,而且比整车复现快得多——每30秒触发一次干扰,跑了几百个循环就抓到了丢帧的波特率偏移。整个验证工作一周内完成,没有占用任何整车资源。
这就是层级划分真正的价值:让每类问题都能找到它最合适的验证场所,而不是所有问题都往整车上堆。
6.3 踩过几次坑之后的一点个人体会
现在回头看,我踩过最大的坑就是一开始把层级划分做成了一张组织架构图,谁负责哪个层级一画完就觉得完事了。真正成熟的做法是,层级划分的产出不是组织分工,而是测试策略:什么功能、在哪一层、用什么手段、判定标准是什么、出现问题找谁,全部在策略层面清晰可查。组织架构顺着策略来,而不是策略顺着组织架构来。
另外,写这套策略时,一定要拽着三类人一起评审:整车测试的负责人、系统工程师、部件供应商的技术接口人。缺了任何一方,策略里就会有盲区,而且这个盲区会在项目最忙的时候突然出现在你面前。
最后还有一个小建议:分层不是越细越好。三级分层基本够用,如果搞出什么“子系统层”“模块层”“板级层”,只会增加接口管理的摩擦成本,得不偿失。汽车电气功能测试的精髓不是把层级做得多精致,而是让层级之间的接口清晰、传递高效、责任边界没有模糊地带。把这三条做到了,这个测试体系就活了。