CN114721929A - 测试方法、装置、存储介质及设备 - Google Patents
测试方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN114721929A CN114721929A CN202110004641.4A CN202110004641A CN114721929A CN 114721929 A CN114721929 A CN 114721929A CN 202110004641 A CN202110004641 A CN 202110004641A CN 114721929 A CN114721929 A CN 114721929A
- Authority
- CN
- China
- Prior art keywords
- test
- plug
- protocol
- target
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 968
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 20
- 230000004044 response Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000004806 packaging method and process Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 230000008676 import Effects 0.000 description 4
- 238000002347 injection Methods 0.000 description 4
- 239000007924 injection Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种测试方法、装置、存储介质及设备。其中,方法包括:在目标测试工具对应的测试页面中显示至少两个协议测试插件,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。通过本申请能够在目标测试工具中对多种协议类型的测试数据进行测试,提高测试效率。
Description
技术领域
本申请涉及测试技术领域,尤其涉及一种测试方法、装置、存储介质及设备。
背景技术
测试主要用于检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。现有技术中的每种测试工具仅能对一种协议类型的数据进行测试,在对多种协议类型的测试数据进行测试时,需要切换不同的测试工具对不同协议类型的数据进行测试,测试的流程比较繁琐,进而造成测试效率较低。
发明内容
本申请实施例所要解决的技术问题在于,提供一种测试方法、装置、存储介质及设备,可以在目标测试工具对多种协议类型的数据进行测试,提高测试的效率。
本申请实施例一方面提供一种测试方法,包括:
在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据;
响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据;
根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
其中,目标测试工具包括插件管理器,上述方法还包括:
获取至少两个协议测试插件分别对应的功能逻辑数据包;
根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包;
将标准数据包导入插件管理器中,根据包含所述标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具。
其中,上述获取与目标协议插件相关联的待测试数据,包括:
响应测试页面中的测试数据编辑操作,显示目标测试工具中的原始测试数据;
响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据;
在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据。
其中,获取与目标协议插件相关联的待测试数据,包括:
在目标测试工具中获取与目标协议插件相关联的目标标准数据包;
对目标标准数据包进行解析,获得目标标准数据包中的请求参数字段和请求参数取值范围;
在请求参数取值范围内生成与请求参数字段相关联的目标请求参数;
根据目标协议插件对应的历史测试数据,对目标请求参数进行修正,将修正后的目标请求参数确定为与目标协议插件相关联的待测试数据。
其中,根据上述目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果,包括:
对待测试数据进行编码处理,生成测试数据对应的测试包;
获取被测对象对应的网络地址,将测试包发送至被测对象对应的网络地址,以使被测对象根据所述测试包生成测试包对应的反馈数据包;
接收被测对象返回的反馈数据包,对反馈数据包进行解码处理,生成待测试数据对应的测试结果。
其中,上述方法还包括:
响应针对测试页面中的插件增加入口的触发操作,获取触发操作所确定的新增协议类型;
获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包;
将新增标准数据包导入目标测试工具的插件管理器中,将成功导入插件管理器中的新增协议测试插件添加至协议测试插件列表;协议测试插件列表包括目标测试工具中所接入的协议测试插件。
其中,将标准数据包导入插件管理器中,根据包含标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具,包括:
将标准数据包封装至插件管理器中的上述插件标准接口;
获取至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在插件管理器中,对包含参数声明信息的标准数据包进行注册,得到目标测试工具。
本申请实施例一方面提供一种测试装置,包括:
显示模块,在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据;
第一获取模块,用于响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据;
测试处理模块,用于根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
其中,目标测试工具包括插件管理器,上述装置还包括:
第二获取模块,用于获取至少两个协议测试插件分别对应的功能逻辑数据包;
转换模块,用于根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包;
第一生成模块,用于将标准数据包导入插件管理器中,根据包含标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具。
其中,上述第一获取模块包括:
显示单元,用于响应测试页面中的测试数据编辑操作,显示目标测试工具中的原始测试数据;
更新单元,用于响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据;
第一确定单元,用于在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据。
其中,第一获取模块还包括:
第一获取单元,用于在目标测试工具中获取与目标协议插件相关联的目标标准数据包;
解析单元,用于对目标标准数据包进行解析,获得目标标准数据包中的请求参数字段和请求参数取值范围;
第一生成单元,用于在请求参数取值范围内生成与请求参数字段相关联的目标请求参数;
修正单元,用于根据目标协议插件对应的历史测试数据,对目标请求参数进行修正,将修正后的目标请求参数确定为与目标协议插件相关联的待测试数据。
其中,上述测试处理模块包括:
第二生成单元,用于对待测试数据进行编码处理,生成测试数据对应的测试包;
发送单元,用于获取被测对象对应的网络地址,将测试包发送至被测对象对应的网络地址,以使被测对象根据上述测试包生成测试包对应的反馈数据包;
第三生成单元,用于接收被测对象返回的反馈数据包,对反馈数据包进行解码处理,生成待测试数据对应的测试结果。
其中,上述装置还包括:
第三获取模块,用于响应针对测试页面中的插件增加入口的触发操作,获取触发操作所确定的新增协议类型;
第二生成模块,用于获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包;
添加模块,用于将新增标准数据包导入目标测试工具的插件管理器中,将成功导入插件管理器中的新增协议测试插件添加至协议测试插件列表;协议测试插件列表包括目标测试工具中所接入的协议测试插件。
其中,上述第一生成模块包括:
封装单元,用于将标准数据包封装至插件管理器中的插件标准接口;
注册单元,用于获取至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在插件管理器中,对包含参数声明信息的标准数据包进行注册,得到目标测试工具。
本申请一方面提供了一种计算机设备,包括:处理器及存储器;
其中,存储器用于存储计算机程序,处理器用于调用上述计算机程序,以执行如下步骤:
在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据;
响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据;
根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,以执行如下步骤:
在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据;
响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据;
根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
本申请实施例中,通过在目标测试工具对应的测试页面中显示至少两个协议测试插件,至少两个协议测试插件用于测试不同协议类型的数据,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。可见,本申请实施例所提供的目标测试工具便可以对多协议类型的数据进行测试,即可以在目标测试工具对应的测试页面中选择目标协议测试插件对相应的待测试数据进行测试,而不用切换多个不同协议类型的测试工具,提供了业务开发人员的便利性。通过本申请能够在目标测试工具中对不同协议类型的数据进行测试,进而可以提高测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种测试系统的架构示意图;
图2是本申请实施例提供的一种测试方法的流程示意图;
图3是本申请实施例提供的一种调用目标协议测试插件进行测试的示意图;
图4是本申请实施例提供的一种目标测试工具对应的测试页面的示意图;
图5是本申请实施例提供的一种获取待测试数据方法的流程示意图;
图6是本申请实施例提供的一种获取待测试数据方法的示意图;
图7是本申请提供的一种测试方法的流程示意图;
图8是本申请实施例提供的一种生成目标测试工具的示意图;
图9是本申请实施例提供的一种将标准数据包导入插件管理器方法的示意图;
图10是本申请实施例提供的一种功能组件架构的结构示意图;
图11是本申请实施例提供的一种采用目标测试工具进行数据测试方法的示意图;
图12是本申请实施例提供的一种测试装置的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,图1是本申请实施例提供的一种测试系统的结构示意图。如图1所示,该测试系统可以包括服务器10和用户终端集群。该用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终端100b、用户终端100c、…、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户终端100c、…、用户终端100n可以分别与上述服务器10进行网络连接,以便于每个用户终端可以通过该网络连接与服务器10进行数据交互。
其中,该用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、可穿戴设备、智能家居、头戴设备等具有业务数据处理功能的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目标应用(即应用客户端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的服务器10之间进行数据交互。
其中,如图1所示,服务器10可以用于根据目标协议测试插件对待测试数据进行测试处理,生成待测试数据对应的测试结果。该服务器10可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端。例如,本申请实施例可以将图1所示的用户终端100a作为目标用户终端,该目标用户终端中可以集成有具备该业务数据处理功能的目标应用(即应用客户端)。此时,该目标用户终端可以通过该应用客户端对应的业务数据平台与服务器10之间实现数据交互。如目标用户终端可以在目标测试工具对应的测试页面中显示至少两个协议测试插件,并响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据,将目标协议测试插件和待测试数据发送至服务器10,服务器10可以根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果,将该测试结果发送至目标用户终端。
请参见图2,图2是本申请实施例提供的一种测试方法的流程示意图。该方法可由计算机设备来执行,该计算机设备可以为服务器(如上述图1中的服务器11),或者用户终端(如上述图1的用户终端集群中的任一用户终端),或者为服务器和用户终端组成的系统,本申请对此不做限定。如图2所示,该测试方法可以包括步骤S101-S103。
S101,在目标测试工具对应的测试页面中显示至少两个协议测试插件。
具体的,当业务开发人员需要对目标对象进行测试时,需要判断该目标对象是否满足相应的功能性和安全性,此时的业务开发人员可以启动目标测试工具对目标对象进行测试,当目标对象的测试结果没有问题时,可以确定该目标对象满足功能性和安全性;当目标对象的测试结果存在问题时,可以确定该目标对象不满足功能性和安全性。当业务开发人员启动计算机设备中的目标测试工具时,该计算机设备可以响应目标测试工具的启动操作,在该计算机设备的终端屏幕中显示该目标测试工具对应的测试页面。其中,该目标测试工具可以包括至少两个协议测试插件,不同的协议测试插件可以用于测试不同协议类型的数据,即该目标测试工具具备测试至少两种协议类型分别对应的数据的功能。换言之,在目标测试工具的测试侧面中可以显示至少两个协议测试插件,以便业务开发人员可以在目标测试工具对应的测试页面中,选择所需要的协议测试插件,进而可以提高测试的效率。
其中,该协议测试插件可以是指接口测试工具,如Grpc协议类型(一种用于客户端和服务端通信的通信协议)对应的接口测试工具、Trpc协议类型(一种远程调用协议)对应的接口测试工具、Qza协议类型(一种通信协议)对应的接口测试工具等等。其中,Grpc协议类型对应的接口测试工具是一个高性能、通用的开源RPC(一种远程调用类型的进程间通信)框架,Trpc协议类型对应的接口测试工具是Trpc通用客户端接口测试工具,它可以通过在命令行参数中读取用户的输入,进而进行测试,也可以读取对应的JSON格式(一种数据交换格式)的测试数据进行测试与结果断言。Qza协议类型对应的接口测试工具与Trpc协议类型对应的接口测试工具类似,可以通过在命令行中读取用户的输入,进而对Qza协议的服务发起测试,也可以读取对应的JSON格式的测试数据进行测试与结果断言。需要说明的是,本申请实施例中的目标测试工具还可以包括其他测试工具,如mock工具(一种用虚拟的对象来创建以便测试的测试工具)、数据生成工具等等,只要实现本申请实施例中插件管理器中的标准接口对应的插件数据类型,便可以接入目标测试工具中以及在目标测试工具中进行使用,可以提高目标测试工具的适用性。
S102,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。
具体的,当用户在目标测试工具对应的测试页面显示的至少两个协议测试插件中,选择所需要的协议测试插件后,计算机设备可以响应针对至少两个协议测试插件的选取操作,将用户对应的选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议测试插件相关联的待测试数据。其中,待测试数据可以为目标测试工具中自带的原始测试数据,或者可以为在目标测试工具中随机生成的测试数据,或者可以为根据实际需求对原始测试数据或者随机生成的测试数据进行修改调整后的测试数据。
可选的,当待测试数据为目标测试工具中自带的原始测试数据时,在将用户对应的选取操作所确定的协议测试插件确定为目标协议测试插件后,从目标测试工具中调用目标测试插件对应的目标标准数据包。接入目标测试工具中的至少两个协议测试插件均有对应的标准数据包(即功能逻辑数据包),用于实现该目标协议测试插件对相关联的测试数据进行测试。对该目标标准数据包进行解析,获得目标标准数据包中已有的测试用例,直接将该已有的测试用例确定为与目标协议插件相关联的待测试数据。
可选的,当待测试数据为在目标测试工具中随机生成的测试数据(即在目标测试工具中自动生成的测试数据)时,计算设备可以在目标测试工具中获取与目标协议插件相关联的目标标准数据包,对目标标准数据包进行解析,获得目标标准数据包中的请求参数字段和请求参数取值范围。在请求参数取值范围内生成与请求参数字段相关联的目标请求参数,根据目标协议插件对应的历史测试数据,对目标请求参数进行修正,将修正后的目标请求参数确定为与目标协议插件相关联的待测试数据。
具体的,在将用户对应的选取操作所确定的协议测试插件确定为目标协议测试插件后,可以从目标测试工具中获取与目标协议插件相关联的目标标准数据包。计算机设备可以对该目标标准数据包进行解析,获得目标协议测试插件对应的标准数据包中的接口信息,该接口信息中包括请求参数的相关信息,如请求参数字段(即请求参数标识)、请求参数取值范围信息。在请求参数取值范围内生成与请求参数字段相关联的目标请求参数,即在各个请求参数字段对应的请求参数取值范围内,随机生成与请求参数字段相关联的目标请求参数。同时,可以根据目标协议测试插件对应的历史测试数据(此处的历史测试数据可以理解为目标协议插件中已进行测试处理的数据),对目标请求参数进行修正和补充,将修正和补充后的目标请求参数确定为与目标协议插件相关联的待测试数据,可以提供目标请求参数的准确性。由于请求参数字段多且复杂的,由业务开发人员逐个进行填写时比较费时费力,而且用户有时候不知道需要填写什么,因此可以在目标测试工具中自动生成目标协议测试插件对应的待测试数据,节省业务开发人员测试所花费的时间以及提高测试效率。
S103,根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
具体的,当确定目标协议测试插件以及获取与目标协议测试插件相关联的待测试数据后,计算机设备可以调用目标测试工具中的目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。其中,目标协议测试插件可以为至少两个协议测试插件中用于处理上述待测试数据的协议测试插件。本申请实施例中,在目标测试工具中确定目标协议测试插件,对与目标协议测试插件相关联的待测试数据进行测试处理,生成待测试数据对应的测试结果,而不用转换到不同协议类型对应的协议测试工具,提高了测试的效率。
可选的,计算机设备也可以将各个协议测试插件对应的标准数据包存储至云服务器中,并在本地数据库中存储该云服务器的地址信息。当目标测试工具需要调用目标协议测试插件对应的标准数据包时,可以通过对应的云服务器的地址信息,获得目标协议测试插件对应的标准数据包。可选的,计算机设备可以将各个协议测试插件分别对应的标准数据包存储至本地数据库,在调用目标测试工具中的目标协议测试插件对待测试数据进行测试的时候,可以从本地数据库调用目标协议测试插件对应的标准数据包,根据目标协议测试插件对应的标准数据包对待测试数据进行测试。例如,业务开发人员正处于开发阶段,不便将各个协议测试插件对应的标准数据上传至云服务器中时,则可以将各个协议测试插件对应的标准数据包存储计算机设备的本地数据库中。
可选的,对待测试数据进行测试处理的具体过程可以包括:计算机设备可以在目标测试工具中调用目标协议测试工具,在目标协议测试插件中对待测试数据进行编码处理,生成测试数据对应的测试包。获取被测对象对应的网络地址,将测试包发送至被测对象对应的网络地址,以使被测对象根据测试包生成测试包对应的反馈数据包,接收被测对象返回的反馈数据包,对反馈数据包进行解码处理,生成待测试数据对应的测试结果。
具体的,计算机设备在调用目标协议测试插件对应的标准数据包对待测试数据进行测试时,可以对待测试数据进行编码处理,生成待测试数据对应的测试包。获取被测对象对应的网络地址,并将测试包发送至被测对象对应的网络地址,在该网络地址中可以对测试包进行解析,得到测试包中所包含的待测试数据,根据待测试数据对被测对象进行测试,生成被测对象对应的测试结果数据,在该网络地址中可以将测试结果数据进行封装,得到反馈数据包,并由被测对象将反馈数据包返回至计算机设备。计算机设备在接收到被测对象返回的反馈数据包,可以对反馈数据包进行解码处理,生成待测试数据对应的测试结果。其中,被测对象是指需要测试的对象,例如,进行照明灯的开关对应的接口测试时,对应的照明灯为被测对象。
具体的,调用目标协议测试插件对待测试数据进行测试处理的具体测试过程可以参见图3,如图3所示,图3为本申请实施例提供的一种调用目标协议测试插件进行测试的示意图,如图3所示,目标协议测试插件中包括解析模块、编码模块、解码模块、断言校验模块、输出模块等等。其中,解析模块用于对目标协议测试插件对应的协议文件(即标准数据包)进行解析,可以解析出协议文件中的接口信息(包括接口名、请求参数结构体、响应结构体等)。其中,得到协议文件中的接口信息后,可以以一种固定的模板,将协议文件中的接口信息自动组织成测试代码,如Json(JavaScript Object Notation,JS对象简谱,一种计算机程序设计语言)代码、Python(一种计算机程序设计语言)代码、golang(一种静态强类型、编译型语言)代码,即自动生成测试代码信息。同时,对待测试数据进行解析,得到测试用例信息,包括用例名、被测接口名、测试请求数据、断言规则等等。编码模块用于对待测试数据中测试用例的请求参数数据进行编码,并结合请求目标地址、接口名等测试代码信息封装得到待测试数据对应的测试包,并将该测试包发送至被测对象,以使被测对象根据该测试包进行测试得到反馈数据包。解码模块用于对被测对象返回的反馈数据包进行解码,得到具体的响应数据。断言校验用于对被测对象返回的反馈数据包进行断言校验,即对反馈数据包中的数据进行校验,生成测试结果。输出模块用于将得到的测试结果输出,以及输出请求体或者响应体。确定与目标协议类型对应的目标协议测试插件后,调用该目标协议测试插件对应的标准数据包,即该目标协议测试插件对应的功能逻辑数据包,以及待测试数据。对目标协议测试插件对应的标准数据包以及待测试数据进行解析,然后利用编码模块进行编码,将解析编码后得到的测试包,并将该测试包发送至被测对象,以使被测对象根据测试包生成反馈数据包。接收被测对象返回的反馈数据包后,利用解码模块对反馈数据包进行解码,以及利用断言校验模块对解码后的反馈数据包进行断言校验,得到测试结果以及请求体或者响应体,最后输出模块将得到的测试结果(成功或者不成功)以及请求体或者响应体输出。
具体的,如图4所示,图4为本申请实施例提供的一种目标测试工具对应的测试页面的示意图,如图4所示,启动目标测试工具后,会在目标测试工具对应的测试页面的左侧显示当前接入目标测试工具的各种协议类型对应的协议测试工具,以及添加新的协议测试插件的插件增加入口。右侧提供对应的协议类型对应协议测试工具加入目标测试工具的协议测试插件,即各个协议测试工具接入目标测试工具中可以使用的协议测试插件,如协议测试工具1加入目标测试工具的协议测试插件1。右侧还提供了协议测试插件1对应的命令行参数,协议测试插件1在目标测试工具中进行注册时,可以对协议测试插件1对应的命令行参数自行定义。以及还设置了查找命令行参数中具体参数的窗口,可以该窗口中输入参数标识信息便可以查找需要的具体参数。当需要添加配置时,可以通过获取配置接口获取对应的配置信息。点击发送触键便可以完成添加配置操作,或者点击移除配置触键便可以将需要移除的配置移除。
本申请实施例中,通过在目标测试工具对应的测试页面中显示至少两个协议测试插件,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。这样利用目标测试工具便可以对多协议类型的数据进行测试,即在目标测试工具中调用对应的协议测试插件对相应的协议类型的数据进行测试,而不用切换多个不同协议类型的测试工具,提供了业务开发人员的便利性。通过本申请能够对不同协议类型的数据进行测试,提高测试效率以及提高测试结果的准确率。另外,本申请实施例通过对目标测试工具进行可视化处理,提供目标测试工具对应的测试页面,业务开发人员通过在目标测试工具对应的测试页面上进行测试,只需在对应的参数中填写响应的值便可进行测试得到测试结果,避免了参数缺失、名字输错等低级错误,提高测试的准确率和效率。同时,也避免在参数较多的情况下,参数的输入成为业务开发使数据测试的成本升高,业务开发人员也会因为没有记住具体的命令参数指令,导致工具使用频繁产生错误,使测试得到的测试结果准确较低。
进一步地,如图5所示,图5为本申请实施例提供的一种获取待测试数据方法的流程示意图,本申请实施例是对上述图2所对应实施例中的步骤S101的进一步描述。如图5所示,待测试数据的获取过程可以通过下述步骤S21-S23实现。
S21,响应测试页面中的测试数据编辑操作,显示目标测试工具中的原始测试数据。
具体的,当待测试数据为修改后的原始测试数据时,业务开发人员可以对目标测试工具中的原始测试数据或者目标测试工具自动生成的目标协议测试插件对应的待测试数据进行编辑,即在目标测试工具对应的测试页面中触发对原始测试数据进行编辑的操作。本实施例中的计算机设备可以响应目标测试工具中的测试数据编辑操作,将目标测试工具中的原始测试数据在测试页面上进行显示,以使业务开发人员对需要修改的原始测试数据进行修改。
S22,响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据。
S23,在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据。
计算机设备将目标测试工具中的原始测试数据在测试页面上显示后,业务开发人员可以对原始测试数据进行编辑,更改原始测试数据对应的数值。业务开发人员更改完原始测试数据并点击保存触键后,本申请实施例中的计算机设备可以响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据。并在目标测试工具中存储修改后的原始测试数据,将修改后的原始数据确定为待测试数据。如可以在目标测试工具对应的测试页面中,在对应的参数填写具体响应的值,便可以获得待测试数据。如在目标测试工具中自动生成目标协议测试插件对应的待检测数据后,业务开发人员还可以根据具体需求对目标协议测试插件对应的自动生成的待测试数据进行修改。
可选的,当待测试数据为用户对目标测试工具中自动生成的目标协议测试插件对应的待测试数据,进行编辑得到的测试数据时,当计算机设备接收到业务开发人员针对目标协议测试插件对应的原始测试数据(即预先自动生成的待测试数据)进行编辑的编辑指令时,响应针对目标协议测试插件对应的自动生成的待测试数据的编辑操作,业务开发人员可以根据实际需求,在目标测试工具对应的测试页面中对原始测试数据(即预先自动生成的待测试数据)进行修改,将修改后的原始测试数据作为待测试数据。
如图6所示,图6为本申请实施例提供的一种获取待测试数据方法的示意图,如图6所示,当业务开发人员选中目标测试工具中目标协议测试插件所需要修改的原始测试数据,即目标参数c4后,可以确定该目标参数c4是否可以编辑,如图6所示,该目标参数c4可以编辑。则点击该目标参数c4对应的编辑触键,便可以看到目标参数c4中的具体参数信息,可以对该具体参数信息进行编辑,编辑完后点击保存进行保存。如目标参数c4的具体参数中显示当前协议测试插件中的测试实例名称为“打招呼”,协议类型为“Trpc(一种进程间通信协议)”,运行需要花费为“5000”等等。在目标测试工具对应的测试页面中,可以在具体参数信息中填写需修改的值,点击发送便可以得到测试结果,目标测试工具会在对应的窗口中对得到的测试结果进行显示,以便业务开发人员进行查看,同时计算机设备会把业务开发人员对原始数据进行编辑后得到的测试用例进行储存,以便后续使用。通过在目标测试工具对应的测试页面上进行测试,以及只需在对应的参数中填写响应的值便可进行测试得到测试结果,避免了参数缺失、名字输错等低级错误,提高测试的准确率和效率。同时,也避免在参数较多的情况下,参数的输入成为业务开发使数据测试的成本升高,业务开发人员也会因为没有记住具体的命令参数指令,导致工具使用频繁产生错误,使测试得到的测试结果准确较低。
在本申请实施例中可以通过响应目标测试工具中的测试数据编辑操作,显示目标测试工具中的原始测试数据,以及响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据。在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据,这样业务开发人员可以在目标测试工具对应的测试页面中对目标测试工具中原始测试数据进行修改,得到待测试数据,而不用重新编写测试数据,可以提高数据测试的便利性和效率。
如图7所示,图7为本申请实施例提供的一种测试方法的示意图,该方法可由计算机设备来执行,该方法可由计算机设备来执行,该计算机设备可以为服务器(如上述图1中的服务器11),或者用户终端(如上述图1的用户终端集群中的任一用户终端),或者为服务器和用户终端组成的系统,本申请对此不做限定。如图7所述,该测试方法的步骤包括S201-206。
S201,获取至少两个协议测试插件分别对应的功能逻辑数据包。
具体的,计算机设备可以获取至少两个协议测试插件分别对应的功能逻辑数据包,该功能逻辑数据包包括协议测试插件进行数据测试所需要的代码信息,即各个协议测试插件对应的协议文件。
S202,根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包。
具体的,计算机设备获取至少两个协议测试插件分别对应的功能逻辑数据包后,可以根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包。该插件管理器中定义了一套插件标准接口,通过该插件标准接口对应的插件数据类型,对多个协议测试插件分别对应的功能逻辑数据包进行转换,转换成满足插件标准接口对应的插件数据类型的标准数据包。
S203,将标准数据包导入插件管理器中,根据包含所述标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具。
具体的,计算机设备在获取到每个协议测试插件分别对应的标准数据包后,可以将每个协议测试插件对应的标准数据包导入插件管理器中,生成包含至少两个协议测试插件的目标测试工具。利用该目标测试工具便可以对多协议类型的数据进行测试,这样业务开发人员可以在一个测试用具上进行多种协议类型的数据进行测试,而不用切换多个不同协议类型的测试工具,提供了业务开发人员的便利性。
如图8所示,图8为本申请实施例提供的一种生成目标测试工具的示意图,如图8所示,目标测试工具主要包括功能组件架构、多种协议类型的协议测试插件、测试页面三个部分。其中,功能组件架构中抽象了一个插件管理器,该插件管理器定义了一套标准插件接口,每个协议测试插件实现了该插件标准接口后就可以注册接入到插件管理器中,这样目标测试工具就具备了各个协议测试插件的测试能力。同时,功能组件架构中还创建了网络服务器(webserver),提供目标测试工具中各个协议测试插件对应的访问路径(即http接口),与前端的测试页面进行交互,即在测试页面中通过各个协议测试插件对应的访问路径,便可以调用对应的协议测试插件。其中,至少两个协议类型分别对应的访问路径可以是指http(HyperText Transfer Protocol,超文本传输协议)接口,该http接口是建立在TCP(Transmission Control Protocol,传输控制协议)协议基础之上的,当确定目标协议类型后,会通过TCP建立起一个到目标测试工具中服务器的连接通道,通过该http接口便可以从目标测试工具中目标协议测试插件对待测数据进行测试。该测试页面(即web界面)是目标测试工具的前端,通过目标测试工具提供的各个协议测试插件对应的访问路径,与目标测试工具的后端进行通信。在测试页面中用户可以进行可视化选择各个协议测试插件、加载各个协议测试插件对应的标准数据包、对目标测试工具中原始测试数据进行编辑、发送测试请求、查看测试结果等功能。不同的协议测试插件可以对相关联的协议类型的待测试数据进行解码/编码、发包/收包、断言等测试。这样采用目标测试工具便可以对多种协议类型的数据进行测试,即调用各种协议类型对相关联的协议测试插件进行测试,而不用切换不同的协议测试工具对不同协议类型的数据进行测试,提高测试的效率以及便捷性。并且目标测试工具中的新增的协议测试工具只要实现定义好的插件标准接口,即可以接入到目标测试工具中,很大程度上降低了接入成本,提高业务开发人员测试的方便性。
可选的,在生成包含至少两个协议测试插件的目标测试工具的过程中,计算机设备可以将标准数据包封装至插件管理器中的插件标准接口,获取至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在插件管理器中,对包含参数声明信息的标准数据包进行注册,得到目标测试工具。
具体的,插件管理器中定义了插件标准接口,多个协议测试插件按照该插件标准接口对应的插件数据类型,将对应的功能逻辑数据包转换成满足插件数据类型的标准数据包,并将该标准数据包封装进插件管理器中的插件标准接口。同时获取至少两个协议测试插件中每个协议测试插件对应的参数声明信息,如每个协议测试插件所需要的参数,以及所需要参数是否为必须(可以用IsRequired函数来定义),以及是否可以被编辑(可以用NeedLoad函数来定义)。并调用插件注册函数,对包含参数声明信息的标准数据包进行注册,即对每个协议测试插件进行注册,得到目标测试工具。这样,在目标测试工具对应的测试页面中可以显示至少两个协议测试插件分别对应的参数信息,以便用户查看各个协议测试插件中的参数,提高业务开发人员进行数据测试的便利性。
其中,对包含参数声明信息的标准数据包进行注册时,可以根据目标测试数据中的插件基础类,创建多个协议测试插件中每个协议测试插件对应的插件标准接口,每个协议测试插件对应的插件标准接口对相对应的标准数据包进行实例化,得到对应插件标准接口对应的协议测试插件实例(即协议测试插件对应的对象),并定义每个协议测试插件实例中所需要的参数声明信息。并在插件管理器中对定义了参数声明信息的协议测试插件实例进行注册,得到目标测试工具。其中,至少两个协议测试插件中每个协议测试插件在实现对应插件标准接口的协议测试插件实例时,可以将每个协议测试插件对应的配置文件的读取路径,添加至具体测试处理逻辑层,以使进行数据测试时通过具体测试处理逻辑层中的读取路径获得对应的配置文件进行数据测试,以及定义每个协议测试插件实现数据测试所需要的参数声明信息。当需要读取协议测试插件的配置文件时,可以通过WithConfig函数(一种添加配置函数)来实现。具体的,可以通过run函数(一种为测试页面线程提供消息循环函数),将对应的功能逻辑数据包转换成满足各个协议测试工具对应的插件标准接口的标准数据包。若在通过run函数实现每个协议测试插件对应的标准数据包的过程中需要对赋值的结果进行修正,则可以通过GetString函数(一种获取对象的当前指定列的值函数)与GetByte函数(一种将字符串转化为字节的函数)实现。其中,通过网络服务器生成目标测试工具对应的测试页面时,定义测试页面中需要展示的各个协议测试插件的参数名称应与各个协议测试插件对应的标准数据包中的参数名称一致。
如图9所示,图9为本申请实施例提供的一种将标准数据包导入插件管理器方法的示意图,如图9所示,将包含参数声明信息的标准数据包注册进插件管理器中时,可以通过go runtime机制,调用初始化函数(init函数)进行初始化处理后,进而调用注册(Register)函数,根据插件管理器定义的插件标准接口,将各个协议测试插件实例注册到插件管理器的插件管理器中,得到储存了多个协议测试插件的全局存储管理器,根据网络服务器,对全局存储管理器中的逻辑功能进行可视化处理,生成目标测试工具,便可以实现目标测试工具的多种业务处理,如获取所有协议测试插件、运行获取测试结果等等业务。
其中,如图10所示,图10为本申请实施例提供的一种功能组件架构的结构示意图,如图10所示,功能组件架构中包括API(应用程序编程接口)接口层、逻辑层、插件抽象层、插件实现层。其中,功能组件架构中的API接口层中设置有对各个协议测试插件分别对应的配置的获取接口和修改接口,通过该获取接口和修改接口可以对各个协议测试插件中的配置进行获取操作和修改操作。API接口层中还设置有对各个协议测试插件分别对应的标准数据包中数据的获取接口和修改接口,通过数据的获取接口和修改接口便可以对各个协议测试插件中的数据进行获取操作和修改操作。API接口层还设置有各个协议测试插件分别对应的调用接口和各个协议测试插件分别对应的参数获取接口,以及与前端静态资源交互的接口。功能组件架构中的逻辑层则是实现API接口层中各个接口的业务逻辑处理。功能组件架构中的插件抽象层则存储了各个协议测试插件对应的标准数据包,进行配置和文件(即各个协议测试插件对应的标准数据包)进行管理和存储。功能组件架构中的插件实现层用于定义各个协议测试插件对应的插件标准接口以及各个协议测试插件的注册。如定义协议测试插件A对应的插件标准接口、协议测试插件B对应的插件标准接口、协议测试插件C对应的插件标准接口、协议测试插件D对应的插件标准接口。
可选的,在生成目标测试工具后,还可以在该目标测试工具中新增协议测试插件,如在该目标测试工具对应的可视化测试页面中设置插件增加入口,当业务开发人员对插件增加入口执行触发操作时,计算机设备可以响应针对测试页面中的插件增加入口的触发操作,获取触发操作所确定的新增协议类型。获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包。将新增标准数据包导入目标测试工具的插件管理器中,将成功导入插件管理器中的新增协议测试插件添加至协议测试插件列表,协议测试插件列表包括目标测试工具中所接入的协议测试插件。
若业务开发人员需要在目标测试工具中新增协议测试插件,则可以触发目标测试工具对应的插件增加入口。本申请实施例中的计算机设备可以响应针对目标测试工具中的插件增加入口的触发操作,获取该触发操作所确定的新增协议类型。并获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包。将该新增标准数据包导入目标测试工具的插件管理器中,并将成功导入该插件管理器中的新增协议测试插件添加至协议测试插件列表中,该协议测试插件列表包括目标测试工具中所接入的协议测试插件。其中,响应针对目标测试工具中的插件增加入口的触发操作后,显示如图4所示的界面,业务开发人员可以在图4所示界面的右侧的插件增加入口对新增协议类型对应的新增协议测试插件进行添加。
可选的,业务开发人员想要查看目标测试工具中当前加入了哪些协议测试插件,可以触发目标测试工具对应的测试页面中的插件信息获取接口。本申请实施例中的计算机设备可以响应针对目标测试工具中的插件信息查看的触发操作,获取当前接入目标测试工具中的至少两个协议测试插件,并获取当前接入目标测试工具的至少两个协议测试插件分别对应的参数信息和协议类型信息等,并展示当前接入目标测试工具的至少两个协议测试插件以及分别对应的参数信息和协议类型信息,这样业务开发人员可以清楚地知道当前目标测试工具具备那些协议类型的协议测试插件的测试能力。
可选的,业务开发人员想要获取目标协议类型对应的目标协议测试插件,该目标协议测试插件是指业务开发人员想要采用该目标协议测试插件进行数据的测试。则可以响应针对目标测试工具的插件获取入口的触发操作,获取该插件获取入口的触发操作所确定的目标协议测试插件,如用户可以在测试页面上中协议测试插件搜索窗口中输入目标协议测试插件。确定目标协议测试插件后,在目标测试工具对应的测试页面中显示该目标协议测试插件对应的参数信息,获得待测试数据后,调用目标协议测试插件对待测试数据进行测试。
如图11所示,图11为本申请实施例提供的一种采用目标测试工具进行数据测试方法的示意图,如图11所示,目标测试工具中包括插件库中,该插件库用于对多个协议测试插件进行管理。该插件库中设有插件对外接口,该插件对外接口包括功能抽象接口和管理接口。其中,功能抽象接口中包括设置配置文件接口,通过该设置配置文件接口可以进行增加配置文件或者修改配置文件,功能抽象接口中还包括获取字符结果接口以及获取子节结果接口,运行插件功能逻辑数据接口。其中,管理接口包括插件注册接口、插件获取接口、插件增加接口。各个协议测试插件(如协议测试插件A、协议测试插件B、协议测试插件C、协议测试插件D)实现插件库中功能抽象接口,并在插件管理器中进行注册后,目标测试工具便可以对各个协议插件进行使用。将各个协议测试插件对应的标准数据包导入插件管理器中时,可以导入各个协议测试插件对应的标准数据包对应的存储地址。通过go(一种计算机编程语言)对各个协议测试插件对应的功能逻辑数据包进行打包(即封装)成对应的协议测试插件实例,将各个协议测试插件对应的协议测试插件实例注册到插件管理器中进行存储。即分别将各个协议测试插件对应的功能逻辑数据包封装成go数据类型对应的标准数据包,然后导入(import)插件管理器中的插件库中,生成目标测试工具。也可以通过将至少两个协议测试插件封装成对应的二进制数据包,并将对应的二进制数据包加载到内存中进行调用。目标测试工具中包括各个协议测试插件实例,以及提供给业务开发人员的对外接口,该提供给业务开发人员的对外接口包括获取所有插件信息接口、增加插件接口、获取插件接口、插件参数注入接口、配置注入接口,这些对外接口可以在目标测试工具对应的测试页面进行显示,以便业务开发人员查看协议测试插件信息或者增加新的协议测试插件等等。如可以根据获取所有插件信息接口查看当前加入目标测试工具的协议测插件,根据增加插件接口在目标测试工具中添加新增协议测试插件,以使目标测试工具具备该新增协议测试插件的数据测试能力。以及可以根据获取插件接口对需要的协议测试插件进行搜索,调用需要的协议测试插件进行数据测试,以及根据插件参数注入接口和配置注入接口注入参数和配置文件。同时,该目标测试工具具有业务层,该业务层可以通过获取插件详情,以及获取插件参数(即待测试数据),根据获取到的插件详情确定目标协议测试插件实例,以及该目标协议测试插件的配置文件,运行(调用目标协议测试插件对待测试数据进行)获得测试结果。其中,本申请实施例的目标测试工具不限于协议测试工具的接入,还可以接入mock测试(一种用虚拟的对象来创建以便测试的测试方法)工具、数据生成工具等等其他数据处理工具。
S204,在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据。
S205,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。
S206,根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
本申请实施例中步骤S204-S206的具体实现方式可以参看图2所对应实施例中的描述,本申请实施例在此不再累述。
在本申请实施例中,通过在目标测试工具对应的测试页面中显示至少两个协议测试插件,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。这样利用目标测试工具便可以对多协议类型的数据进行测试,即在目标测试工具中调用对应的协议测试插件对相应的协议类型的数据进行测试,而不用切换多个不同协议类型的测试工具,提供了业务开发人员的便利性。通过本申请能够对不同协议类型的数据进行测试,提高测试效率以及提高测试结果的准确率。另外,本申请实施例通过对目标测试工具进行可视化处理,提供目标测试工具对应的测试页面,业务开发人员通过在目标测试工具对应的测试页面上进行测试,只需在对应的参数中填写响应的值便可进行测试得到测试结果,避免了参数缺失、名字输错等低级错误,提高测试的准确率和效率。同时,也避免在参数较多的情况下,参数的输入成为业务开发使数据测试的成本升高,业务开发人员也会因为没有记住具体的命令参数指令,导致工具使用频繁产生错误,使测试得到的测试结果准确较低。
请参见图12,图12是本申请实施例提供的一种测试装置的结构示意图。上述测试装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该测试装置为一个应用软件;该装置可以用于执行本申请实施例提供的测试方法中的相应步骤。如图12所示,该测试装置可以包括:显示模块11、第一获取模块12、测试处理模块13、第二获取模块14、转换模块15、第一生成模块16、第三获取模块17、第二生成模块18、添加模块19。
显示模块11,在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据。
第一获取模块12,用于响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。
测试处理模块13,用于根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
其中,目标测试工具包括插件管理器,上述装置还包括:
第二获取模块14,用于获取至少两个协议测试插件分别对应的功能逻辑数据包;
转换模块15,用于根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包;
第一生成模块16,用于将标准数据包导入插件管理器中,根据包含标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具。
其中,上述第一获取模块12包括:
显示单元1201,用于响应测试页面中的测试数据编辑操作,显示目标测试工具中的原始测试数据;
更新单元1202,用于响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据;
第一确定单元1203,用于在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据。
其中,第一获取模块12还包括:
第一获取单元1204,用于在目标测试工具中获取与目标协议插件相关联的目标标准数据包;
解析单元1205,用于对目标标准数据包进行解析,获得目标标准数据包中的请求参数字段和请求参数取值范围;
第一生成单元1206,用于在请求参数取值范围内生成与请求参数字段相关联的目标请求参数;
修正单元1207,用于根据目标协议插件对应的历史测试数据,对目标请求参数进行修正,将修正后的目标请求参数确定为与目标协议插件相关联的待测试数据。
其中,上述测试处理模块13包括:
第二生成单元1301,用于对待测试数据进行编码处理,生成测试数据对应的测试包;
发送单元1302,用于获取被测对象对应的网络地址,将测试包发送至被测对象对应的网络地址,以使被测对象根据上述测试包生成测试包对应的反馈数据包;
第三生成单元1303,用于接收被测对象返回的反馈数据包,对反馈数据包进行解码处理,生成待测试数据对应的测试结果。
其中,上述装置还包括:
第三获取模块17,用于响应针对测试页面中的插件增加入口的触发操作,获取触发操作所确定的新增协议类型;
第二生成模块18,用于获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包;
添加模块19,用于将新增标准数据包导入目标测试工具的插件管理器中,将成功导入插件管理器中的新增协议测试插件添加至协议测试插件列表;协议测试插件列表包括目标测试工具中所接入的协议测试插件。
其中,上述第一生成模块16包括:
封装单元1601,用于将标准数据包封装至插件管理器中的插件标准接口;
注册单元1602,用于获取至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在插件管理器中,对包含参数声明信息的标准数据包进行注册,得到目标测试工具。
本申请实施例中的具体实现方式可以参看图2或者图7所对应实施例中的描述,本申请实施例在此不再累述。
根据本申请的一个实施例,图2或者图7所示的测试方法所涉及的步骤可由图12所示的测试装置中的各个模块来执行。例如,图2中所示的步骤S101可由图12中的显示模块11来执行,图2中所示的步骤S102可由图12中的第一获取模块12来执行;图2中所示的步骤S103可由图12中的测试处理模块13来执行等等。
根据本申请的一个实施例,图12所示的测试装置中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,测试装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图2或者图7中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图12中所示的测试装置,以及来实现本申请实施例的测试方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本申请实施例中,通过在目标测试工具对应的测试页面中显示至少两个协议测试插件,响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据。根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。这样利用目标测试工具便可以对多协议类型的数据进行测试,即在目标测试工具中调用对应的协议测试插件对相应的协议类型的数据进行测试,而不用切换多个不同协议类型的测试工具,提供了业务开发人员的便利性。通过本申请能够对不同协议类型的数据进行测试,提高测试效率以及提高测试结果的准确率。另外,本申请实施例通过对目标测试工具进行可视化处理,提供目标测试工具对应的测试页面,业务开发人员通过在目标测试工具对应的测试页面上进行测试,只需在对应的参数中填写响应的值便可进行测试得到测试结果,避免了参数缺失、名字输错等低级错误,提高测试的准确率和效率。同时,也避免在参数较多的情况下,参数的输入成为业务开发使数据测试的成本升高,业务开发人员也会因为没有记住具体的命令参数指令,导致工具使用频繁产生错误,使测试得到的测试结果准确较低。
请参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图13所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
在目标测试工具对应的测试页面中显示至少两个协议测试插件;至少两个协议测试插件用于测试不同协议类型的数据;
响应针对至少两个协议测试插件的选取操作,将选取操作所确定的协议测试插件确定为目标协议测试插件,获取与目标协议插件相关联的待测试数据;
根据目标协议测试插件,对待测试数据进行测试处理,生成待测试数据对应的测试结果。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取至少两个协议测试插件分别对应的功能逻辑数据包;
根据插件管理器中的插件标准接口对应的插件数据类型,将功能逻辑数据包转换成满足插件数据类型的标准数据包;
将标准数据包导入插件管理器中,根据包含所述标准数据包的插件管理器,生成包含至少两个协议测试插件的目标测试工具。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
响应测试页面中的测试数据编辑操作,显示目标测试工具中的原始测试数据;
响应针对原始测试数据的修改操作,将原始测试数据更新为修改后的原始测试数据;
在目标测试工具中存储修改后的原始测试数据,将修改后的原始测试数据确定为待测试数据。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
在目标测试工具中获取与目标协议插件相关联的目标标准数据包;
对目标标准数据包进行解析,获得目标标准数据包中的请求参数字段和请求参数取值范围;
在请求参数取值范围内生成与请求参数字段相关联的目标请求参数;
根据目标协议插件对应的历史测试数据,对目标请求参数进行修正,将修正后的目标请求参数确定为与目标协议插件相关联的待测试数据。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
对待测试数据进行编码处理,生成测试数据对应的测试包;
获取被测对象对应的网络地址,将测试包发送至被测对象对应的网络地址,以使被测对象根据测试包生成测试包对应的反馈数据包;
接收被测对象返回的反馈数据包,对反馈数据包进行解码处理,生成待测试数据对应的测试结果。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
响应针对测试页面中的插件增加入口的触发操作,获取触发操作所确定的新增协议类型;
获取新增协议类型对应的新增协议测试插件,根据插件管理器中的标准接口对应的数据类型,对新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包;
将新增标准数据包导入目标测试工具的插件管理器中,将成功导入插件管理器中的新增协议测试插件添加至协议测试插件列表;协议测试插件列表包括目标测试工具中所接入的协议测试插件。
可选的,处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
将标准数据包封装至插件管理器中的插件标准接口;
获取至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在插件管理器中,对包含参数声明信息的标准数据包进行注册,得到目标测试工具。
本申请实施例中的具体实现方式可以参看图2或者图7所对应实施例中的描述,本申请实施例在此不再累述。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图2或者图7所对应实施例中对上述测试方法的描述,也可执行前文图12所对应实施例中对上述测试装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可执行前文图2或者图7所对应实施例中对测试方法的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁盘、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种测试方法,其特征在于,包括:
在目标测试工具对应的测试页面中显示至少两个协议测试插件;所述至少两个协议测试插件用于测试不同协议类型的数据;
响应针对所述至少两个协议测试插件的选取操作,将所述选取操作所确定的协议测试插件确定为目标协议测试插件,获取与所述目标协议插件相关联的待测试数据;
根据所述目标协议测试插件,对所述待测试数据进行测试处理,生成所述待测试数据对应的测试结果。
2.根据权利要求1所述的方法,其特征在于,所述目标测试工具包括插件管理器;
所述方法还包括:
获取所述至少两个协议测试插件分别对应的功能逻辑数据包;
根据所述插件管理器中的插件标准接口对应的插件数据类型,将所述功能逻辑数据包转换成满足所述插件数据类型的标准数据包;
将所述标准数据包导入所述插件管理器中,根据包含所述标准数据包的插件管理器,生成包含所述至少两个协议测试插件的目标测试工具。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述目标协议插件相关联的待测试数据,包括:
响应所述测试页面中的测试数据编辑操作,显示所述目标测试工具中的原始测试数据;
响应针对所述原始测试数据的修改操作,将所述原始测试数据更新为修改后的原始测试数据;
在所述目标测试工具中存储所述修改后的原始测试数据,将所述修改后的原始测试数据确定为所述待测试数据。
4.根据权利要求1所述的方法,其特征在于,所述获取与所述目标协议插件相关联的待测试数据,包括:
在所述目标测试工具中获取与所述目标协议插件相关联的目标标准数据包;
对所述目标标准数据包进行解析,获得所述目标标准数据包中的请求参数字段和请求参数取值范围;
在所述请求参数取值范围内生成与所述请求参数字段相关联的目标请求参数;
根据所述目标协议插件对应的历史测试数据,对所述目标请求参数进行修正,将修正后的目标请求参数确定为与所述目标协议插件相关联的待测试数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标协议测试插件,对所述待测试数据进行测试处理,生成所述待测试数据对应的测试结果,包括:
对所述待测试数据进行编码处理,生成所述测试数据对应的测试包;
获取被测对象对应的网络地址,将所述测试包发送至所述被测对象对应的网络地址,以使所述被测对象根据所述测试包生成所述测试包对应的反馈数据包;
接收所述被测对象返回的所述反馈数据包,对所述反馈数据包进行解码处理,生成所述待测试数据对应的测试结果。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应针对所述测试页面中的插件增加入口的触发操作,获取所述触发操作所确定的新增协议类型;
获取所述新增协议类型对应的新增协议测试插件,根据所述插件管理器中的标准接口对应的数据类型,对所述新增协议测试插件对应的新增插件数据包进行数据转换,生成新增标准数据包;
将所述新增标准数据包导入所述目标测试工具的所述插件管理器中,将成功导入所述插件管理器中的新增协议测试插件添加至协议测试插件列表;所述协议测试插件列表包括所述目标测试工具中所接入的协议测试插件。
7.根据权利要求2所述的方法,其特征在于,所述将所述标准数据包导入所述插件管理器中,根据包含所述标准数据包的插件管理器,生成包含所述至少两个协议测试插件的目标测试工具,包括:
将所述标准数据包封装至所述插件管理器中的所述插件标准接口;
获取所述至少两个协议测试插件分别对应的参数声明信息,调用插件注册函数,在所述插件管理器中,对包含所述参数声明信息的标准数据包进行注册,得到所述目标测试工具。
8.一种测试装置,其特征在于,包括:
显示模块,在目标测试工具对应的测试页面中显示至少两个协议测试插件;所述至少两个协议测试插件用于测试不同协议类型的数据;
获取模块,用于响应针对所述至少两个协议测试插件的选取操作,将所述选取操作所确定的协议测试插件确定为目标协议测试插件,获取与所述目标协议插件相关联的待测试数据;
测试处理模块,用于根据所述目标协议测试插件,对所述待测试数据进行测试处理,生成所述待测试数据对应的测试结果。
9.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004641.4A CN114721929A (zh) | 2021-01-04 | 2021-01-04 | 测试方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004641.4A CN114721929A (zh) | 2021-01-04 | 2021-01-04 | 测试方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114721929A true CN114721929A (zh) | 2022-07-08 |
Family
ID=82233855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110004641.4A Pending CN114721929A (zh) | 2021-01-04 | 2021-01-04 | 测试方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721929A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888446A (zh) * | 2017-10-30 | 2018-04-06 | 北京奇安信科技有限公司 | 一种协议健壮性测试方法及装置 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
CN109815107A (zh) * | 2017-11-22 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 自动化测试的方法和装置 |
CN110198247A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 接口测试方法及系统 |
CN111416756A (zh) * | 2020-03-13 | 2020-07-14 | 深圳市腾讯信息技术有限公司 | 协议测试方法、装置、计算机设备及存储介质 |
CN111884876A (zh) * | 2020-07-22 | 2020-11-03 | 杭州安恒信息技术股份有限公司 | 一种网络协议的协议类型检测方法、装置、设备及介质 |
CN112054935A (zh) * | 2019-06-06 | 2020-12-08 | 烽火通信科技股份有限公司 | 一种可扩展的业务质量诊断配置方法及系统 |
-
2021
- 2021-01-04 CN CN202110004641.4A patent/CN114721929A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888446A (zh) * | 2017-10-30 | 2018-04-06 | 北京奇安信科技有限公司 | 一种协议健壮性测试方法及装置 |
CN109815107A (zh) * | 2017-11-22 | 2019-05-28 | 北京京东尚科信息技术有限公司 | 自动化测试的方法和装置 |
CN110198247A (zh) * | 2018-02-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 接口测试方法及系统 |
CN109299010A (zh) * | 2018-09-25 | 2019-02-01 | 深圳壹账通智能科技有限公司 | mock测试方法、装置、计算机设备和存储介质 |
CN112054935A (zh) * | 2019-06-06 | 2020-12-08 | 烽火通信科技股份有限公司 | 一种可扩展的业务质量诊断配置方法及系统 |
CN111416756A (zh) * | 2020-03-13 | 2020-07-14 | 深圳市腾讯信息技术有限公司 | 协议测试方法、装置、计算机设备及存储介质 |
CN111884876A (zh) * | 2020-07-22 | 2020-11-03 | 杭州安恒信息技术股份有限公司 | 一种网络协议的协议类型检测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN110198247B (zh) | 接口测试方法及系统 | |
CN111782330B (zh) | 一种基于Web应用的页面数据获取方法、装置及设备 | |
CN110457143B (zh) | 微服务的调用方法及装置 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN110069297A (zh) | 基于Spring MVC的异常处理方法、装置、计算机设备和存储介质 | |
CN110795181A (zh) | 基于跳转协议的应用程序界面展示方法、装置及电子设备 | |
CN108694120B (zh) | 测试服务组件的方法和装置 | |
US10459698B2 (en) | Framework for generating adapters in an integrated development environment | |
CN113127108A (zh) | 业务请求的处理方法及装置、存储介质以及电子设备 | |
CN112631590A (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN112187713A (zh) | 报文转换的方法、装置、计算机设备和存储介质 | |
CN111752820A (zh) | gRPC接口的压力测试方法、计算机设备和存储介质 | |
CN111881043A (zh) | 页面测试方法、装置、存储介质和处理器 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
CN113672225B (zh) | 用户界面的处理方法、装置、设备及存储介质 | |
CN114721929A (zh) | 测试方法、装置、存储介质及设备 | |
CN110554892A (zh) | 信息获取方法和装置 | |
CN113032256A (zh) | 自动化测试方法、装置、计算机系统和可读存储介质 | |
CN112685023A (zh) | 基于基础库的前端开发处理方法、装置、设备和存储介质 | |
CN106570143B (zh) | 一种发送响应对象的方法和装置 | |
CN117435177B (zh) | 应用程序接口构建方法、系统、设备及存储介质 | |
CN111158661A (zh) | 系统接口对接方法、装置、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |