一种应用系统更新测试方法及装置制造方法及图纸

技术编号:34888466 阅读:13 留言:0更新日期:2022-09-10 13:46
本申请实施例提供一种应用系统更新测试方法及装置,方法适用于流量回放系统,包括:针对流量录制数据中任一交易的上游请求报文,进行流量回放;将回放结果中的流量回放数据和流量录制数据进行比对,若存在差异,则确定交易为差异交易;对各差异交易的代码分支路径进行聚类,得到至少一个聚类分组;代码分支路径是由有序的代码分支标识形成的,用于表征上游请求报文在流量回放过程中在测试系统中所经历的代码分支;若确定任一聚类分组中各代码分支路径中存在相同的代码分支标识,则相同的代码分支标识对应的代码分支为异常代码分支。上述方法中,用于准确定位应用系统的测试系统中引起错误的代码分支。起错误的代码分支。起错误的代码分支。

【技术实现步骤摘要】
一种应用系统更新测试方法及装置


[0001]本申请涉及计算机
,尤其涉及一种应用系统更新测试方法及装置。

技术介绍

[0002]近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。如,金融行业的业务基本通过线上的应用系统进行处理。为了保证应用系统的功能更加完善,应用系统一直处于不断修改中,而为了测试修改后的应用系统是否能够正确运行,一般需要应用流量回放测试技术。
[0003]目前,流量回放测试技术,是指对应用系统线上环境下的用户端发送的请求流量执行流量录制操作,得到测试请求,再根据测试请求对测试系统(将线上应用系统对应的离线应用系统的代码修改后得到的系统)进行测试,得到测试结果。流量回放测试技术再进行回归测试,具体地:可以将流量回放的测试结果与线上环境下的真实请求结果进行比对,根据比对得到的差异字段确认测试系统是否引入错误。该种方式虽然可以确定测试系统引入错误的问题,但是很难准确定位测试系统中引起错误的代码分支。
[0004]因此,现在亟需一种应用系统更新测试方法及装置,用于准确定位应用系统的测试系统中引起错误的代码分支。

技术实现思路

