第四章 一致性验证范围:必测项、选测项、测试用例分级、通过准则

做1AS一致性验证,第一个要搞明白的问题就是:“我到底要测什么?”

这个问题听起来简单,但实际项目中踩坑的比比皆是。我见过不少团队,把验证范围定得太宽,结果测试周期拉长、成本爆炸;也见过定得太窄,最后交付物被客户怼回来重做。

说白了,验证范围的划定,直接决定了你的工作量、项目周期和交付质量。这章我就把必测项、选测项、测试用例分级和通过准则这四块内容,掰开揉碎了讲清楚。

4.1 必测项 vs 选测项

先区分两个核心概念:必测项和选测项。

核心原则:必测项是底线,选测项是加分项。必测项不通过,项目直接红灯;选测项可以根据项目实际情况灵活取舍。
对比维度 必测项 选测项
定义 标准中明确要求的、不可省略的验证内容 标准中推荐但对特定场景可选的验证内容
来源 1AS 规范中的“Shall”条款 1AS 规范中的“Should”或“May”条款
优先级 最高,必须全部覆盖 中/低,根据风险评估决定
后果 未覆盖或不通过 → 验证失败 未覆盖需提供合理理由,不通过可谈判
典型例子 协议数据单元格式、帧ID分配、时间同步精度 冗余校验方式、特定异常恢复流程

我个人的习惯是,在项目启动阶段就拉一张表,把标准中所有条款过一遍,明确标注出每一个条款是“必测”还是“选测”。这一步做扎实了,后面测试用例设计就不会跑偏。

小技巧:如果你不确定某个条款到底该不该测,直接翻标准的原始文本。带“Shall”的都是必测,“Should”的是强烈推荐但不强制,“May”的可以直接归入选测。

4.2 测试用例分级

光区分必测和选测还不够。同一个必测项下面的测试用例,重要程度也有差异。所以我一般把测试用例分成三个等级:P0、P1、P2。

  • P0(关键级):直接影响系统安全或主要功能的用例。比如ECU休眠唤醒时的状态迁移、总线仲裁逻辑。P0用例只要有一个不过,验证结论直接判“不通过”。
  • P1(重要级):影响系统性能或兼容性的用例。比如网络负载波动下的响应时间、异常帧过滤。P1用例可以接受小比例的失败,但必须说明原因并评估风险。
  • P2(一般级):边界条件或非主流场景的用例。比如极端温度下的时序抖动、不常见的故障码注入。P2用例主要用于完善验证覆盖,不强制100%通过。

我举个例子你就懂了。记得我之前做过一个车载网关项目,标准要求验证“连续发送1000帧无丢包”。这个用例按说应该归P0,因为丢包直接影响通信可靠性。但当时因为时间紧,测试组把它降成了P2。结果呢?跑了几百帧就发现间歇性丢帧,还好被早发现了,不然项目交付出大问题。

避坑指南:我曾经见过一个团队,把所有用例都标成P0,看起来很严格,但实际执行时根本跑不完。分级的意义在于“聚焦核心风险”,不是为了好看。P0用例数建议控制在总用例的15%以内。

4.3 通过准则

有了用例分级,怎么判断最终“过没过”?这就是通过准则要解决的问题。

我个人习惯把它拆成两个层面:单个用例的通过准则和整体验证的通过准则。

4.3.1 单个用例的通过准则

每个测试用例都需要写清楚:什么样的行为算通过,什么样的行为算失败。不是简单地“帧能发出去就行”。

标准格式一般是这样的:

  • 前置条件:ECU上电完成,总线处于空闲状态
  • 测试步骤:发送ID为0x123的数据帧,长度8字节
  • 预期结果:在5ms内收到ACK确认,且无错误帧出现
  • 通过条件:连续100次测试,成功次数≥98次

你想想看,如果预期结果只写“收到ACK”,那偶尔丢一次ACK算不算失败?所以一定要把通过条件量化。

4.3.2 整体验证的通过准则

这个就涉及到项目级别的“绿灯”究竟是什么。我常用的判定逻辑是:

  1. 所有P0用例必须100%通过,一个都不能少。
  2. P1用例通过率≥90%,且未通过项必须有明确的风险评估和客户确认。
  3. P2用例通过率≥70%,未通过项可在内部评审中裁决。
  4. 所有必测项必须有测试报告,选测项如果放弃了,必须书面说明理由。
等级 通过率要求 未通过处理方式
P0 100% 必须修复后重新测试
P1 ≥90% 需风险评估 + 客户确认
P2 ≥70% 内部评审裁决

嗯,这里要注意一点:通过率不是唯一的度量标准。我遇到过一种情况,P0用例全过了,但P1用例里有一个“总线负载超过80%时的帧丢失率”没通过。最后发现这个场景在实车中几乎不可能出现,所以通过风险评估后,客户同意豁免。这很正常,关键是流程要留痕。

4.4 整体验证范围框架

到这里,我把必测项、选测项、用例分级、通过准则串联一下。下面这张图,基本就是我用来指导项目验证范围设计的框架。

验证范围决策框架 标准条款分析 必测项(Shall) 选测项(Should/May) P0 关键级 影响安全/主功能 P1 重要级 影响性能/兼容性 P2 一般级 边界/非主流场景 选测项 根据风险评估 通过准则 P0=100% | P1≥90% | P2≥70% | 选测项需说明理由 验证报告与评审关闭

你可以按照这个框架,一步步梳理你的项目。从标准条款出发,先分出必测和选测;然后把必测项按P0、P1、P2分级;选测项单独做风险评估;最后套用通过准则来判断验收条件。

一个小提醒:这个框架不是一次定死的。随着项目深入,你可能会发现某个P1用例其实牵涉安全,那就应该升级到P0。同理,某个选测项在实际测试中暴露出严重问题,也可以临时转为必测。动态调整,关键是调整要有记录和评审。

好了,验证范围这块的核心我基本讲完了。你下次接到新项目,不妨先花半天时间,把标准条款过一遍,画出你自己的验证范围矩阵。这步做好了,后面的测试执行效率和交付质量,都会轻松很多。