论文

RESTOR:通过强化学习自动测试 RESTful API 的 Oracle 生成

RESTOR: Automated Test Oracle Generation for RESTful APIs via Reinforcement Learning

摘要

现代 REST API 测试在定义可靠的测试预言机方面面临着严峻的挑战,特别是在敏捷的工业环境中,其中正式规范(例如 OpenAPI)经常丢失或过时,并且新部署的端点的历史执行日志不可用。在本文中,我们提出了 Restor(用于 REST API 的增强型单流量 Oracle 生成器),这是一个框架,可在黑盒设置中从单个观察到的请求-响应对生成可执行测试断言。与依赖基于规则的模板或大量训练日志的现有方法不同,Restor 利用新颖的数据增强管道通过组相对策略优化 (GRPO) 来微调轻量级 大语言模型 (LLM)。该训练过程使模型能够通过优化奖励函数来内化测试“常识”,该奖励函数共同鼓励:(i)选择稳定的、语义上有意义的字段进行验证并避免动态噪声(例如时间戳或跟踪 ID); (ii) 生成能够承受逻辑变化的稳健断言。我们在工业数据集上评估 Restor,该数据集包含 246 个现实世界服务中的 2,300 多个 API 跟踪。综合实验表明,Restor 的性能显着优于即时设计的基线和通才模型,在关键字段识别方面取得了 85.42% 的优异 $F_1$ 分数,并增加了语义准确断言的比例。此外,在字节跳动生产CI/CD工作流程中的部署证实了其实用价值:系统将自动生成的测试用例的采用率从74.1%提高到96%以上,大大减少了手动质量保证(QA)工作,同时保证了较高的执行稳定性。