掌桥专利:专业的专利平台
掌桥专利
首页

测试方法、装置、设备、介质及产品

文献发布时间:2024-04-18 19:58:26


测试方法、装置、设备、介质及产品

技术领域

本申请属于测试技术领域,尤其涉及一种测试方法、装置、设备、介质及产品。

背景技术

在项目研发测试过程中,通常是前后端分离开发,并且前后端是双线同时开发的,而前端开发依赖于后端返回数据。在前后端分离的架构中,通常需要通过接口来获取后端提供的数据。然而,在开发过程中,后端可能尚未完全实现相应的接口或者需要测试一些异常情况,导致无法实现开发和测试。

发明内容

本申请实施例提供一种测试方法、装置、设备、介质及产品,能够能够实现无需基于后端的开发测试,提高测试效率。

第一方面,本申请实施例提供一种测试方法,包括:

获取测试对象在Web页面中输入的mock模拟接口对应的若干静态数据;

根据所述若干静态数据,生成若干模拟数据;

将所述若干模拟数据存储于文本文件;

接收所述测试对象发送的目标接口调用请求,所述目标接口调用请求包括请求地址;

在所述文本文件的若干模拟数据中查找与所述请求地址相匹配的第一目标数据;

将所述目标数据发送至所述测试对象以完成测试。

第二方面,本申请实施例提供了一种测试装置,所述装置包括:

获取模块,用于获取测试对象在Web页面中输入的mock模拟接口对应的若干静态数据;

生成模块,用于根据所述若干静态数据,生成若干模拟数据;

存储模块,用于将所述若干模拟数据存储于文本文件;

接收模块,用于接收所述测试对象发送的目标接口调用请求,所述目标接口调用请求包括请求地址;

查找模块,用于在所述文本文件的若干模拟数据中查找与所述请求地址相匹配的第一目标数据;

发送模块,用于将所述目标数据发送至所述测试对象以完成测试。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行所述计算机程序指令时实现如第一方面的任一项实施例中所述的测试方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面的任一项实施例中所述的测试方法的步骤。

第五方面,本申请实施例提供了一种计算机程序产品,计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面的任一项实施例中所述的测试方法的步骤。

本申请实施例的测试方法、装置、设备、介质及产品,基于测试对象输入的静态数据生成模拟数据,并将模拟数据存储于文本文件中;从而,通过对测试对象的目标接口调用请求中的请求地址在文本文件中进行查询匹配,以获取目标数据,然后将目标数据发送至测试对象以完成测试,能够实现无需基于后端的开发测试,提高测试效率。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种测试方法的流程示意图;

图2是本申请实施例提供的另一种测试方法的流程示意图;

图3是本申请实施例提供的一种测试装置的结构示意图;

图4是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

需要说明的是,本申请实施例中对数据的获取、存储、使用和处理等,均符合国家法律法规的相关规定。

在项目研发测试过程中,通常是前后端分离开发,并且前后端是双线同时开发的,而前端开发依赖于后端返回数据。在前后端分离的架构中,通常需要通过接口来获取后端提供的数据。然而,在开发过程中,后端可能尚未完全实现相应的接口或者需要测试一些异常情况,导致无法实现开发和测试。

为了解决相关技术的问题,本申请实施例提供了一种测试方法、装置、设备、介质及产品。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的测试方法进行详细地说明。

图1示出了本申请实施例的测试方法100的流程示意图。如图1所示,该测试方法100具体可以包括以下步骤:

S101、获取测试对象在Web页面中输入的mock模拟接口对应的若干静态数据;

S102、根据所述若干静态数据,生成若干模拟数据;

S103、将所述若干模拟数据存储于文本文件;

S104、接收所述测试对象发送的目标接口调用请求,所述目标接口调用请求包括请求地址;

S105、在所述文本文件的若干模拟数据中查找与所述请求地址相匹配的第一目标数据;

S106、将所述目标数据发送至所述测试对象以完成测试。

由此,基于测试对象输入的静态数据生成模拟数据,并将模拟数据存储于文本文件中,配置和部署复杂度较低,能够降低开发测试的成本;从而,通过对测试对象的目标接口调用请求中的请求地址在文本文件中进行查询匹配,以获取目标数据,然后将目标数据发送至测试对象以完成测试,能够实现无需基于后端的开发测试,提高测试效率。

下面介绍上述各个步骤的具体实现方式。

在一些实施例中,在步骤S101之前,可以对目标接口进行配置。具体的,可以通过对目标接口的标识进行设置以配置目标接口。

具体实施时,将目标接口的标识设置为开启mock标识,以配置目标接口为mock模拟接口;将目标接口的标识设置为关闭mock标识,以配置目标接口为服务端接口。可以理解,当配置目标接口为mock模拟接口,可以基于mock服务进行测试。

另外,在一些实施例中,建立有文本文件库。具体的,该文本文件库存储有若干文本文件,例如JSON文件,可以实现对其所存储数据的直观易读。并且,每个文本文件对应有唯一的测试项目名称以作为文本文件标识。即,在建立文本文件库之后,在该文本文件库中根据测试项目名称建立对应的文本文件。从而,可以根据测试项目名称在文件文本库中查找相对应的存储有目标数据的文本文件,以进一步实现测试。

可以理解,该文本文件库还存储有第一关联关系。并且,该第一关联关系表征文本文件与测试项目名称之间的匹配关系。

这样,在后续接收到测试对象的目标接口调用请求之后,可以基于第一关联关系,根据目标接口调用请求中的测试项目名称在文件文本库中查找到该测试项目名称所对应的文本文件,从而进一步在文本文件中查询以获取用于返回的目标数据。

在一些实施例中,在步骤S101中,Web页面可以通过mock配置,以使测试对象通过Web页面输入数据以用于测试过程中的数据返回和响应。其中,测试对象的输入数据为mock模拟接口对应的若干静态数据。

在一些实施例中,在步骤S102中,由于所输入的静态数据包括目标字段,则可以利用预设生成规则生成所述目标字段对应的模拟数据。具体的,生成规则是预先定义的,利用该生成规则可以基于静态数据生成用于返回的模拟数据。

可以理解,包括至少一个生成规则,并且生成规则可以与目标字段的类型相匹配。也就是说,在生成模拟数据的过程中,需要确定静态数据中的目标字段所对应的生成规则,以利用该生成规则生成相应的模拟数据。例如,@id表示保证一个模拟ID;@name表征一个模拟姓名;@url表征一个模拟URL(统一资源定位符)地址;其中,@表示占位符。

这样,所生成的模拟数据具有真实性,能够解决相关技术中的测试方案所生成的模拟数据通常是随机的而无法真实地模拟后端(服务端)接口返回的数据的问题。

在一些实施例中,在步骤S103中,可以将所生成的若干模拟数据存储于预先建立的文本文件中,能够实现模拟数据的持久化存储。并且,Mock服务可以简单快速部署,而无需搭载数据库一同使用,从而可以直接通过在文本文件中查询以获取目标数据,解决相关技术中配置及部署繁琐的问题,实现轻量级数据Mock服务,从而降低测试的复杂度和难度。

另外,在一些实施例中,可以新增、删除和修改模拟数据,从而对文本文件进行修改,得到更新的文本文件。需要说明的是,由于无需相关技术中基于加载静态路由表来更新文本文件,从而无需重启服务或停止服务即可使得更新内容立即生效,能够实现动态的mock配置,进而提高测试效率。

相关技术中,通常通过配置文件的方式来生成mock数据,由于需要编写大量的mock数据配置文件,导致测试复杂度和成本均较高。因此,本实施例中,支持多种mock数据生成方式,包括静态mock和动态mock。其中,静态mock方式通过读取文本文件中的模拟数据来生成mock响应;动态mock方式通过请求地址、请求参数等结合来生成mock响应。

在一些实施例中,在步骤S104中,当接收到测试对象发送的目标接口调用请求时,可以解析该目标接口调用请求,得到请求地址、请求路径、对应的测试项目名称以及请求参数。其中,请求地址可以包括测试对象对应的URL,请求参数可以包括该目标接口调用请求为测试需求的字段等。

进一步的,在一些实施例中,在步骤S105中,根据解析得到的请求地址、请求路径对应的测试项目名称以及请求参数,可以获取得到目标数据;进而,在步骤S106中,将所述目标数据发送至测试对象以完成测试。

具体实施时,通过在文本文件库中基于预先建立的第一关联关系查询与目标接口调用请求的测试项目名称相匹配的文本文件,然后在所述文本文件的若干模拟数据中基于预先建立的第二关联关系查找与请求地址相匹配的第一目标数据。其中,第二关联关系表征请求地址与目标数据之间的对应关系。

