接口的测试用例的生成方法及装置、介质和设备制造方法及图纸

技术编号:23314978 阅读:28 留言:0更新日期:2020-02-11 17:45
本公开涉及计算机技术领域,提供了一种接口的测试用例的生成方法及装置,以及计算机存储介质和电子设备。其中,该方法包括:将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件;解析第一文件和第二文件之间的映射关系,得到类描述信息和嵌套关系信息;根据类描述信息和嵌套关系信息确定目标参数;根据目标参数生成接口的测试用例。本技术方案够有效提升接口测试效率。

Method of generating test cases for interfaces and devices, media and equipment

【技术实现步骤摘要】
接口的测试用例的生成方法及装置、介质和设备
本公开涉及计算机
,具体而言,涉及一种接口的测试用例的生成方法及装置,以及实现上述接口的测试用例的生成方法的计算机存储介质和电子设备。
技术介绍
ProtocolBuffer为一种结构化数据的数据存储格式,通过将结构化数据进行串行化(序列化),从而实现数据存储/远程过程调用(RemoteProcedureCall,简称:RPC)数据交换的功能。在传输数据量较大的需求场景下,ProtocolBuffer比XML、JSON等结构数据的序列化的工具占用空间量更小、且具有更快的处理速度,同时,ProtocolBuffer可以跨平台、跨语音使用。具体可用于网络传输、配置文件、数据存储等诸多领域。其中,通过Proto定义的后台接口已经广泛应用于众多开发项目中。其中,相关技术提供的接口的测试用例的生成方法如下:通过接口(Application,简称:API)描述文件(如:开发提供的JSON格式的接口描述文件),或者测试整理的信息来获取接口名及相关接口参数。进一步地,将获取到的接口名及相关接口参数填充至测试用例模板,得到测试用例。从而,通过测试用例进行对应接口的测试。然而,相关技术获取接口参数时需手工整理,或者开发支持的描述性文档。其中,手工整理会造成耗时增加,而开发支持的描述性文档依赖于开发使用的框架是否支持对应的项目。也就是说,相关技术提供方案的接口测试效率有待提高。需要说明的是,上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解。专
技术实现思路
本公开的目的在于提供一种接口的测试用例的生成方法及装置,以及实现上述接口的测试用例的生成方法的计算机存储介质和电子设备,进而至少在一定程度上提升接口测试效率。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一个方面,提供一种接口的测试用例的生成方法,包括:将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件;解析上述第一文件和上述第二文件之间的映射关系,得到类描述信息和嵌套关系信息;根据上述类描述信息和上述嵌套关系信息确定目标参数;根据上述目标参数生成上述接口的测试用例。根据本公开的一个方面,提供一种接口的测试用例的生成装置,包括:转换模块、解析模块、参数确定模块,以及测试用例生成模块。其中:上述转换模块,被配置为:将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件;上述解析模块,被配置为:解析上述第一文件和上述第二文件之间的映射关系,得到类描述信息和嵌套关系信息;上述参数确定模块,被配置为:根据上述类描述信息和上述嵌套关系信息确定目标参数;上述测试用例生成模块,被配置为:根据上述目标参数生成上述接口的测试用例。在本公开示例性的实施例中,基于前述方案,上述解析模块,具体被配置为:根据上述第一文件的消息结构体确定上述目标格式的第一类描述;根据上述第一文件的枚举结构体确定上述目标格式的第二类描述以及关联文件类描述;解析上述第一类描述的字段关键字确定上述消息结构体的嵌套关系信息,以及解析上述关联文件类描述的字段关键字确定上述枚举结构体中关联文件的嵌套关系信息。在本公开示例性的实施例中,基于前述方案,上述参数确定模块,具体被配置为:根据上述嵌套关系信息判断当前处理类是否为嵌套结构体;若上述当前处理类不是嵌套结构体,则:通过正则表达式,提取关于上述当前处理类的数据类型字典和修饰标签字典;根据上述数据类型字典的值和上述修饰标签字典的值确定上述当前处理类的目标参数。在本公开示例性的实施例中,基于前述方案,上述参数确定模块,具体还被配置为:若上述当前处理类是嵌套结构体,则:根据上述嵌套关系信息确定下一处理类;通过正则表达式,提取关于上述下一处理类的数据类型字典和修饰标签字典;根据上述数据类型字典的值和上述修饰标签字典的值确定上述下一处理类的目标参数。在本公开示例性的实施例中,基于前述方案,上述解析模块,具体还被配置为:获取接口的名称,并根据接口名称过滤出目标类;解析上述第一文件和上述第二文件之间的映射关系,得到关于上述目标类的类描述信息和嵌套关系信息。在本公开示例性的实施例中,基于前述方案,上述测试用例生成模块,具体被配置为:获取测试用例模板,并将上述目标类的接口名和上述目标参数填充至上述测试用例模板中,得到上述接口的测试用例。在本公开示例性的实施例中,基于前述方案,上述测试用例生成模块,具体还被配置为:根据所述目标参数生成所述接口的测试用例,并将所述测试用例存储至区块链中。在本公开示例性的实施例中,基于前述方案,上述测试用例生成模块,具体还被配置为:将上述接口名和上述目标参数作为JSON对象,将上述JSON对象渲染至上述测试用例模板中。根据本公开的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的接口的测试用例的生成方法。根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面所述的接口的测试用例的生成方法。由上述技术方案可知,本公开示例性实施例中的接口的测试用例的生成方法及装置,以及实现上述接口的测试用例的生成方法的计算机存储介质和电子设备至少具备以下优点和积极效果:在本公开的一些实施例所提供的技术方案中,先将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件,以通过该目标格式的语言(如,Python)进行后续数据分析。进而,解析该第一文件和对应的第二文件之间的映射关系,得到类描述信息和嵌套关系信息。进一步地,根据上述类描述信息和嵌套关系信息确定目标参数,并根据所确定的目标参数生成接口的测试用例。本技术方案可应用至Proto定义的后台接口项目中,能够替代人工分析Proto文件提取接口参数的部分,同时,自动化生成批量的API接口测试用例,避免用例脚本编写时参数分析错误导致的错误调试时间,进而提升了接口测试效率。本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示出了可以应用本公开实施例的一种接口的测试用例的生成方法及装置的示例性应用环境的系统架构的示意图;图2示意性示出了根据本公开的一实施例的接口的测试用例的生成方法的流程图;图3示意性示出了根据本公开的一实施例的第一文件与第二文件之间的关系图;图4示意性示出了根据本本文档来自技高网
...

