中文

Morest:基于模型并利用执行反馈的 RESTful API 测试

软件工程 2022-06-28 v1

摘要

RESTful API 可以说是访问 Web 服务最流行的端点。黑盒测试是确保 RESTful API 可靠性的新兴技术之一。测试 RESTful API 的主要挑战在于需要正确的 API 操作调用序列以进行深度测试。为构建有意义的操作调用序列,研究者已提出基于 OpenAPI 规范学习并利用 API 依赖关系的技术。然而,这些技术要么缺乏对全部 API 如何关联的整体认知,要么缺乏自适应修正所学知识的灵活性。本文提出 Morest,一种基于模型的 RESTful API 测试技术,其构建并维护一个动态更新的 RESTful 服务属性图(RPG)来建模 RESTful 服务的行为并指导调用序列生成。我们对 Morest 进行了实证评估,结果表明 Morest 相比最先进的技术能成功请求平均多 152.66%–232.45% 的 API 操作,多覆盖 26.16%–103.24% 的代码行,并多检测 40.64%–215.94% 的缺陷。我们总计将 Morest 应用于 6 个真实项目并发现 44 个缺陷(其中 13 个无法被现有方法检测到)。具体而言,已确认的缺陷中有 2 个来自 Bitbucket——一个拥有超 600 万用户的著名代码管理服务。

关键词

引用

@article{arxiv.2204.12148,
  title  = {Morest: Model-based RESTful API Testing with Execution Feedback},
  author = {Yi Liu and Yuekang Li and Gelei Deng and Yang Liu and Ruiyuan Wan and Runchao Wu and Dandan Ji and Shiheng Xu and Minli Bao},
  journal= {arXiv preprint arXiv:2204.12148},
  year   = {2022}
}