基于HTTP日志回放的增压测试方法、装置及计算机设备制造方法及图纸

技术编号:37792043 阅读:14 留言:0更新日期:2023-06-09 09:22
本发明专利技术实施例涉及测试技术领域,公开了一种基于HTTP日志回放的增压测试方法、装置、计算机设备及计算机可读存储介质,该方法包括:在录制时当检测到当前系统根据目标HTTP请求向数据库中的目标数据库表发起各个预设操作指令时,形成录制时HTTP日志数据;在回放时根据HTTP日志数据将回放主键值替换为录制时主键值;确定各个目标HTTP请求之间的依赖关系以及HTTP请求对应的各个预设操作指令之间的依赖关系;根据各个目标HTTP请求之间的依赖关系以及HTTP请求对应的各个预设操作指令之间的依赖关系,对各个http请求进行重编排处理,形成并发测试策略;根据并发测试策略,对当前系统进行压力测试。本发明专利技术实施例有效的提高增压测试的测试效率及测试效果。测试的测试效率及测试效果。测试的测试效率及测试效果。

【技术实现步骤摘要】
基于HTTP日志回放的增压测试方法、装置及计算机设备


[0001]本专利技术实施例涉及测试
,具体涉及一种基于HTTP日志回放的增压测试方法、基于HTTP日志回放的增压测试装置、计算机设备及计算机可读存储介质。

技术介绍

[0002]目前,对于日志回放及增压测试领域,一般通过人工编辑请求,再进行请求的回放及测试。这种方式使得操作繁琐,且容易出错、接口覆盖面有限。现有技术中可通过获取http请求的日志来自动获取http请求,而无需人工编辑。然而,这种方式虽然可以提高效率,但由于数据库中均是有状态组件,各个请求之间是应是具有一定依赖关系的,这使得数据库状态变化存在不一致的问题,导致回放失败。
[0003]现有解决回放时数据库状态变化存在不一致的问题,一般通过针对系统自身的特定标识来识别,来解决上述问题。然而本申请的专利技术人发现,现有的方法增加测试并发设置不合理,且只针对特定系统,不具备普适性。

技术实现思路

