一种测试方法、装置、设备和存储介质制造方法及图纸

技术编号:20389399 阅读:23 留言:0更新日期:2019-02-20 02:40
本发明专利技术实施例公开了一种测试方法、装置、设备和存储介质,该方法包括:获取用户输入的压测链接和待参数化变量;将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。采用上述技术方案,实现了对脚本的参数化,无需测试人员手动修改脚本代码即可进行测试,降低了测试人员的测试门槛,减小了测试难度;同时通过在脚本代码生成过程中进行参数化占位符的滤除,减少了测试时代码运行时间,缩短了测试周期。

【技术实现步骤摘要】
一种测试方法、装置、设备和存储介质
本专利技术实施例涉及测试
,尤其涉及一种测试方法、装置、设备和存储介质。
技术介绍
为了测试软件质量及其可靠性,在软件开发过程中会通过性能测试平台对软件进行压力测试。现有技术中通常通过脚本模拟用户行为,并通过性能测试平台的压力引擎产生大规模的并发线程调用,进而达到模拟千万用户行为的目的。但是用户同样的行为相应的数据可能是变化的,例如登录时的用户名和密码不同,因此性能测试平台需要在施压时对脚本的参数进行不同的设置。但是,由于现有技术中对性能测试平台中的脚本的参数化一般都是通过人工来完成的,增加了测试周期和测试难度,同时提高了测试人员的测试门槛。
技术实现思路
本专利技术实施例提供了一种测试方法、装置、设备和存储介质,以实现对脚本的参数化,减小测试周期和测试难度,同时降低了测试人员的测试门槛。第一方面,本专利技术实施例提供了一种测试方法,该方法包括:获取用户输入的压测链接和待参数化变量;将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。第二方面,本专利技术实施例还提供了一种测试装置,该装置包括:用户输入数据获取模块,用于获取用户输入的压测链接和待参数化变量;初始脚本代码生成模块,用于将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;目标脚本代码生成模块,用于对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面实施例所提供的一种测试方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所提供的一种测试方法。本专利技术实施例通过获取用户输入的压测链接和待参数化变量;将压测链接和待参数化变量进行拼接得到初始关键字符串,并将初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。采用上述技术方案,实现了对脚本的参数化,无需测试人员手动修改脚本代码即可进行测试,降低了测试人员的测试门槛,减小了测试难度;同时通过在脚本代码生成过程中进行参数化占位符的滤除,减少了测试时代码运行时间,缩短了测试周期。附图说明图1是本专利技术实施例一提供的一种测试方法的流程示意图;图2是本专利技术实施例二提供的一种测试方法的流程示意图;图3是本专利技术实施例三提供的一种测试方法的流程示意图;图4是本专利技术实施例四提供的一种测试装置的结构示意图;图5是本专利技术实施例五提供的一种电子设备的硬件结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一中的一种测试方法的流程示意图。本实施例可适用于通过性能测试平台对服务器或其他电子设备进行压力测试的情况,该方法由测试装置执行,该装置由软件和/或硬件实现,并具体配置于电子设备中。其中,性能测试平台是通过脚本代码模拟用户行为,通过性能测试平台的压力引擎产生大规模的并发线程调用,进而达到模拟千万用户行为的效果。其中,性能测试平台可以是基于开源NGrinder压测平台的二次开发平台。如图1所示的测试方法,包括:S110、获取用户输入的压测链接和待参数化变量。其中,压测链接可以理解为需要进行压力测试的网址链接。其中,待参数化变量可以是函数变量、用户自定义的全局变量以及上下文关联变量中的至少一种。其中,待参数化变量包括待参数化变量的变量标识和/或变量值。其中,待参数化变量的变量标识可以理解为需要进行参数化的变量名称。在性能测试平台的用户界面上会包含压测链接输入区域以及待参数化变量输入区域。示例性地,当用户具备测试需求时,将会在对应的输入区域输入压测链接和待参数化变量的变量标识和/或变量值,在用户提交所输入的压测链接和待参数化变量时,即可产生相应的测试请求。当检测到用户发送的测试请求时,电子设备将会获取相应的压测链接和待参数化变量。其中,输入方式可以是手动输入,还可以是选择输入等。S120、将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码。将获取的压测链接和待参数化变量按照设定规则进行拼接,得到初始关键字符串。由于孤立的初始关键字符串无法实现测试功能,因此,需要将初始关键字符串输入至预先构建的初始测试脚本中,得到初始脚本代码。示例性地,获取的压测链接和待参数化变量按照设定规则进行拼接,得到初始关键字符串,包括:直接将压测链接与待参数化变量顺次拼接,得到初始关键字符串;其中,待参数化变量的变量标识与变量值可顺次连接;或者,将待参数化变量标识按照用户的输入顺序拼接得到变量拼接字符串,将压测链接和变量拼接字符串顺次拼接,得到初始关键字符串。S130、对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。为了将待参数化变量与压测链接进行有效区分,所获取的待参数化变量中均会添加有参数化占位符。但是,在执行脚本代码时,会对初始脚本代码中的参数化占位符进行剔除。传统做法是运行时刻将根据占位符内容过滤占位符,并执行占位符中的函数得到结果,这一做法虽然简单,但是压测过程中每次都需要过滤占位符,需要反复执行同一操作,效率较低。本专利技术实施例的方法在式编译代码时候就识别参数化占位符,并过滤生成脚本代码,在运行时候无需参数化过滤,大大提供了参数化运行效率。其中,参数化占位符由开发人员自行设定,例如可以是“${}”,其中,在“{}”中添加待参数化变量。具体的,将初始脚本代码中的各字符与参数化占位符中的各字符进行比对识别,将比对结果一致的各字符串识别为目标字符,并滤除初始脚本代码中的各目标字符得到目标脚本代码。本专利技术实施例通过获取用户输入的压测链接和待参数化变量;将压测链接和待参数化变量进行拼接得到初始关键字符串,并将初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。采用上述技术方案,实现了对脚本的参数化,无需测试人员手动修改脚本代码即可进行测试,降低了测试人员的测试门槛,减小了测试难度;同时通过在脚本代码生成过程中进行参数化占位符的滤除,减少了测试时代码运行时间,缩短了测试周期。在上述各实施例的技术方案的基础上,进一步地,在得到目标脚本代码之后,还包括:执行所述目标脚本代码生成用户行为模拟数据,并基于所述用户行为模拟数据对目标对象进行压力测试。本技术方案能够通过本文档来自技高网...

