一句话:对10个最先进的REST API测试工具在20个真实服务上进行实证比较,揭示其优劣与底层策略局限。
现代Web服务普遍以REST API对外提供功能,这为自动化测试带来了独特挑战与机遇,近年涌现出多种面向API端点的测试用例生成技术与工具。然而,这些技术往往在不同基准和不同度量下评估,难以横向比较。为填补这一空白,本文开展了一项实证研究:首先通过系统化筛选流程,选出10个来自学术界与工业界的最先进REST API测试工具;随后将这些工具应用于包含20个真实开源RESTful服务的基准上,并从代码覆盖率和触发的唯一失败数两个维度分析其性能。该分析揭示了各工具及其底层策略的优势、劣势与局限,并为该领域的未来研究指明了方向。
Modern web services routinely provide REST APIs for clients to access their functionality. These APIs present unique challenges and opportunities for automated testing, driving the recent development of many techniques and tools that generate test cases for API endpoints using various strategies. Understanding how these techniques compare to one another is difficult, as they have been evaluated on different benchmarks and using different metrics. To fill this gap, we performed an empirical study aimed to understand the landscape in automated testing of REST APIs and guide future research in this area. We first identified, through a systematic selection process, a set of 10 state-of-the-art REST API testing tools that included tools developed by both researchers and practitioners. We then applied these tools to a benchmark of 20 real-world open-source RESTful services and analyzed their performance in terms of code coverage achieved and unique failures triggered. This analysis allowed us to identify strengths, weaknesses, and limitations of the tools considered and of their underlying strategies, as well as implications of our findings for future research in this area.