[0004]鉴于上述问题,本专利技术实施例提供了一种基于HTTP日志回放的增压测试方法、基于HTTP日志回放的增压测试装置、计算机设备及计算机可读存储介质,用于解决现有技术中存在的增压测试并发设置不合理,且不具备普适性的技术问题。
[0005]根据本专利技术实施例的一个方面,提供了一种基于HTTP日志回放的增压测试方法,所述方法包括:
[0006]在录制时,当检测到当前系统根据目标HTTP请求向数据库中的目标数据库表发起各个预设操作指令时,记录各个预设操作指令对应的HTTP请求信息、所述目标数据库表的目标主键及对应的录制时主键值,形成录制时
[0007]HTTP日志数据;
[0008]在回放时,对当前系统回放时的所述预设操作指令进行拦截,根据所述HTTP日志数据将根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值;回放时的所述预设操作指令为在回放时根据目标HTTP请求对所述数据库中的目标数据库表发起的指令;
[0009]根据各个所述目标HTTP请求对所述目标数据库表的操作及所述预设操作指令的属性,确定各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系;
[0010]根据各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,对各个http请求进行重编排处理,形成并发测试策略;
[0011]根据所述并发测试策略,对所述当前系统进行压力测试。
[0012]在一种可选的方式中,所述预设操作指令为SQL操作语句;所述在回放时,对当前系统回放时的所述预设操作指令进行拦截,根据所述HTTP日志数据将根据所述预设操作指
令生成的所述目标主键对应的回放主键值替换为所述录制时主键值,包括:
[0013]通过回放脚本拦截所述当前系统向所述数据库发起的所述SQL操作语句;
[0014]根据所述HTTP日志数据,确定回放时所述SQL操作语句对应的目标主键值的录制时主键值;
[0015]将所述目标数据库表中根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值。
[0016]在一种可选的方式中,所述在回放时,对当前系统回放时的所述预设操作指令进行拦截,将根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值,包括:
[0017]拦截回放时所述当前系统向所述数据库发起的所有的所述预设操作指令;
[0018]当发现回放时的所述预设操作指令所要操作的目标数据库表中的目标主键与所述HTTP日志数据中录制时的所述预设操作指令所要操作的目标数据库表中的目标主键相同时,从所述HTTP日志数据中取出录制时主键值;
[0019]将所述目标数据库表中根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值。
[0020]在一种可选的方式中,所述根据各个所述目标HTTP请求对所述目标数据库表的操作及所述预设操作指令的属性,确定各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,包括:
[0021]根据每行HTTP日志数据转化为四元组数据;所述四元组数据包括录制时HTTP请求信息、读操作信息、写操作信息以及写操作时的目标主键参数;
[0022]根据所述四元组数据确定所述HTTP请求对应的各个预设操作指令之间的读写依赖关系;
[0023]根据各个HTTP请求对应的各个预设操作指令之间的读写依赖关系,确定同一个目标数据库表对应的各个HTTP请求之间的依赖关系。
[0024]在一种可选的方式中,所述根据各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,对各个http请求进行重编排处理,形成并发测试策略,包括:
[0025]根据每个所述HTTP请求对应的各个预设操作指令之间的读写依赖关系,按照时间顺序确定不存在读写依赖关系的预设操作指令,以及存在读写依赖关系的预设操作指令;
[0026]按照时间顺序将不存在读写依赖关系的预设操作指令重编排为可并发指令,存在读写依赖关系的预设操作指令确定为不可并发指令;
[0027]根据各个HTTP请求对应的各个预设操作指令之间的读写依赖关系,将各个HTTP请求重编排为可并发的各个HTTP请求,以及不可并发的HTTP请求;
[0028]根据可并发指令、不可并发指令、可并发的各个HTTP请求以及不可并发的HTTP请求,确定并发测试策略。
[0029]在一种可选的方式中,所述在录制时,当检测到当前系统根据目标HTTP请求向数据库中的目标数据库表发起各个预设操作指令时,记录各个预设操作指令对应的HTTP请求信息、所述目标数据库表的目标主键及对应的录制时主键值,形成录制时HTTP日志数据之前,所述方法还包括:
[0030]获取所述当前系统对应的数据库的各个目标数据库表信息及各个目标数据库表的目标主键信息;
[0031]存储所述当前系统对应的数据库的各个目标数据库表信息及各个目标数据库表的目标主键信息。
[0032]在一种可选的方式中,所述获取所述当前系统对应的数据库的各个目标数据库表信息及各个目标数据库表的目标主键信息,包括:
[0033]通过SQL语句查询得到所述当前系统对应的数据库的各个目标数据库表信息及各个目标数据库表的目标主键信息。
[0034]根据本专利技术实施例的另一方面,提供了一种基于HTTP日志回放的增压测试装置,包括:
[0035]录制模块,用于在录制时,当检测到当前系统根据目标HTTP请求向数据库中的目标数据库表发起各个预设操作指令时,记录各个预设操作指令对应的HTTP请求信息、所述目标数据库表的目标主键及对应的录制时主键值,形成录制时HTTP日志数据;
[0036]回放模块,用于在回放时,对当前系统回放时的所述预设操作指令进行拦截本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于HTTP日志回放的增压测试方法,其特征在于,所述方法包括:在录制时,当检测到当前系统根据目标HTTP请求向数据库中的目标数据库表发起各个预设操作指令时,记录各个预设操作指令对应的HTTP请求信息、所述目标数据库表的目标主键及对应的录制时主键值,形成录制时HTTP日志数据;在回放时,对当前系统回放时的所述预设操作指令进行拦截,根据所述HTTP日志数据将根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值;回放时的所述预设操作指令为在回放时根据目标HTTP请求对所述数据库中的目标数据库表发起的指令;根据各个所述目标HTTP请求对所述目标数据库表的操作及所述预设操作指令的属性,确定各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系;根据各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,对各个http请求进行重编排处理,形成并发测试策略;根据所述并发测试策略,对所述当前系统进行压力测试。2.根据权利要求1所述的方法,其特征在于,所述预设操作指令为SQL操作语句;所述在回放时,对当前系统回放时的所述预设操作指令进行拦截,根据所述HTTP日志数据将根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值,包括:通过回放脚本拦截所述当前系统向所述数据库发起的所述SQL操作语句;根据所述HTTP日志数据,确定回放时所述SQL操作语句对应的目标主键值的录制时主键值;将所述目标数据库表中根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值。3.根据权利要求2所述的方法,其特征在于,所述在回放时,对当前系统回放时的所述预设操作指令进行拦截,将根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值,包括:拦截回放时所述当前系统向所述数据库发起的所有的所述预设操作指令;当发现回放时的所述预设操作指令所要操作的目标数据库表中的目标主键与所述HTTP日志数据中录制时的所述预设操作指令所要操作的目标数据库表中的目标主键相同时,从所述HTTP日志数据中取出录制时主键值;将所述目标数据库表中根据所述预设操作指令生成的所述目标主键对应的回放主键值替换为所述录制时主键值。4.根据权利要求1所述的方法,其特征在于,所述根据各个所述目标HTTP请求对所述目标数据库表的操作及所述预设操作指令的属性,确定各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,包括:根据每行HTTP日志数据转化为四元组数据;所述四元组数据包括录制时HTTP请求信息、读操作信息、写操作信息以及写操作时的目标主键参数;根据所述四元组数据确定所述HTTP请求对应的各个预设操作指令之间的读写依赖关系;
根据各个HTTP请求对应的各个预设操作指令之间的读写依赖关系,确定同一个目标数据库表对应的各个HTTP请求之间的依赖关系。5.根据权利要求4所述的方法,其特征在于,所述根据各个所述目标HTTP请求之间的依赖关系以及所述HTTP请求对应的各个预设操作指令之间的依赖关系,对各个http请求进行重编排处理,形成并发测试策略,包括:根据每个所述HTTP请求对应...

【专利技术属性】
技术研发人员:陆文博
申请(专利权)人:国信证券股份有限公司
类型:发明
国别省市:

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

1