一种性能测试脚本自动生成方法及装置制造方法及图纸

技术编号:33300221 阅读:29 留言:0更新日期:2022-05-06 12:06
本申请涉及性能测试技术领域,提供一种性能测试脚本自动生成方法及装置。该性能测试脚本用于对待测系统的性能进行测试,该方法包括:获取跟踪文件,所述跟踪文件包括预设应用程序向所述待测系统的数据库发出的多个业务请求;将每一所述业务请求解析为多个预设字段的内容,得到解析结果;获取预设的脚本配置文件,所述脚本配置文件包括组成性能测试脚本的框架结构的各个节点的配置信息;根据所述脚本配置文件以及所述解析结果生成性能测试脚本。本申请可以根据预设的脚本配置文件和跟踪的实际业务请求自动生成脚本文件,可以极大降低人工成本、提高脚本生成效率。提高脚本生成效率。提高脚本生成效率。

【技术实现步骤摘要】
一种性能测试脚本自动生成方法及装置


[0001]本专利技术涉及性能测试
,具体而言,涉及一种性能测试脚本自动生成方法及装置。

技术介绍

[0002]目前,基于C/S架构的系统性能测试采用的方式是,通过性能测试工具来模拟前台应用程序和系统后台数据库的交互,其优势是不需要太多资源,且并发数可控。
[0003]在具体实施方式中,预先通过跟踪工具抓取前台应用程序的业务操作所对应的后台SQL请求,再打开Jmeter工具,手工创建测试计划节点、线程组节点、控制器,并在控制器下添加模拟的请求,在添加模拟的请求时,逐条将跟踪到的每个SQL请求的内容粘贴到一个模拟的请求中,然后手动配置好该SQL请求对应的数据库参数等。如此,完成Jmeter脚本的创建。
[0004]由于SQL请求量大且业务类型多样,人工创建Jmeter脚本耗时长,效率低下。

技术实现思路

