Page 93 - 《软件学报》2026年第1期
P. 93
90 软件学报 2026 年第 37 卷第 1 期
一方面也实现了针对单个测试用例揭示模型错误行为的细粒度度量. 目前, 许多面向深度学习模型的测试用例度
量指标都是受到传统软件测试的基本概念和方法的启发而被提出. 在这些指标中, 应用范围最为广泛的是用于深
度学习测试的神经元覆盖率 [130] . 类似于传统软件测试中的代码覆盖率, 神经元覆盖率被定义为输入测试用例后,
处于激活状态的神经元数量占神经网络总神经元数量的比例. Pei 等人 [130] 指出, 一组测试用例如果能够尽可能多
地激活神经元, 即神经元覆盖率越大, 则该测试集对于深度学习模型而言越全面, 也更有可能包含导致模型出错的
极端案例. 然而, 也有研究者指出, 简单地计算激活神经元比例无法充分反映深度学习模型的结构特性. 为此, 提出
了面向深度学习系统的多粒度测试指标——DeepGauge [131] . DeepGauge 从单个神经元和层级两个粒度计算神经元
覆盖率, 分别是神经元级别的 k-多区域神经元覆盖率、神经元边界覆盖率和强神经元激活覆盖率, 以及层级的 top-k
神经元覆盖率. 相比于单维度的神经元覆盖率, DeepGauge 中多粒度的神经元覆盖率计算方式能够更好地评估测
试用例对深度学习系统可靠性的检测能力.
表 11 现有面向深度学习模型的测试用例度量指标总结
方法来源 发表年份 度量指标
[130]
DeepXplore 2017 神经元覆盖率
神经元级: k-多区域神经元覆盖率、神经元边界覆盖率、强神经元激活覆盖率
DeepGauge [131] 2018
层级: top-k神经元覆盖率
状态级: 基本状态覆盖率、k-step状态边界覆盖率
[132]
DeepCruiser 2018
转换级: 基础转换覆盖率、输入空间覆盖率、加权输入覆盖率
DeepCT [133] 2019 t-way组合稀疏覆盖率、t-way组合密集覆盖率、(p, t)-完整性覆盖率
Structural test coverage [134] 2019 符号-符号覆盖、距离-符号覆盖、符号-值覆盖、距离-值覆盖
SADL [135,136] 2023 意外充分性、意外覆盖率
DeepImportance [137] 2020 重要性驱动覆盖率
DeepGini [85] 2020 Gini不纯度
[138]
Test selection for deep learning systems 2021 模型不确定性
Diversity-guided method [139] 2022 蜕变测试用例对的多样性
除了代码覆盖率外, 一些研究者受修正条件判定覆盖率 (modified condition/decision coverage, MC/DC) 启发,
提出了针对深度神经网络结构与语义特征的 4 类覆盖率评估指标. MC/DC 的核心思想是要求测试覆盖所有与决
策相关的条件变化. 在深度神经网络中, 可以通过不同方式定义决策受条件变化影响的机制. Sun 等人 [134,140] 基于
神经元符号、数值或距离变化特征, 提出了 4 种捕捉测试输入因果变化的测试度量指标: 符号-符号覆盖、距离-
符号覆盖、符号-值覆盖以及距离-值覆盖. 此外, 传统软件测试中的组合测试思想也被引入到深度学习测试领域.
传统的组合测试的核心思想是从系统输入的所有取值组合中选择一个小规模的子集作为测试用例集合. 该集合使
得对于任意 t 个参数的所有可能取值的组合被至少一个测试用例覆盖. 受此启发, Ma 等人 [133] 提出了 t-way 组合稀
疏覆盖率、t-way 组合密集覆盖率以及 (p, t)-完整性覆盖率.
然而, 一些研究者认为, 直接调整传统软件工程中的测试指标以适配深度学习模型, 难以有效捕获深度学习模
型的内在特性. 为解决这一问题, Gerasimou 等人 [137] 提出了系统性测试方法 DeepImportance, 并引入了重要性驱动
覆盖率 (importance-driven coverage, IDC). DeepImportance 首先分析深度学习模型的输入、输出及内部神经元行
为, 明确内部神经元对输出结果的贡献关系. 随后, 它识别出与模型行为因果关联性更强的重要神经元, 并将每个
重要神经元的行为空间划分为自动确定的有限集群. DeepImportance 利用 IDC 度量测试用例集合的充分性, 即衡
量该集合覆盖的重要神经元行为集群组合的比例.
上述指标主要适用于测试用例集合, 属于粗粒度的度量方式. 而测试框架 SADL 则支持更细粒度地度量单个
测试用例的测试充分性. SADL 包含用于衡量深度学习模型在面对测试输入时相对于训练数据的意外程度的两个
指标, 即意外充分性 (surprise adequacy, SA) 和意外覆盖率 (surprise coverage, SC) [135,136] . SA 有两种计算方式, 可细
分为基于核密度 (kernel density estimation, KSE) 计算的 LSA 和基于欧几里得距离计算的 DSA. SC 用于确定测试

