中文

基于强化学习的多覆盖 REST API 测试

软件工程 2024-10-22 v1

摘要

REST(Representational State Transfer)API 因其简单性、可扩展性和与 Web 标准的兼容性,已成为数据通信和交换的核心。然而,由于操作、参数、输入、依赖关系和调用序列的复杂性,确保 REST API 可靠性的严格测试面临着显著挑战。本文引入 MUCOREST,一种新颖的基于强化学习的 API 测试方法,利用 Q-learning 最大化代码覆盖率和输出覆盖率,从而提高错误发现率。通过关注这些接近的目标而非抽象的错误最大化目标,MUCOREST 有效发现关键代码区域和多样化的 API 行为。对 10 个服务的基准测试结果表明,MUCOREST 在发现 API 错误数量方面相较于最先进的 API 测试方法提高了 11.6%~261.1%。MUCOREST 能够通过更少的 API 调用来发现相同数量的错误。此外,其他技术发现的 12.17%~64.09% 的错误也能被 MUCOREST 发现。

关键词

引用

@article{arxiv.2410.15399,
  title  = {Reinforcement Learning-Based REST API Testing with Multi-Coverage},
  author = {Tien-Quang Nguyen and Nghia-Hieu Cong and Ngoc-Minh Quach and Hieu Dinh Vo and Son Nguyen},
  journal= {arXiv preprint arXiv:2410.15399},
  year   = {2024}
}

备注

Accepted by KSE'24