[0005]本申请实施例提供一种应用系统更新测试方法及装置,用于准确定位应用系统的测试系统中引起错误的代码分支。
[0006]第一方面,本申请实施例提供一种应用系统更新测试方法,所述方法适用于流量回放系统,该方法包括:<br/>[0007]针对流量录制数据中任一交易的上游请求报文,所述流量回放系统进行流量回放,获取回放结果;将所述回放结果中的流量回放数据和所述流量录制数据进行比对,若存在差异,则确定所述交易为差异交易;所述流量回放系统中包括运行有针对所述应用系统更新后得到的测试系统的回放服务器;所述流量录制数据是通过对所述应用系统处理各交易进行流量录制得到的;
[0008]所述流量回放系统对各差异交易的回放结果中的代码分支路径进行聚类,得到至少一个聚类分组;所述代码分支路径是由有序的代码分支标识形成的,用于表征上游请求报文在流量回放过程中在所述测试系统中所经历的至少一个代码分支;
[0009]所述流量回放系统若确定任一聚类分组中各代码分支路径中存在相同的代码分支标识,则所述相同的代码分支标识对应的代码分支为异常代码分支。
[0010]上述方法中,针对各交易中的任一笔交易,基于测试系统对该交易的生产接收报文进行回放,获取包含流量回放数据的回放结果。如此,可以根据流量录制数据和流量回放数据的比对结果确定差异交易,此时,差异交易可能是由测试系统的代码漏洞引起的。由于
代码分支路径由有序代码分支标识形成,用于表征该上游请求报文在回放过程中经历的测试系统中的至少一个代码分支,则进一步,为了确认测试系统的代码漏洞,根据该预设时间段内的各差异交易的代码分支路径,对各差异交易进行聚类,得到至少一个聚类分组,若确定聚类分组中各代码分支路径存在相同的代码分支标识,则该代码分支标识对应的代码分支大概率是引起错误的异常代码分支,即,存在漏洞的代码分支。如此,相比于现有技术中仅能确定测试系统引入的错误,而不能获取错误原因(造成错误的代码漏洞),本申请可以准确快速的定位代码漏洞,提高运维效率。
[0011]可选的,所述流量回放系统为分布式系统;所述流量回放系统进行流量回放之前,还包括:将所述流量录制数据中的各交易按照用户标识进行分组,得到用户交易组,所述用户交易组内的各交易具有相同的用户标识且是按照交易时间顺序依次排序的;将各用户交易组分发至所述回放服务器中。
[0012]上述方法中,通过将按照用户标识进行分组得到用户交易组,并使得回放服务器按照用户交易组中各交易的交易时间顺序回放。如此,保证交易执行顺序,进一步保证回放处理获取的测试数据的准确性。防止交易顺序颠倒,导致的测试数据错误,如,借款数额查询请求的请求结果与借款请求的请求成功结果需要按照顺序回放,才能获取准确的测试数据。
[0013]可选的,将各用户交易组分发至回放服务器中,包括:计算每个用户交易组的第一总耗时,所述第一总耗时为用户交易组中各交易的交易耗时的和,所述交易耗时为所述应用系统处理对应交易时的耗时;根据各用户交易组的第一总耗时,将所述各用户交易组分配到第一预设数量的回放服务器中,其中,任意两台回放服务器在进行流量回放时的耗时之差小于设定阈值。
[0014]上述方法中,根据各用户交易组的第一总耗时,将各用户交易组分配到第一预设数量的回放服务器中,令任意两台回放服务器在进行流量回放时的耗时之差小于设定阈值,使得最终得到的各回放服务器对应的回放总耗时相近。如此,保证每个回放服务器回放处理时间基本相等,加快回放流程。
[0015]可选的,根据各用户交易组的第一总耗时,将所述各用户交易组分配到第一预设数量的回放服务器中,包括:根据各用户交易组的第一总耗时,将所述各用户交易组分配到第二预设数量的回放组,且得到的各回放组的第二总耗时的标准差最小,所述第二总耗时为回放组中各用户交易组的第一总耗时的和;将所述第二预设数量的回放组平均分发至所述第一预设数量的回放服务器;任一回放服务器中有预设数量的线程,所述预设数量等于所述第二预设数量与所述第一预设数量的比值。
[0016]上述方法中,将用户标识相同的交易分在一个用户交易组中,以用户交易组为单位,根据各用户交易组的第一总耗时将各用户交易组分到第二预设数量的回放组中,且令得到的各回放组的第二总耗时的标准差最小。由于回放服务器针对回放组中的每个用户交易组中各交易按照交易时间顺序回放。如此,在保证交易时序的前提下,将第二预设数量的第二总耗时的标准差最小的各回放组平均分发至第一预设数量的回放服务器,且回放服务器中有预设数量的线程处理回放组,提高回放速度。
[0017]可选的,根据各用户交易组的第一总耗时,将所述各用户交易组分配到第二预设数量的回放组,包括:从所述各用户交易组中搜索第一用户交易组,若所述第一用户交易组
的第一总耗时大于等于所述各用户交易组的平均总耗时,将所述第一用户交易组分到一个回放组中;若所述第一用户交易组的第一总耗时不大于所述平均总耗时,将所述第一用户交易组分到一个回放组中,并搜索第一总耗时与第一耗时标准差差值最小的第二用户交易组,将所述第二用户交易组分到所述回放组中,所述第一耗时标准差为所述第一用户交易组的第一总耗时与所述平均总耗时的标准差;循环执行上述步骤,直到得到所述第二预设数量的回放组。
[0018]上述方法中,通过上述根据耗时标准差分配用户交易组到回放组,令得到的各回放组的第二总耗时的标准差最小,提高回放效率。
[0019]可选的,从所述各用户交易组中搜索第一用户交易组之前,还包括:根据所述各用户交易组的第一总耗时构造平衡二叉树;搜索第一总耗时与第一耗时标准差差值最小的第二用户交易组,包括:通过所述平衡二叉树,搜索与所述第一耗时标准差的差值最小的第一总本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用系统更新测试方法,其特征在于,所述方法适用于流量回放系统,包括:针对流量录制数据中任一交易的上游请求报文,所述流量回放系统进行流量回放,获取回放结果;将所述回放结果中的流量回放数据和所述流量录制数据进行比对,若存在差异,则确定所述交易为差异交易;所述流量回放系统中包括运行有针对所述应用系统更新后得到的测试系统的回放服务器;所述流量录制数据是通过对所述应用系统处理各交易进行流量录制得到的;所述流量回放系统对各差异交易的回放结果中的代码分支路径进行聚类,得到至少一个聚类分组;所述代码分支路径是由有序的代码分支标识形成的,用于表征上游请求报文在流量回放过程中在所述测试系统中所经历的至少一个代码分支;所述流量回放系统若确定任一聚类分组中各代码分支路径中存在相同的代码分支标识,则所述相同的代码分支标识对应的代码分支为异常代码分支。2.如权利要求1中所述的方法,其特征在于,所述流量回放系统为分布式系统;所述流量回放系统进行流量回放之前,还包括:将所述流量录制数据中的各交易按照用户标识进行分组,得到用户交易组,所述用户交易组内的各交易具有相同的用户标识且是按照交易时间顺序依次排序的;将各用户交易组分发至所述回放服务器中。3.如权利要求2中所述的方法,其特征在于,将各用户交易组分发至回放服务器中,包括:计算每个用户交易组的第一总耗时,所述第一总耗时为用户交易组中各交易的交易耗时的和,所述交易耗时为所述应用系统处理对应交易时的耗时;根据各用户交易组的第一总耗时,将所述各用户交易组分配到第一预设数量的回放服务器中,其中,任意两台回放服务器在进行流量回放时的耗时之差小于设定阈值。4.如权利要求3中所述的方法,其特征在于,根据各用户交易组的第一总耗时,将所述各用户交易组分配到第一预设数量的回放服务器中,包括:根据各用户交易组的第一总耗时,将所述各用户交易组分配到第二预设数量的回放组,且得到的各回放组的第二总耗时的标准差最小,所述第二总耗时为回放组中各用户交易组的第一总耗时的和;将所述第二预设数量的回放组平均分发至所述第一预设数量的回放服务器;任一回放服务器中有预设数量的线程,所述预设数量等于所述第二预设数量与所述第一预设数量的比值。5.如权利要求4中所述的方法,其特征在于,根据各用户交易组的第一总耗时,将所述各用户交易组分配到第二预设数量的回放组,包括:从所述各用户交易组中搜索第一用户交易组,若所述第一用户交易组的第一总耗时大于等于所述各用户交易组的平均总耗时,将所述第一用户交易组分到一个回放组中;若所述第一用户交易组的第一总耗时不大于所述平均总耗时,将所述第一用户交易组分到一个回放组中,并搜索第一总耗时与第一耗时标准差差值最小的第二用户交易组,将所述第二用户交易组分到所述回放组中,所述第一耗时标准差为所述第一用户交易组的第一总耗时与所...

【专利技术属性】
技术研发人员:胡煜家李斌李懿魏艳梅
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1