一种接口自动化测试用例生成方法及系统技术方案

技术编号:39823967 阅读:34 留言:1更新日期:2023-12-22 19:44
本发明专利技术提出一种接口自动化测试用例生成方法及系统,该方法包括步骤:构建接口信息库,所述接口信息库用于存储接口信息和前置脚本;获取业务场景的请求信息;基于所述请求信息生成测试场景;为所述测试场景中的接口从所述接口信息库中选择对应的前置脚本或自定义所述前置脚本;保存所述测试场景,为所述测试场景制定执行计划,得到测试用例

【技术实现步骤摘要】
一种接口自动化测试用例生成方法及系统


[0001]本专利技术涉及计算机领域,具体涉及一种接口自动化测试用例生成方法及系统


技术介绍

[0002]在敏捷开发的大环境下,大部分软件项目在版本迭代的过程中需要频繁地进行功能和接口的修改和更新

当前后端开发常用的接口形式是通过
URL

Uniform Resource Locator
,统一资源定位符)定位资源,使用
HTTP

Hypertext Transfer Protocol
,超文本传输协议)方法对资源进行操作,通常以
JSON

JavaScript Object Notation

JavaScript
对象表示法)进行数据传输

常见的接口自动化测试用例需要测试人员手动编写测试接口

入参

出参以及前置接口等相关信息,测试用例的覆盖率不高且与实际生产应用场景关联性弱,且每次版本迭代导致接口变化后,测试用例都需要重新覆盖和维护,比较耗时耗力


技术实现思路

[0003]专利技术目的:本专利技术旨在提出一种接口自动化测试用例生成方法及系统,该方法能够自动化地快速生成与业务场景关联性强的接口测试用例

[0004]
技术实现思路
:为实现上述目的,本专利技术提出以下技术方案:第一方面,提供了一种接口自动化测试用例生成方法,包括步骤:构建接口信息库,所述接口信息库用于存储接口信息和前置脚本;获取业务场景的请求信息;基于所述请求信息生成测试场景;所述测试场景以接口名称作为键,以接口名称对应的请求信息所生成的接口用例作为值;所述接口用例以所述接口信息包含的接口地址

请求方法

请求头

匹配成功的接口字段

期望结果以及所述接口信息关联的前置脚本作为键,以所述请求信息解析得到的对应字段数据作为值;为所述测试场景中的接口从所述接口信息库中选择对应的前置脚本或自定义所述前置脚本;保存所述测试场景,为所述测试场景制定执行计划,得到测试用例

[0005]作为第一方面所述方法的一种可选实施方式,所述接口信息还包括:接口名称

接口路径

请求参数

接口的纯净路径哈希值和请求参数哈希值

[0006]进一步的,在基于所述请求信息生成所述测试场景之前,还包括:从所述请求信息中提取接口路径和请求参数;对从所述请求信息中提取的接口路径和请求参数进行哈希计算,将得到的哈希值与所述接口信息库中相应的哈希值进行一致性匹配;若一致性匹配成功,则生成所述测试场景

[0007]具体的,对从所述请求信息中提取的接口路径和请求参数进行哈希计算,将得到的哈希值与所述接口信息库中相应的哈希值进行一致性匹配,具体包括:使用正则匹配的方式,将所述请求信息中提取的接口路径中的路径参数和查询参
数过滤得到纯净路径,分别计算接口的纯净路径哈希值和请求参数哈希值,计算公式为:
[0008]其中,为所述接口的纯净路径的路径参数字符串或接口请求参数字符串,为字符串长度,表示字符串中首字符到第 个字符的哈希值
,
表示字符串第个字符对应的
ASCII
码值,
k

p
为预设参数;对于所述纯净路径哈希值,判断是否满足,若满足,则确定所述纯净路径哈希值满足一致性,否则,确定所述纯净路径哈希值不满足一致性;其中,表示所述接口信息库存储的接口信息中第
i
个接口的纯净路径哈希值;对于所述路径参数哈希值,判断是否满足,若满足,则确定所述路径参数哈希值满足一致性,否则,确定所述路径参数哈希值不满足一致性;其中,表示所述接口信息库中满足一致性的接口的所有请求参数的哈希值集合,表示从所述请求信息中提取的请求参数的哈希值集合