【技术保护点】
1.一种测试方法,其特征在于,包括:获取用户输入的压测链接和待参数化变量;将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。

【技术特征摘要】
1.一种测试方法,其特征在于,包括:获取用户输入的压测链接和待参数化变量;将所述压测链接和所述待参数化变量进行拼接得到初始关键字符串,将所述初始关键字符串输入至预先构建的初始测试脚本中得到初始脚本代码;对所述初始脚本代码中的参数化占位符进行识别,并将识别出的参数化占位符进行滤除,得到目标脚本代码。2.根据权利要求1所述的方法,其特征在于,所述待参数化变量包括自定义变量和/或上下文关联变量;所述方法还包括:将所述待参数化变量的变量标识以及与所述变量标识相对应的变量值存储至当前线程所对应的线程容器中。3.根据权利要求2所述的方法,其特征在于,还包括:根据所述变量标识从所述线程容器中查询并获取与所述待参数化变量的变量标识相对应的变量值。4.根据权利要求1所述的方法,其特征在于,在所述得到目标脚本代码之后,还包括:执行所述目标脚本代码生成用户行为模拟数据,并基于所述用户行为模拟数据对目标对象进行压力测试。5.根据权利要求1所述的方法,其特征在于,所述待参数化变量包括函数变量;所述方法还包括:基于所述待参数化变量的变量标识确定出至少一个目标函数,并将所述至少一个目标函数抽象为通用函数组件,其中,所述通用函数组件包括函数名称、函数描述、函数代码和参数列表中的至少一个;相应地,所述将所述压测链接和所述待参数化变量进行拼接...

【专利技术属性】
技术研发人员:付得龙
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1