引言
随着人工智能技术的快速发展,智能系统已广泛应用于各个领域,包括自动驾驶(Chen et al. (2024);Reda, Onsy, Haikal, & Ghanbari (2024);Wang et al. (2024e);Zhao et al. (2024))、医疗诊断(Mathkor et al. (2024);Umirzakova, Ahmad, Khan, & Whangbo (2024)以及智能制造(Schlemitz & Mezhuyev (2024);Wang, Fan, & Zheng (2024b);Wang, Zheng, Li, & Wang (2024c))。由于这些系统具有强大的适应性和学习能力,它们能够在复杂和动态的环境中执行任务,从而推动产业升级和社会进步。然而,智能系统的复杂性和自我进化特性也给安全性和可靠性带来了新的挑战(Zheng et al. (2024))。任何潜在的错误或缺陷都可能导致错误的决策,从而引发严重的安全事故和经济损失(Wang, Liu, Song, Li, & Liu (2024a);Zhang, Harman, Ma, & Liu (2022))。因此,如何全面有效地测试智能系统,以确保它们在各种极端和未知情况下的稳定运行,已成为学术界和工业界的紧迫问题。
传统的静态测试方法主要依赖于预定义的测试用例和固定的测试程序,这在一定程度上可以覆盖系统的常规行为。然而,对于智能系统来说,内部决策过程和环境交互的动态性和不确定性,加上测试用例的高维输入特性,导致测试用例空间呈指数级增长。这引发了严重的效率问题,因为传统方法难以捕捉系统运行过程中可能出现的边界条件和异常行为(Li, Pei, Huang, & Yin (2022b))。尽管近年来出现了一些自适应测试方法,可以实时调整测试策略以提高效率(Huang, Cui, Towey, Sun, & Lian (2023);Pei, Yin, Xie, & Cai (2021);Sun, Dai, Liu, & Chen (2023);Xiao, Yin, Liu, Jiang, & Malaiya (2020)),但这些方法往往依赖于输入特征的数学建模。它们缺乏对复杂顺序输入的深入理解,无法识别测试用例之间的潜在关联。因此,在面对智能系统的高维和动态输入空间时,它们难以有效选择具有代表性的测试用例,其效率无法满足实际需求。因此,如何设计一种高效测试方法,以理解和利用大规模测试空间中的测试用例之间的关联,已成为智能系统测试中的一个关键挑战。
强化学习(RL)在决策优化和政策学习方面表现出色,在复杂环境中的自适应决策方面具有巨大潜力。通过持续与环境互动,RL可以逐渐发现未知场景下的最佳策略。在自适应测试中,RL可以通过策略学习自动调整测试用例的执行顺序,从而更快地暴露系统缺陷并提高测试效率。变压器(Vaswani et al. (2017))作为一种在自然语言处理(Min et al. (2023)、程序分析(Wang et al. (2023)和时间序列预测(Zhou et al. (2021))领域的突破性技术,因其能够从长序列中捕获全局信息而受到广泛关注。它能够高效处理和学习长序列数据中的顺序依赖性和全局特征。当应用于智能系统测试时,变压器可以为测试策略提供更准确的状态建模和全局特征提取。RL和变压器的结合为解决智能系统测试中测试用例空间爆炸问题提供了一条新的技术途径。
本文重点关注智能系统庞大测试用例空间所带来的效率挑战,旨在在有限的时间和资源限制下快速发现和定位潜在缺陷。因此,我们提出了一种基于强化学习的自适应测试方法——反馈驱动的双路径指针网络(FDPN-RLAT),该方法在测试过程中通过智能策略优化机制动态选择和执行高价值测试用例,从而实现智能系统的高效测试和缺陷检测。本研究的主要贡献如下:
1) 我们构建了一个基于强化学习的测试框架,该框架整合了变压器和指针网络,并将智能系统测试用例执行问题重新定义为顺序决策问题。我们提出了反馈驱动的双路径指针网络(FDPN)作为决策网络,利用变压器对长序列的建模能力和强化学习的自适应决策能力,根据实时结果动态调整测试用例。
2) 我们设计了一种支持分阶段训练的双模式记忆选择器,建立了记忆机制。通过将大规模测试用例集划分为多个子集并输入模型,该机制解决了处理大规模测试输入时的上下文截断问题。
3) 我们在立体匹配和关键词检测任务上评估了不同的测试策略。结果表明,与现有策略相比,FDPN-RLAT取得了具有竞争力的甚至在许多情况下更优越的性能。