RESTful API 自动化测试用例生成
软件工程
2019-01-08 v1
摘要
如今,Web 服务在企业应用开发中扮演重要角色。许多此类应用现采用面向服务架构(SOA)开发,其中微服务是最流行的种类之一。RESTful Web 服务将经由网络使用 HTTP 通过 API 提供数据,并可能与数据库及其他 Web 服务交互。测试 RESTful API 存在挑战,因为输入/输出是发往远程服务器的 HTTP 请求/响应序列。文献中许多方法做黑盒测试,因为被测 API 是代码不可得的远程服务。本文中,我们从开发者视角考虑测试,开发者对其所写代码有完全访问权。因此,我们提出一种全自动化白盒测试方法,其中测试用例利用进化算法自动生成。测试依据代码覆盖率与故障发现指标给予奖励。我们将该技术实现于名为 EVOMASTER 的开源工具中。在两个开源但非平凡的 RESTful 服务及一个工业级服务上的实验表明,我们的新技术确实自动发现了这些应用中的 38 个真实缺陷。然而,所获得的代码覆盖率低于这些服务中已有的手工编写测试套件所达到的覆盖率。因此,我们讨论了如何进一步改进该方向的研究。
引用
@article{arxiv.1901.01538,
title = {RESTful API Automated Test Case Generation},
author = {Andrea Arcuri},
journal= {arXiv preprint arXiv:1901.01538},
year = {2019}
}