arrow
返回

Test Oracle Generation for REST APIs

delete2026-01-01
delete0
PRE
AI
J
Juan C. Alonso *
M
Michael D. Ernst
S
Sergio Segura
A
Antonio Ruiz–Cortés
DOI:10.1145/3726524delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
近年来,针对REST API的测试用例生成工具的数量和复杂性显著增加。这些工具在自动化输入生成方面表现出色,但其测试断言器(test oracles)存在局限性,只能检测崩溃、回归以及API规范或设计最佳实践的违规。本文介绍了AGORA+,一种通过检测不变量(output properties that should always hold)为REST API生成测试断言器的方法。AGORA+通过分析API请求及其对应响应来学习API的预期行为。我们增强了用于动态检测潜在不变量的Daikon工具,添加了新的不变量类型,并创建了一个名为Beet的前端。Beet将任何OpenAPI规范和一组API请求与响应转换为Daikon的输入。AGORA+能够检测106种不同类型的REST API不变量。我们还开发了PostmanAssertify,它将AGORA+识别的不变量转换为可执行的JavaScript断言。在20个工业API的25个操作上,AGORA+达到了80%的精确度。它还识别出测试API输出中系统注入的48%的错误。AGORA+在流行的API中发现了32个错误,包括Amadeus、Deutschebahn、GitHub、Marvel、NYTimesBooks和YouTube,并促成了修复和文档更新。
Keyword:
REST APIs
test oracle
invariant detection
automated testing

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

U
University of Sevilla
学者数:
1.9W
论文数: 1.7W
被引数: 15
U
university of washington
学者数:
9.3K
论文数: 4.3K
被引数: 2
引用论文

引用论文

A Survey on Adaptive Random Testing适应性随机测试综述
err2021-10-01
err58
errOAAI
errHuang, Rubing; Sun, Weifeng; Xu, Yinyin; Chen, Haibo; Towey, Dave; Xia, Xin
err分享
err收藏
TOGA
err2022-07-05
err0
errOAAI
errElizabeth Dinella; Gabriel Ryan; Todd Mytkowicz; Shuvendu K. Lahiri
err分享
err收藏
Fuzzing class specifications
err2022-07-05
err0
errOAAI
errFacundo Molina; Marcelo d'Amorim; Nazareno Aguirre
err分享
err收藏
Takuan: A Tool for WS-BPEL Composition Testing Using Dynamic Invariant Generation
err2010-01-01
err0
PREAI
errPalomo-Duarte,Manuel; García-Domínguez,Antonio; Medina-Bulo,Inmaculada; Alvarez-Ayllón,Alejandro; Santacruz,Javier
err分享
err收藏
ARTE: Automated Generation of Realistic Test Inputs for Web APIsARTE: 为Web api自动生成真实的测试输入
err2023-01-01
err19
errOAAI
errAlonso, Juan C.; Martin-Lopez, Alberto; Segura, Sergio; Garcia, Jose Maria; Ruiz-Cortes, Antonio
err分享
err收藏
学者 查看更多内容