一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试模板生成方法、装置、计算机设备和存储介质与流程

2022-04-14 03:43:25 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种测试模板生成方法、装置、计算机设备和存储介质。


背景技术:

2.随着云服务成为新的关键基础架构,云服务的数量每天都在增长,因此维护云服务的安全性和可用性是越发重要。当前大多数的云服务和web服务都是通过rest api的方式来提供接口,以避免用户有意或无意的导致系统崩溃,开发人员需要通过模糊测试来尽可能发现api接口中存在的问题,而模糊测试是依据测试用例执行的,但现有技术中是通过后台人员针对不同的api接口手动编写测试用例,测试用例的生成效率较低,且手动编写容易发生错误编写等情况导致测试失败。


技术实现要素:

3.为了解决上述技术问题,本技术提供了一种测试模板生成方法、装置、计算机设备和存储介质。
4.第一方面,本技术提供了一种测试模板生成方法,包括:获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;基于所述中间文件中的多个接口数据生成测试模板。
5.第二方面,本技术提供了一种测试模板生成装置,包括:获取模块,用于获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析模块,用于解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;生成模块,用于基于所述中间文件中的多个接口数据生成测试模板。
6.第三方面,本技术提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;基于所述中间文件中的多个接口数据生成测试模板。
7.第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二
格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;基于所述中间文件中的多个接口数据生成测试模板。
8.上述测试模板生成方法、装置、计算机设备和存储介质,所述方法包括:获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;基于所述中间文件中的多个接口数据生成测试模板。基于上述测试模板生成方法,将不同数据格式的接口文件均转换为第二格式的中间文件,以此统一了不同数据格式的接口文件,不同的接口文件对应不同的测试要求,而测试要求由接口文件中的接口数据所决定,因此利用中间文件中的接口数据形成测试模板,每一个接口文件都可以按照其对应的测试模板执行接口测试,无需后台人员针对不同类型的接口手动编写测试用例,提高了测试用例的生成效率,也可避免手动编写出现错误编写导致测试失败的现象。
附图说明
9.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
11.图1为一个实施例中测试模板生成方法的应用环境图;图2为一个实施例中测试模板生成方法的流程示意图;图3为一个实施例中测试模板生成装置的程序模块示意图;图4为一个实施例中计算机设备的结构图。
具体实施方式
12.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
13.图1为一个实施例中测试模板生成方法的应用环境图。参照图1,该测试模板生成方法应用于测试系统。该测试系统包括终端110、云服务器120和资源服务器130。终端110、云服务器120和资源服务器130通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以为手机、平板电脑、笔记本电脑等中的至少一种。云服务器120和资源服务器130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
14.在一个实施例中,图2为一个实施例中一种测试模板生成方法的流程示意图,参照图2,提供了一种测试模板生成方法。本实施例主要以该方法应用于上述图1中的云服务器120来举例说明,该测试模板生成方法具体包括如下步骤:步骤s210,获取接口文件。
15.其中,所述接口文件包括多个数据格式为第一格式的接口数据。
16.具体的,可以获取过用户通过终端110主动导入的接口文件,亦或者,在终端110与资源服务器130进行通信过程中,利用http代理记录请求获取接口文件,即通过抓包方式获取接口文件。接口文件即为api文件,接口文件包括http请求头、接口名称、简要描述、请求域名、请求方式、请求参数、请求格式等接口数据。
17.第一格式具体可以为swagger格式、postman格式或http代理格式等任意数据格式。
18.步骤s220,解析所述接口文件,生成中间文件。
19.其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式。
20.具体的,利用解析规则对接口文件进行解析,将接口文件中接口数据的数据格式转换为第二格式,第二格式用于指示通用格式,具体可以为自定义的云服务器120可识别的数据格式,得到解析后的中间文件,用于将不同数据格式的接口文件均转换为统一格式的中间文件。
21.步骤s230,基于所述中间文件中的多个接口数据生成测试模板。
22.具体的,利用通用格式的接口数据生成测试模板,将测试模板存储至硬盘中以备后续测试使用,测试模板可直接作为测试用例进行模糊测试,也可根据不同的测试要求进行附加配置,即在测试模板的基础上进行简单配置即可生成测试用例,即可开始api的模糊测试。测试用例包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等所有与测试相关的信息。
23.并且基于上述方法可批量生成大量的api接口测试模板,无需手动干预,提高了测试用例的生成效率,由于测试模板的生成过程没有手动干预,还大幅降低了测试用例的错误率。
24.在有新的api文件需要进行模糊测试时,也可按照上述流程对云服务器120新接收到的api文件进行解析处理,以自动生成对应的测试模板,即生成测试模板的组件具有可复用性,后续均可根据导入的api文件自动生成相应测试模板。
25.在一个实施例中,所述解析所述接口文件,生成中间文件,包括:确定所述接口文件的数据格式,得到目标数据格式;按照所述目标数据格式确定对应的目标解析规则;按照所述目标解析规则解析所述接口文件,生成所述中间文件。
26.具体的,云服务器120识别接口文件的数据格式,将识别确定的数据格式作为目标数据格式,即目标数据格式为swagger格式、postman格式、http代理格式或其他数据格式中的一种,数据格式与解析规则之间存在映射关系,即每一种数据格式对应一个解析规则,按照目标数据格式对应的目标解析规则对接口文件进行解析,解析规则就是用于解读出接口文件中的接口数据,解读成功的接口数据的数据格式自动由第一格式转换为第二格式,即第二格式为云服务器120可识别的数据格式,所有第二格式的接口数据组成中间文件。
27.在一个实施例中,所述获取接口文件之前,所述方法还包括:获取多个样本文件;根据各个所述样本文件对应的数据格式配置相应的解析规则;其中,每个所述解析规则对应一个数据格式。
28.具体的,样本文件对应的数据格式与接口文件对应的数据格式相匹配,在接口文件对应的第一格式为swagger格式、postman格式或http代理格式时,样本文件对应的数据
格式也为swagger格式、postman格式或http代理格式中任意一种,利用样本文件的数据格式配置解析器,令解析器具备三种数据格式相应的三种解析规则,即得到swagger解析规则、postman解析规则或http代理解析规则,或者是每种数据格式对应一个解析器,每个解析器具备相应数据格式对应的解析规则,每种数据格式对应的解析规则都是为了将swagger格式、postman格式或http代理格式下的接口数据解读出来,并令解读出来的接口数据的数据格式为通用格式。
29.在一个实施例中,所述按照所述目标解析规则解析所述接口文件,生成所述中间文件,包括:提取所述接口文件中的接口数据,得到多个数据格式为所述第一格式的第一数据;基于所述目标解析规则将各个所述第一数据的数据格式由第一格式转换为所述第二格式,得到相应的多个第二数据;其中,所述多个第二数据组成所述中间文件。
30.具体的,提取接口文件中的接口数据即为解析器对接口文件进行预解析处理,然后再通过逐行解读接口文件的代码并按照目标解析规则来修改预解析得到的接口数据的数据格式,以完成接口文件的解析过程。
31.在一个实施例中,所述基于所述中间文件中的多个接口数据生成测试模板,包括:在所述第二数据的数据标签与预设模板中的数据标签相匹配时,将所述第二数据覆盖所述预设模板中数据标签对应的初始数据;在全部所述第二数据覆盖所述预设模板中相应数据标签对应的初始数据时,生成所述测试模板。
32.具体的,预设模板为测试引擎中执行模糊测试的基础模板,即其中包含有测试框架,其中存在的变量可根据第二数据进行修改,变量对应的数据标签用于指示数据类型,将第二数据的数据标签与预设模板中的数据标签进行比对,以确定第二数据在预设模板中的填写位置,将数据标签相匹配的第二数据替换相应变量对应的初始数据,以此将所有第二数据写入预设模板中,包含有所有第二数据的预设模板即为测试模板。
33.在一个实施例中,所述基于所述中间文件中的多个接口数据生成测试模板之后,所述方法还包括:在接收到操作指令时,按照所述操作指令确定目标测试模板;在接收到配置指令时,按照所述配置指令对所述目标测试模板添加配置参数,生成测试用例;其中,所述测试用例为附加有所述配置参数的所述测试模板。
34.具体的,操作指令为用户通过操作终端110发送至云服务器120的指令,操作指令用于在众多测试模板中选择用户所需的目标测试模板,若目标测试模板中包括了测试用例所需的所有接口数据,用户无需在目标测试模板的基础上进行手动配置,并且也未接收到用户通过终端110发送的配置指令时,测试引擎可直接按照目标测试模板执行接口测试。在接收到配置指令时,则需要按照配置指令在目标测试模板的基础上添加配置参数,即配置指令用于在目标测试模板的基础进行附加配置,配置指令包括至少一个配置参数,配置参数具体可以为请求次数、请求周期等参数,用于针对不同的测试环境需要自定义一些不同的参数,例如测试环境和开发环境所使用的请求次数不同,则需要按照实际所处环境自定义配置请求次数。
35.在一个实施例中,所述生成测试用例之后,所述方法还包括:基于所述测试用例生成多个测试请求;其中,所述测试用例包括多个待测接口的接口名称,每个所述测试请求对应一个所述待测接口;按照所述接口名称发送所述测试请求至相应所述待测接口;在接收到所述待测接口发送的响应信息时,根据所述响应信息确定所述待测接口的测试结果。
36.具体的,云服务器120中的测试引擎根据测试用例生成多个测试请求,测试引擎读取测试模板,并对测试模板中定义的数据标签相应字段进行模糊化处理,从而生成http请求。
37.测试用例包括多个待测接口的接口名称,待测接口为等待测试的api接口,每个待测接口对应唯一的接口名称,由于每个待测接口对应的测试请求不同,因此将测试请求发送至相应的待测接口,对待测接口进行模糊测试,根据待测接口返回的响应信息确定待测接口的测试结果,以此完成对api接口的模糊测试。
38.本技术通过将不同的api对应的接口文件转换成通用的测试模板,即利用解析规则根据不同的api接口文件动态生成相应的测试模板。使得整个测试模板的生成过程具有易用、高效及可复用的特性,从而提高web api模糊测试过程中测试用例的生成效率。
39.上述测试模板生成方法,利用测试模板生成方法独权的技术特征进行推导,实现能够解决背景技术中所提出技术问题的有益效果。
40.图2为一个实施例中测试模板生成方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
41.在一个实施例中,如图3所示,提供了一种测试模板生成装置,包括:获取模块310,用于获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据;解析模块320,用于解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式;生成模块330,用于基于所述中间文件中的多个接口数据生成测试模板。
42.在一个实施例中,所述解析模块320还用于:确定所述接口文件的数据格式,得到目标数据格式;按照所述目标数据格式确定对应的目标解析规则;按照所述目标解析规则解析所述接口文件,生成所述中间文件。
43.在一个实施例中,所述获取模块310还用于:获取多个样本文件;根据各个所述样本文件对应的数据格式配置相应的解析规则;其中,每个所述解析规则对应一个数据格式。
44.在一个实施例中,所述解析模块320还用于:提取所述接口文件中的接口数据,得到多个数据格式为所述第一格式的第一数据;基于所述目标解析规则将各个所述第一数据的数据格式由第一格式转换为所述第二格式,得到相应的多个第二数据;其中,所述多个第二数据组成所述中间文件。
45.在一个实施例中,所述生成模块330还用于:
在所述第二数据的数据标签与预设模板中的数据标签相匹配时,将所述第二数据覆盖所述预设模板中数据标签对应的初始数据;在全部所述第二数据覆盖所述预设模板中相应数据标签对应的初始数据时,生成所述测试模板。
46.在一个实施例中,所述生成模块330还用于:在接收到操作指令时,按照所述操作指令确定目标测试模板;在接收到配置指令时,按照所述配置指令对所述目标测试模板添加配置参数,生成测试用例;其中,所述测试用例为附加有所述配置参数的所述测试模板。
47.在一个实施例中,所述生成测试用例之后,所述生成模块330还用于:基于所述测试用例生成多个测试请求;其中,所述测试用例包括多个待测接口的接口名称,每个所述测试请求对应一个所述待测接口;按照所述接口名称发送所述测试请求至相应所述待测接口;在接收到所述待测接口发送的响应信息时,根据所述响应信息确定所述待测接口的测试结果。
48.图4示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的云服务器120。如图4所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现测试模板生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行测试模板生成方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
49.在一个实施例中,本技术提供的测试模板生成装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该测试模板生成装置的各个程序模块,比如,图3所示的获取模块310、解析模块320和生成模块330。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的测试模板生成方法中的步骤。
50.图4所示的计算机设备可以通过如图3所示的测试模板生成装置中的获取模块310执行获取接口文件;其中,所述接口文件包括多个数据格式为第一格式的接口数据。计算机设备可通过解析模块320执行解析所述接口文件,生成中间文件;其中,所述中间文件包括多个数据格式为第二格式的接口数据,所述第二格式与所述第一格式为不同的数据格式。计算机设备可通过生成模块330执行基于所述中间文件中的多个接口数据生成测试模板。
51.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
52.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
53.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍速率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink) dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
54.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
55.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献