[0005]本申请实施例的目的在于提供一种性能测试脚本自动生成方法及装置,通过自动化方式创建性能测试脚本,提高脚本生成效率,进而提高性能测试效率。
[0006]为实现上述目的,本申请提供如下技术方案:
[0007]第一方面,本申请实施例提供一种性能测试脚本自动生成方法,所述性能测试脚本用于对待测系统的性能进行测试,所述方法包括:获取跟踪文件,所述跟踪文件包括预设应用程序向所述待测系统的数据库发出的多个业务请求;将每一所述业务请求解析为多个预设字段的内容,得到解析结果;获取预设的脚本配置文件,所述脚本配置文件包括组成性能测试脚本的框架结构的各个节点的配置信息;根据所述脚本配置文件以及所述解析结果生成性能测试脚本。
[0008]本申请实施例提供的性能测试脚本自动生成方法,可以根据预设的脚本配置文件和跟踪的实际业务请求自动生成性能测试脚本,可以极大降低人工成本、提高脚本生成效率。
[0009]在一种可选的实施方式中,在获取预设的脚本配置文件之前,所述方法还包括:定义性能测试脚本的框架结构,所述框架结构包括:性能测试计划节点以及在所述性能测试计划节点下的线程组节点;获取定义的所述框架结构中各个节点的配置信息,并根据所述配置信息生成所述脚本配置文件。
[0010]预先定义性能测试脚本的框架结构及框架结构中各节点的配置信息,生成脚本配置文件,以供在自动化创建性能测试脚本时调用。
[0011]在一种可选的实施方式中,所述根据所述脚本配置文件以及所述解析结果生成性能测试脚本,包括:根据所述脚本配置文件组成性能测试脚本的框架结构;在所述框架结构中的线程组节点下根据每一所述业务请求的解析结果构建对应的JDBC(Java数据库连接,
Java Database Connectivity)请求,得到多个JDBC请求,所述解析结果中的多个预设字段的内容分别对应于所述JDBC请求中的其中一项参数;根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及构建出的所述多个JDBC请求,生成性能测试脚本。
[0012]在生成性能测试脚本的过程中,根据实际业务请求的解析结果构建JDBC请求,用于在进行性能测试时,模拟实际用户与后台数据库进行交互,由于绝大部分配置信息已经在脚本配置文件中写好,因此,只需构建出JDBC请求,即可完成性能测试脚本的创建。
[0013]在一种可选的实施方式中,在将每一所述业务请求解析为多个预设字段的内容,得到解析结果之后,所述方法还包括:按照预设的清洗规则对所述解析结果进行数据清洗,得到经清洗的解析结果;所述多个JDBC请求是根据所述经清洗的解析结果构建得到的。
[0014]跟踪文件中的多个业务请求包含无用的业务请求,通过设置清洗规则,将得到的解析结果中无用业务请求的解析结果去除,仅保留可用内容。
[0015]在一种可选的实施方式中,所述解析结果包括所对应的业务请求的发送时间戳,所述根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及构建出的所述多个JDBC请求,生成性能测试脚本,包括:将所述多个JDBC请求中属于同一业务的JDBC请求按照所对应的解析结果中的发送时间戳进行排序;根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及排序后的多个JDBC请求生成性能测试脚本。
[0016]由于各JDBC请求是按照所对应的业务及发送时间戳排序,与实际业务十分契合,性能测试的真实度高。
[0017]在一种可选的实施方式中,在将所述多个JDBC请求中属于同一业务的JDBC请求按照所对应的解析结果中的发送时间戳进行排序之后,以及在根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及排序后的多个JDBC请求生成性能测试脚本之前,所述方法还包括:对于不同业务的JDBC请求,分别初始化一计数值,并根据所对应的发送时间戳对计数值顺序进行累加计数;将属于同一业务的JDBC请求按照所对应业务的名称以及在所述业务中的计数值进行命名。
[0018]将属于同一业务的JDBC请求按照所对应业务的名称以及在业务中的计数值进行命名,在运行性能测试脚本后,可以直观看出不同业务的性能测试结果,同时,也可以体现出每种业务的请求数量。
[0019]在一种可选的实施方式中,所述解析结果包括所对应的业务请求的发送时间戳,在得到经清洗的解析结果之后,所述方法还包括:将所述经清洗的解析结果按照所对应的业务进行分类,并将所述经清洗的解析结果中属于同一业务的各解析结果按照所述发送时间戳进行排序,以按照排序后的顺序对同一业务的解析结果依次构建对应的JDBC请求。
[0020]第二方面,本申请实施例提供一种性能测试脚本自动生成装置,所述性能测试脚本用于对待测系统的性能进行测试,所述装置包括:请求跟踪模块,用于获取跟踪文件,所述跟踪文件包括预设应用程序向所述待测系统的数据库发出的多个业务请求;数据解析模块,用于将每一所述业务请求解析为多个预设字段的内容,得到解析结果;配置模块,用于获取预设的脚本配置文件,所述脚本配置文件包括组成性能测试脚本的框架结构的各个节点的配置信息;脚本构建模块,用于根据所述脚本配置文件以及所述解析结果生成性能测试脚本。
[0021]第三方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,
所述计算机程序被处理器运行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
[0022]第四方面,本申请实施例提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过所述总线通信,所述机器可读指令被所述处理器执行时执行如第一方面、第一方面中任一可选实施方式所述的方法。
附图说明
[0023]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种性能测试脚本自动生成方法,其特征在于,所述性能测试脚本用于对待测系统的性能进行测试,所述方法包括:获取跟踪文件,所述跟踪文件包括预设应用程序向所述待测系统的数据库发出的多个业务请求;将每一所述业务请求解析为多个预设字段的内容,得到解析结果;获取预设的脚本配置文件,所述脚本配置文件包括组成性能测试脚本的框架结构的各个节点的配置信息;根据所述脚本配置文件以及所述解析结果生成性能测试脚本。2.根据权利要求1所述的方法,其特征在于,在获取预设的脚本配置文件之前,所述方法还包括:定义性能测试脚本的框架结构,所述框架结构包括:性能测试计划节点以及在所述性能测试计划节点下的线程组节点;获取定义的所述框架结构中各个节点的配置信息,并根据所述配置信息生成所述脚本配置文件。3.根据权利要求2所述的方法,其特征在于,所述根据所述脚本配置文件以及所述解析结果生成性能测试脚本,包括:根据所述脚本配置文件组成性能测试脚本的框架结构;在所述框架结构中的线程组节点下根据每一所述业务请求的解析结果构建对应的JDBC请求,得到多个JDBC请求,所述解析结果中的多个预设字段的内容分别对应于所述JDBC请求中的其中一项参数;根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及构建出的所述多个JDBC请求,生成性能测试脚本。4.根据权利要求3所述的方法,其特征在于,在将每一所述业务请求解析为多个预设字段的内容,得到解析结果之后,所述方法还包括:按照预设的清洗规则对所述解析结果进行数据清洗,得到经清洗的解析结果;所述多个JDBC请求是根据所述经清洗的解析结果构建得到的。5.根据权利要求3所述的方法,其特征在于,所述解析结果包括所对应的业务请求的发送时间戳,所述根据所述脚本配置文件中所述框架结构的各个节点的配置信息,以及构建出的所述多个JDBC请求,生成性能测试脚本,包括:将所述多个JDBC请求中属于同一业务的JDBC请求按照所对应的解析结果中的发送时间戳进行排序;根据所述脚本配置文件中所述框架结构的各...

【专利技术属性】
技术研发人员:杨勇赵娜周炜武峥黄智勇吴国锋黄克华赵大平吴铭陈旭
申请(专利权)人:卫宁健康科技集团股份有限公司
类型:发明
国别省市:

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

1