Page 170 - 《软件学报》2026年第1期
P. 170
任睿晗 等: 面向整车系统的自动驾驶安全测试研究综述 167
指标衡量测试充分性. 基本思想是, 如果能够测试自动驾驶系统面对所有类型环境下的全部决策行为, 即可认为其
设计和功能是完善的. 由于自动驾驶项目代码量庞大, 因此指向软件内部的代码覆盖率不再适用. 研究人员结合测
试场景多样性和自动驾驶系统行为, 提出了新的覆盖率度量, 指导测试场景生成, 全面充分测试自动驾驶系统. 本
节根据覆盖率度量将文献分为驾驶决策 [65–67] 和环境要素 [68–71] 两类. 表 2 总结了该分类下工作的覆盖方法.
表 2 测试充分性分类下的工作对比
文献 分类 覆盖方法 ADS
[65] 添加不同位置的静态NPC使行驶路线覆盖更多区块 Apollo
[66] 驾驶决策 计算抽象轨迹间的距离衡量轨迹相似度 Apollo
[67] 根据原始参数及其突变体的执行结果判断影响决策的参数集 Autonomoose
[68] 将交汇处划分成不同路径类型, 并通过添加静态NPC测试路径规划 Apollo
[69] 将交汇处分类并为每类的代表生成场景, 测试系统对动态NPC的反应能力 Apollo
环境要素
[70] 对天气、道路和自车行为这3类输入进行组合测试, 覆盖所有抽象场景 Apollo
[71] 通过可达性分析确定车辆的物理交互区域, 并用向量集抽象表达 BeamNG.AI
4.2.1 驾驶决策
本分类的目标是覆盖所有类型的驾驶决策, 测试自动驾驶系统在不同场景下的分析和处理能力. 驾驶决策包
括了变道、超车、转弯等行为, 一段时间内决策的组合形成轨迹. 当前研究通常使用环境参数和系统参数两种因
素影响驾驶决策, 如图 9 所示.
环境参数
驾驶决策 静态障碍物
系统参数 动态障碍物
测试充分性
道路结构 道路拓扑
环境要素 天气
对象组合
覆盖度量 场景参数
图 9 测试充分性分类
一些研究方案通过环境参数影响驾驶决策. 驾驶环境包括地图上的静态障碍物和动态障碍物, 自动驾驶系统
与其交互, 做出对应的决策. 当改变环境参数时, 自车的行驶轨迹会发生变化, 即每一时刻的决策会动态变化. 例
如, ASF [65] 使用模糊测试变异 NPC 在测试场景中的位置, 以挑战自车的规划能力, 通过计算自车轨迹经过的区块
与全部区块的比值得到轨迹覆盖率, 引导产生更复杂的驾驶行为. 实验结果表明, 与随机模糊测试器和 AV-Fuzzer
相比, 该工作能够覆盖更多区块. 但是, 其覆盖率度量的精度受限于区块面积, 难以实现细粒度的决策覆盖. 因此,
研究人员提出通过比较抽象轨迹判断决策的覆盖程度. 例如, BehAVExplor [66] 计算了同一时间尺度内两个抽象轨
迹的汉明距离, 以此衡量轨迹间的相似度, 从而将没有造成违规但差异较大的轨迹保留在种子集合中, 保证自车决
策的多样性, 最终检测到 16 种独特的违规行为.
除此之外, 部分研究方案通过系统参数影响驾驶决策. 自动驾驶系统的参数与决策行为密切相关, 决定了其激
进与保守程度. 例如, 自车与其他车辆应当保持的最小距离, 自车在交叉路口范围内的速度限制等. Laurent 等人 [67]
提出参数覆盖率, 对比规划器中的原始参数及其突变体的执行结果, 根据车辆轨迹、轨迹的安全性和舒适性指标
的差距, 分析参数与决策的对应关系. 通过覆盖参数集, 验证自动驾驶系统的所有驾驶决策.
4.2.2 环境要素
本分类的目标是覆盖所有类型的环境要素. 环境中的对象包括天气、道路结构、障碍物等, 将其排列组合并
实例化后, 场景数量呈几何级增长. 因此, 必须将所有输入对象分析归纳为抽象类型, 用少量的场景近似全部场景
空间. 根据测试的输入对象, 可以将该类工作分为道路结构和对象组合两类, 如图 9 所示.
一些研究人员关注覆盖地图中所有交汇处的道路结构, 随后迭代生成关键场景. 例如, CROUTE [68] 将地图建模

