一种用于测试的流量回放方法及系统技术方案

技术编号:36964792 阅读:50 留言:0更新日期:2023-03-22 19:25
本说明书实施例公开了一种用于测试的流量回放方法及系统,该方法包括:获取待回放请求;所述待回放请求来自预先录制的历史时段中的请求;判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求构造被依赖数据,并向所述被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据,进而使得当所述待回放请求发送给所述被测试系统时,所述被测试系统能够执行该请求。所述被测试系统能够执行该请求。所述被测试系统能够执行该请求。

【技术实现步骤摘要】
一种用于测试的流量回放方法及系统


[0001]本专利技术涉及仿真测试领域,特别涉及一种用于测试的流量回放方法及系统。

技术介绍

[0002]在计算机领域,常常需要对新开发出来或升级更新后的计算机程序或设备进行仿真测试,以确定程序或设备是否满足性能要求。在自动化仿真测试中,流量录制和回放是较为常用的手段。流量录制是指将一定历史时段内线上用户对已投入使用的程序或设备的服务请求进行记录。流量回放是指将录制的服务请求发送给待测试系统(如程序或设备等),模拟线上使用场景,通过观测待测试系统对回放的服务请求的响应情况,确定待测试系统的性能状态。
[0003]然而在多数场景中,被回放的请求可能对其他数据具有依赖关系,这可能阻碍流量回放的顺利进行,因此需要针对此类请求提出一种流量回放方法和系统。

技术实现思路

[0004]本说明书实施例之一提供一种用于测试的流量回放方法,其包括:获取待回放请求;所述待回放请求来自预先录制的历史时段中的请求;判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求构造被依赖数据,并向所述被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据,进而使得当所述待回放请求发送给所述被测试系统时,所述被测试系统能够执行该请求。
[0005]本说明书实施例之一提供一种用于测试的流量被测试系统,其包括:获取模块,用于获取待回放请求;所述待回放请求来自预先录制的历史时段中的请求;生成模块,用于判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求构造被依赖数据,并向所述被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据,进而使得当所述待回放请求发送给所述被测试系统时,所述被测试系统能够执行该请求。
[0006]本说明书实施例之一提供一种用于测试的流量回放方法,其包括:接收待回放请求;所述待回放请求来自预先录制的历史时段中的请求;判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求获取该请求的输出参数值,并返回;若否,则将所述待回放请求发送给待测试系统,以使得被测试系统执行该请求。
[0007]本说明书实施例之一提供一种用于测试的流量回放系统,其包括:接收模块,用于接收待回放请求;所述待回放请求来自预先录制的历史时段中的请求;处理模块,用于判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求获取该请求的输出参数值,并返回;若否,则将所述待回放请求发送给待测试系统,以使得被测试系统执行该请求。
附图说明
[0008]本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进
行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
[0009]图1是根据本说明书一些实施例所示的流量录制和回放的应用场景图;
[0010]图2是根据本说明书一些实施例所示的用于测试的流量回放方法的示例性流程图;
[0011]图3是根据本说明书一些实施例所示的用于测试的流量回放系统的模块图;
[0012]图4是根据本说明书另一些实施例所示的用于测试的流量回放方法的示例性流程图;
[0013]图5是根据本说明书另一些实施例所示的用于测试的流量回放系统的模块图。
具体实施方式
[0014]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
[0015]应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
[0016]如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
[0017]本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0018]图1是根据本说明书一些实施例所示的流量录制和回放的应用场景图。
[0019]在计算机领域,常常需要对新开发出来或升级更新后的计算机程序或设备进行仿真测试,以确定程序或设备是否满足性能要求。其中,被测试的计算机程序或者设备又可以称为待测试系统。在自动化仿真测试中,常用到流量录制和回放。所谓流量,就是某个时段内的服务请求(或访问请求,可简称为请求),例如,查询请求、下单请求、支付请求、加密请求、模型预测请求等等。流量录制是指将一定历史时段内线上用户对已投入使用的程序或设备(或称为线上系统)的服务请求进行记录。流量回放是指将记录的服务请求发送给待测试系统,模拟线上使用场景,通过观测待测试系统对回放的服务请求的响应情况,确定待测试系统的性能状态。
[0020]如图1所示,应用场景100包括真实使用场景以及仿真场景。
[0021]其中,流量录制在真实使用场景中进行。作为示例,线上系统120可以是电商平台(由服务器实现,服务器上运行服务程序以向用户提供商品服务),用户可以通过客户端,如
访问客户端111、112、

、11n等,向平台发起多种请求,平台响应请求使用户得以浏览商品信息、对中意的商品下单以及支付等。记录端130用于获取访问客户端向线上系统发起的各类请求。在一些实施例中,记录端130会按照实际的发生时序记录各请求,以便在流量回放阶段可以更真实的还原使用场景。在一些实施例中,记录端130还可以依次记录平台为了响应各类请求而向访问客户端返回的数据。在一些实施例中,记录端130可以通过切面技术记录流量,不会影响访问客户端和线上系统之间的正常数据交互。在一些实施例中,被记录的流量可以以日志形式存储以便后续使用。
[0022]流量回放一般在仿真场景中进行。作为示例,技术人员电商平台对服务程序进行了优化升级,需要对其仿真测试,以确定其性能是否达到目标状态。此时,优化升级后的系统为待测试系统,如待测试系统140,可以将记录端130作为测试客户端,将记录的流量依次发送给待测试系统140。技术人员通过观测待测试系统140对回放流量的响应情况,确定其性能状态。
[0023]在一些实施例中,线上系统120或待测试系统140可以表现为服务器,服务器执行相应的服务程序,进而向用户提供相应的数据服务,如数据查询、商品购买、数据加解密、数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于测试的流量回放方法,其包括:获取待回放请求;所述待回放请求来自预先录制的历史时段中的请求;判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求构造被依赖数据,并向被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据,进而使得当所述待回放请求发送给所述被测试系统时,所述被测试系统能够执行该请求。2.如权利要求1所述的方法,其中,所述判断待回放请求是否依赖于该请求以外的数据,包括:检测所述待回放请求是否包含指示数据读取的指令关键词;若包含,则确定所述待回放请求依赖于该请求以外的数据。3.如权利要求1所述的方法,其中,所述基于所述待回放请求确定被依赖数据,包括:基于所述待回放请求的输入参数和/或输出参数构造被依赖数据。4.如权利要求3所述的方法,其中,所述被依赖数据包括数据表和/或数据表中的记录。5.如权利要求1所述的方法,其中,所述向所述被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据,包括:基于所述被依赖数据生成数据写入请求;将所述数据写入请求发送给被测试系统,以便被测试系统执行所述数据写入请求,将所述被依赖数据写入本地或相关的存储介质。6.一种用于测试的流量回放系统,其包括:获取模块,用于获取待回放请求;所述待回放请求来自预先录制的历史时段中的请求;生成模块,用于判断待回放请求是否依赖于该请求以外的数据,若是,则基于所述待回放请求构造被依赖数据,并向被测试系统或者向与所述被测试系统相关的存储介质写入被依赖数据...

【专利技术属性】
技术研发人员:欧阳清
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1