[发明专利]一种基于Swagger文档的RESTful APIs组合测试方法有效
申请号: | 202111516040.8 | 申请日: | 2021-12-13 |
公开(公告)号: | CN113918473B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 徐立鑫;吴化尧;钮鑫涛;聂长海 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/74 |
代理公司: | 苏州汇智联科知识产权代理有限公司 32535 | 代理人: | 黄晶晶 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 swagger 文档 restful apis 组合 测试 方法 | ||
本发明公开了一种基于Swagger文档的RESTful APIs组合测试方法,涉及软件工程领域,包括文档预处理、X‑way操作序列覆盖表生成和U‑way参数覆盖表生成,其中X‑way操作序列覆盖表生成包括X‑way操作序列集合生成、定义操作依赖模型、X‑way操作序列集合修正和生成测试序列,U‑way操作参数覆盖表生成包括:测试序列选取、生成参数约束模型、生成参数覆盖表。本发明的优点在于:使用CURD语义和资源层级关系建立操作序列约束模型,系统性覆盖测试操作的相互影响;对API文档中的描述进行分析,提取其中的约束信息,并提供了一种算法给每个参数赋值,极大提高了测试有效性和效率。
技术领域
本发明涉及软件工程领域,具体是涉及一种基于Swagger文档的RESTful APIs组合测试方法。
背景技术
Swagger规约以JSON格式准确地定义每个资源的操作方式、对应的操作入参以及该操作的期望返回,依据Swagger文档生成测试模型主要有RESTTESTGEN模型和RESTler模型,RESTTESTGEN认为如果操作A的返回信息中有操作B的输入参数,操作A应该在操作B执行前执行,根据此规则解析文档,在测试前生成操作依赖图决定执行操作的顺序。而RESTler在测试过程中分析API请求的consumer-producer关系,即前一个请求的返回信息中是否存在参数字段是后一个请求的输入参数,再用操作扩展现有操作序列的长度。
但是现有的依据Swagger文档生成测试模型还存在以下不足,操作资源的前置条件无法定义,无法充分测试操作之间的相互关系;输入参数赋值策略无法格式化定义,有限时间成本无法测试全部输入空间。
发明内容
为解决上述技术问题,提供一种基于Swagger文档的RESTful APIs组合测试方法,本技术方案解决了上述的现有的依据Swagger文档生成测试模型还存在以下不足,操作资源的前置条件无法定义,无法充分测试操作之间的相互关系;输入参数赋值策略无法格式化定义,有限时间成本无法测试全部输入空间。
为达到以上目的,本发明采用的技术方案为:
一种基于Swagger文档的RESTful APIs组合测试方法,其特征在于,包括如下步骤:
文档预处理:分析RESTful API的OpenAPI文档,提取该Web应用的所有API路径信息和各自的输入参数信息,其中根据参数描述生成参数间的依赖关系;
X-way操作序列覆盖生成:首先使用CURD语义约束和资源层级依赖关系对操作约束建模,之后在操作约束模型的帮助下生成满足约束的操作序列,覆盖所有可能的操作的顺序组合,生成测试序列集A;
U-way参数覆盖表生成:对于生成的所有操作序列,逐个操作建立参数约束模型并生成参数覆盖表;
优选的,所述X-way操作序列覆盖生成包括如下步骤:
X-way操作序列集合生成:读取Swagger中的所有操作作为元素px,将所有元素px组成操作集合P,将操作集合P中的元素中选取X个元素,并进行排列组合形成元素qx,将所有元素qx组成X-way操作序列集合Q;
定义操作依赖模型:根据同一资源的操作约束关系,进行操作的依赖模型的建立;
X-way操作序列集合修正:根据操作的依赖模型,删除操作序列集合Q中所有不符合操作依赖模型的X-way操作序列;
生成测试序列:使用贪婪算法不断扩展已有操作序列的长度生成新的操作序列,扩展时使用操作约束模型筛选出可供扩展的操作,每条测试序列中的操作只出现一次,当筛选不出新的可供扩展的操作时,该条测试序列生成过程结束,将生成的测试序列添加至测试序列集A,并返回生成操作序列进行重复生成测试序列,直到X-way操作序列集合Q中所有元素全部已覆盖。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111516040.8/2.html,转载请声明来源钻瓜专利网。