[0009]作为第一方面所述方法的一种可选实施方式,获取业务场景的请求信息,具体包括:获取业务场景包括的请求报文,过滤掉所述请求报文中的冗余请求,得到过滤后的所述请求信息,并将所述请求信息导出为可通过正则匹配进行切片的文本格式文件;通过正则匹配的方式将所述文本格式文件切片为独立的请求信息

[0010]第二方面,提供了一种接口自动化测试用例生成系统,用于实现所述的接口自动化测试用例生成方法,该系统包括:数据构建模块,配置为用于构建接口信息库;所述接口信息库用于存储接口信息和前置脚本;数据获取模块,配置为用于实时获取业务场景包括的请求报文;数据解析模块,配置为用于解析所述请求报文含有的所有请求信息;场景构建模块,配置为基于所述请求信息生成测试场景,为所述测试场景中的接口从所述接口信息库中选择对应的前置脚本或自定义所述前置脚本;保存所述测试场景,为所述测试场景制定执行计划,得到测试用例

[0011]第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的接口自动化测试用例生成方法

[0012]第四方面,提供了一种电子设备,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行所述的接口自动化测试用例生成方法的具体步骤

[0013]有益效果:与现有技术相比,本专利技术具有以下优势:
1、
通过构建接口信息库,能够在生成自动化接口测试用例时快速获取到对应的接口前置脚本,便于构建测试场景,提高效率

[0014]2、
通过解析实际业务操作产生的所有请求信息生成测试场景,使得自动化测试用
例与实际业务场景关联性强,更接近生产应用场景

[0015]3、
通过引入哈希算法用于解析请求信息时进行接口一致性校验与接口字段匹配替代字符串匹配方法,可以快速高效地判断字符串一致性,提高测试场景生成效率

[0016]4、
通过支持在已有测试脚本的基础上进行自定义修改保存,可以满足接口自动化用例的可定制化要求,增加接口自动化用例的多样性

附图说明
[0017]图1为实施例涉及的接口自动化测试用例生成方法的流程示意图;图2为实施例涉及的接口自动化测试用例生成系统的结构示意图

实施方式
[0018]下面将结合附图和具体实施例对本专利技术作更进一步的说明

但应当理解的是,本专利技术可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本专利技术限制于所说明的具体实施例

[0019]应当理解的是,在技术上可行的情况下,以上针对不同实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种接口自动化测试用例生成方法,其特征在于,包括步骤:构建接口信息库,所述接口信息库用于存储接口信息和前置脚本;获取业务场景的请求信息;基于所述请求信息生成测试场景;所述测试场景以接口名称作为键,以接口名称对应的请求信息所生成的接口用例作为值;所述接口用例以所述接口信息包含的接口地址

请求方法

请求头

匹配成功的接口字段

期望结果以及所述接口信息关联的前置脚本作为键,以所述请求信息解析得到的对应字段数据作为值;为所述测试场景中的接口从所述接口信息库中选择对应的前置脚本或自定义所述前置脚本;保存所述测试场景,为所述测试场景制定执行计划,得到测试用例
。2.
如权利要求1所述的方法,其特征在于,所述接口信息还包括:接口名称

接口路径

请求参数

接口的纯净路径哈希值和请求参数哈希值
。3.
如权利要求2所述的方法,其特征在于,在基于所述请求信息生成所述测试场景之前,还包括:从所述请求信息中提取接口路径和请求参数;对从所述请求信息中提取的接口路径和请求参数进行哈希计算,将得到的哈希值与所述接口信息库中相应的哈希值进行一致性匹配;若一致性匹配成功,则生成所述测试场景
。4.
如权利要求3所述的方法,其特征在于,对从所述请求信息中提取的接口路径和请求参数进行哈希计算,将得到的哈希值与所述接口信息库中相应的哈希值进行一致性匹配,具体包括:使用正则匹配的方式,将所述请求信息中提取的接口路径中的路径参数和查询参数过滤得到纯净路径,分别计算接口的纯净路径哈希值和请求参数哈希值,计算公式为:;其中,为所述接口的纯净路径的路径参数字符串或接口请求参数字符串,为字符串长度,表示字符串中首字符到第 个字符的哈希值
,
表示字符串第个字符对应的
ASCII

【专利技术属性】
技术研发人员:胡堃刘翠丽周勇李晓宇刘昭
申请(专利权)人:南京掌控网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[美国] 2023年12月25日 06:31
    e
    0
1