例如,可以根据测试对象的URL在文本文件中查询得到包括有相匹配的URL的数据结构,并将该模拟数据确定为第一目标数据;或者,根据请求地址和请求参数,在文本文件中查询确定相匹配的多个第一目标数据。

作为本申请的另一种实现方式,为使在不符合基于模拟数据的数据响应要求时,可以通过代理转发至服务端方式最终实现测试,本申请还提供了测试方法的另一种实现方式,具体参见以下实施例。

参考图2,为本申请提供的另一种测试方法200,该方法200包括以下步骤:

S201、获取测试对象在Web页面中输入的mock模拟接口对应的若干静态数据;

S202、根据所述若干静态数据,生成若干模拟数据;

S203、将所述若干模拟数据存储于文本文件;

S204、接收所述测试对象发送的目标接口调用请求,所述目标接口调用请求包括请求地址;

S205、修改所述请求路径,得到更新的目标接口调用请求;

S206、将所述更新的目标接口调用请求发送至所述服务端,以使所述服务端发送第二目标数据至所述测试对象以完成测试。

在一些实施例中,在步骤S205中,响应于目标接口的标识设置为关闭mock标识,即当配置目标接口为服务端接口时,可以修改目标接口调用请求以将修改后的目标接口调用请求转发给服务端。具体的,可以对解析得到的请求路径进行修改,即修改为服务端对应的路径地址,以得到更新的目标接口调用请求。

进一步的,在一些实施例中,在步骤S206中,将该更新的目标接口调用请求发送至服务端,以使服务端响应于接受该更新的目标接口调用请求,向测试对象发送与该更新的目标接口调用请求相对应的第二目标数据,从而实现测试。

应当理解的是,由于S201-S204与上述实施例中的S101-S104相同,因此为了简要起见,对于S201-S204各自对应的具体实现方式在此不再详细描述。

这样,可以作为代理,通过对目标接口调用请求进行修改和转发,向服务端请求,使得服务端返回真实响应数据,从而使得在不符合基于模拟数据的数据响应要求时可以实现测试,进一步提高测试效率。

需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种测试装置300。

如图3所示,该测试装置300可以包括:

获取模块301,用于获取测试对象在Web页面中输入的mock模拟接口对应的若干静态数据;

生成模块302,用于根据所述若干静态数据,生成若干模拟数据;

存储模块303,用于将所述若干模拟数据存储于文本文件;

接收模块304,用于接收所述测试对象发送的目标接口调用请求,所述目标接口调用请求包括请求地址;

查找模块305,用于在所述文本文件的若干模拟数据中查找与所述请求地址相匹配的第一目标数据;

发送模块306,用于将所述目标数据发送至所述测试对象以完成测试。

在一些实施例中,所述静态数据包括目标字段。生成模块302,具体用于利用预设生成规则生成所述目标字段对应的模拟数据。

在一些实施例中,该测试装置300还包括设置模块(图3中未示出)。该设置模块用于将所述目标接口的标识设置为开启mock标识,以配置所述目标接口为mock模拟接口;或者,将所述目标接口的标识设置为关闭mock标识,以配置所述目标接口为服务端接口。

在一些实施例中,该测试装置300还包括修改模块(图3中未示出)。该修改模块用于修改所述请求路径,得到更新的目标接口调用请求;将所述更新的目标接口调用请求发送至所述服务端,以使所述服务端发送第二目标数据至所述测试对象以完成测试。

在一些实施例中,该测试装置300还包括建立模块(图3中未示出)。该建立模块用于建立文本文件库;在所述文本文件库中根据测试项目名称建立对应的文本文件。

需要说明的是,为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述任一实施例中相应的测试方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种电子设备。

图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图。

在电子设备400可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。

在特定实施例中,存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种测试方法。

在一些示例中,电子设备400还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线410可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

示例性的,电子设备400可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等。

基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种测试方法。计算机可读存储介质的示例包括非暂态计算机可读存储介质,如便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件等。

基于同一技术构思,与上述任一实施例方法相对应的,本申请还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的测试方法。对应于所述的测试方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

相关技术
  • 保险产品的测试方法及装置、存储介质及电子设备
  • 云数据库的测试方法及其装置、设备和存储介质
  • 软件测试方法、装置、计算机设备和可读存储介质
  • 分组测试方法、装置、计算机设备及存储介质
  • 接口测试方法、装置、计算机设备及存储介质
  • 产品测试方法、装置、计算机设备、存储介质和程序产品
  • 多设备测试方法、装置、电子设备、介质和产品
技术分类

06120116492218