【技术保护点】
1.一种接口的测试用例的生成方法,其特征在于,所述方法包括:/n将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件;/n解析所述第一文件和所述第二文件之间的映射关系,得到类描述信息和嵌套关系信息;/n根据所述类描述信息和所述嵌套关系信息确定目标参数;/n根据所述目标参数生成所述接口的测试用例。/n

【技术特征摘要】
1.一种接口的测试用例的生成方法,其特征在于,所述方法包括:
将用于接口描述的Proto格式的第一文件转换为目标格式的第二文件;
解析所述第一文件和所述第二文件之间的映射关系,得到类描述信息和嵌套关系信息;
根据所述类描述信息和所述嵌套关系信息确定目标参数;
根据所述目标参数生成所述接口的测试用例。


2.根据权利要求1所述的接口的测试用例的生成方法,其特征在于,所述解析所述第一文件和所述第二文件之间的映射关系,得到类描述信息和嵌套关系信息,包括:
根据所述第一文件的消息结构体确定所述目标格式的第一类描述;
根据所述第一文件的枚举结构体确定所述目标格式的第二类描述以及关联文件类描述;
解析所述第一类描述的字段关键字确定所述消息结构体的嵌套关系信息,以及解析所述关联文件类描述的字段关键字确定所述枚举结构体中关联文件的嵌套关系信息。


3.根据权利要求2所述的接口的测试用例的生成方法,其特征在于,所述根据所述类描述信息和所述嵌套关系信息确定目标参数,包括:
根据所述嵌套关系信息判断当前处理类是否为嵌套结构体;
若所述当前处理类不是嵌套结构体,则:
通过正则表达式,提取关于所述当前处理类的数据类型字典和修饰标签字典;
根据所述数据类型字典的值和所述修饰标签字典的值确定所述当前处理类的目标参数。


4.根据权利要求3所述的接口的测试用例的生成方法,其特征在于,所述方法还包括:
若所述当前处理类是嵌套结构体,则:
根据所述嵌套关系信息确定下一处理类;
通过正则表达式,提取关于所述下一处理类的数据类型字典和修饰标签字典;
根据所述数据类型字典的值和所述修饰标签字典的值确定所述下一处理类的目标参数。


5.根据权利要求1至4中任意一项所述的接口...

【专利技术属性】
技术研发人员:张洪娜黄永德
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1