CN114579423A - 一种流量回放质量分析方法及装置 - Google Patents
一种流量回放质量分析方法及装置 Download PDFInfo
- Publication number
- CN114579423A CN114579423A CN202011382574.1A CN202011382574A CN114579423A CN 114579423 A CN114579423 A CN 114579423A CN 202011382574 A CN202011382574 A CN 202011382574A CN 114579423 A CN114579423 A CN 114579423A
- Authority
- CN
- China
- Prior art keywords
- playback
- recording
- coverage rate
- determining
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种流量回放质量分析方法及装置,该方法包括:当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;根据增量覆盖率确定回放质量,解决了无法对回放质量进行分析的问题,通过预先集成回放接口,在接收到回放指令时自动调用回放接口,进行录制流量数据的回放,并进行覆盖率统计,在回放完成后得到全量覆盖率,进而确定增量覆盖率,以便校验新上线的功能代码的覆盖情况,及时发现漏测代码,并确定回放质量,以便通过回放质量提醒用户对漏测代码进行改进,提高回放质量。
Description
技术领域
本发明实施例涉及自动测试技术领域,尤其涉及一种流量回放质量分析方法及装置。
背景技术
随着业务场景的复杂化与技术体系的大规模微服务化,快速迭代难以保证每次迭代都进行全量回归测试,人工编写测试用例效率低下的同时难以覆盖所有真实业务场景,每次上线都隐含了诸多风险,公司迫切需要一个自动化、高效易用的回归测试平台。
流量回放回归测试平台基于开源项目jvm-sandbox-repeater,通过对Java应用进行字节码改造,拦截线上真实流量(包括上下游服务的请求、返回参数)进行录制,利用录制数据对部署在测试环境的被测目标服务发起回放验证请求,回放过程中同样通过字节码改造对下游外部依赖进行拦截,摆脱上下游服务、数据库、缓存等依赖,从而利用大规模线上真实用例进行自动化全量回归测试。但是,现有技术中在进行流量回放时,无法对回放质量进行分析。
发明内容
本发明提供一种流量回放质量分析方法及装置,以实现流量回放质量分析。
第一方面,本发明实施例提供了一种流量回放质量分析方法,所述流量回放质量分析方法包括:
当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;
根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;
根据所述增量覆盖率确定回放质量。
第二方面,本发明实施例还提供了一种流量回放质量分析装置,该流量回放质量分析装置包括:
覆盖率统计模块,用于当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;
覆盖率确定模块,用于根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;
回放质量确定模块,用于根据所述增量覆盖率确定回放质量。
本发明实施例提供了一种流量回放质量分析方法及装置,通过当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;根据所述增量覆盖率确定回放质量,解决了现有的流量回放过程中无法对回放质量进行分析的问题,通过预先集成回放接口,在接收到回放指令时自动调用回放接口,进行录制流量数据的回放,并进行覆盖率统计,在回放完成后得到全量覆盖率,根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率,以便校验新上线的功能代码的覆盖情况,及时发现漏测代码,并确定回放质量,以便通过回放质量提醒用户对漏测代码进行改进,提高回放质量。
附图说明
图1是本发明实施例一中的一种流量回放质量分析方法的流程图;
图2是本发明实施例一中的一种流量回放平台的架构示意图;
图3是本发明实施例二中的一种流量回放质量分析方法的流程图;
图4是本发明实施例二中的一种流量回放质量分析方法中确定回放结果的实现流程图;
图5是本发明实施例二中的一种流量回放质量分析方法中流量回放流程示例图;
图6是本发明实施例二中的一种流量回放质量分析方法中流量录制流程示例图;
图7是本发明实施例二中的一种流量回放质量分析方法中自动化录制回放的实现示例图;
图8是本发明实施例二中的一种流量回放质量分析方法中实时回放进程的实现示例图;
图9是本发明实施例三中的一种流量回放质量分析装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种流量回放质量分析方法的流程图,本实施例可适用于对流量回放质量进行分析的情况,示例性的,图2提供了一种流量回放平台的架构示意图,流量回放平台用于根据录制流量数据进行流量回放,控制台11(Repeater Console)下发命令到中继器12(Repeater Agent),中继器12通过预先配置的信息以及与生产集群13的配合对生产流量进行拦截录制,得到录制流量数据,并发送给控制台11。控制台11在进行流量回放时,将录制流量数据发送给中继器14(Repeater Agent),中继器14和被测集群15配合,并重新发起一次或者多次请求,对特定的下游节点进行MOCK,得到回放参数,控制台11将回放参数与对应的录制参数进行比对,得到回放结果,并发送到数据库16进行存储,以及在Web UI界面进行展示。该方法可以由流量回放质量分析装置来执行,具体包括如下步骤:
步骤S110、当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率。
在本实施例中,回放指令可以理解为用于指示流量回放平台进行流量回放的计算机指令;回放接口可以理解为用于执行流量回放的操作接口;录制流量数据可以理解为对用户操作所产生的流量数据进行录制得到的数据;全量覆盖率可以理解为测试时执行的代码在新版本代码中的覆盖程度,例如,新版本代码为A+B+C+D,测试执行的代码为D,全量覆盖率为D/(A+B+C+D)。
回放指令可以由用户触发生成,例如,用户在流量回放平台的界面上点击特定按钮,触发生成回放指令,或者,将持续集成CI/持续部署CD流程集成在流量回放平台中,在接收到CI事件(例如,代码合并、发布代码tag等)后,自动生成回放指令,调用回放接口对录制流量数据进行回放,在流量回放的同时进行覆盖率统计,即记录已经执行的代码,在回放完成后,生成全量覆盖率。
步骤S120、根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率。
在本实施例中,业务功能代码可以理解为实现此次测试的业务功能的计算机程序代码,例如,JAVA代码、C语言代码、C++代码等;增量覆盖率可以理解为本次测试执行的代码在新版本代码增量中的覆盖程度,例如,新版本代码为A+B+C+D,旧版本代码为A+B+C,所以可以确定新增的代码为D,测试执行的代码为D,增量覆盖率为D/D。
旧版本所实现业务功能的代码已知,通过比较旧版本业务功能的代码与所测试业务的业务功能代码可以确定新增加的代码,进而从全量覆盖率中提取出新增加代码的覆盖率,得到增量覆盖率。
步骤S130、根据增量覆盖率确定回放质量。
在本实施例中,可以通过分数对回放质量进行评估,也可以通过等级对回放质量进行评估,例如,回放质量为80,或者,回放质量为优秀、一般、及格、较差等等。
本发明实施例提供了一种流量回放质量分析方法及装置,通过当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;根据增量覆盖率确定回放质量,解决了现有的流量回放过程中无法对回放质量进行分析的问题,通过预先集成回放接口,在接收到回放指令时自动调用回放接口,进行录制流量数据的回放,并进行覆盖率统计,在回放完成后得到全量覆盖率,根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率,以便校验新上线的功能代码的覆盖情况,及时发现漏测代码,并确定回放质量,以便通过回放质量提醒用户对漏测代码进行改进,提高回放质量。
实施例二
图3为本发明实施例二提供的一种流量回放质量分析方法的流程图。本实施例的技术方案在上述技术方案的基础上进一步细化,具体主要包括如下步骤:
步骤S210、当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率。
示例性的,本申请实施例通过覆盖率工具jacoco统计全量覆盖率,需要回放的目标服务启动时以javaagent形式挂载jacocoagent;通过触发回放指令进行流量回放,通过录制好的录制流量数据对目标服务进行回放;回放完成后点击查看覆盖率,触发Jenkinsjob;远程dump出目标服务运行时代码覆盖数据exec;git clone源码(应用的java代码的源码),并进行编译得到classes文件;根据exec、源码、classes文件可得到全量覆盖率报告。
步骤S220、将业务功能代码与预确定的稳定功能代码进行比较,得到变更代码。
在本实施例中,稳定功能代码可以理解为线上正在运行的稳定版本的业务功能的代码,即旧版本的功能代码。通常在软件开发过程中进行测试的时机都是软件的新版本上线前,新版本可以是新增加功能、修改或者优化功能等,业务功能代码在完成测试后,若没有问题,即可发布,替换原来的旧版本代码,即稳定功能代码。变更代码可以理解为业务功能代码相比于稳定功能代码所新增加的代码;通过将业务功能代码与预确定的稳定功能代码进行比较,可以得到两个版本代码的不同之处,进而得到变更代码。
步骤S230、确定全量覆盖率中变更代码对应的覆盖率,将其作为增量覆盖率。
全量覆盖率中包括了所有被测试到的代码,以及每段代码对应的覆盖率,确定被测试到的代码中属于变更代码的那一部分代码,从全量覆盖率中抽取对应的覆盖率作为增量覆盖率。
步骤S240、根据增量覆盖率查询预确定的回放质量分析表,确定对应的质量数据。
在本实施例中,回放质量分析表可以理解为预先根据经验及需求制定的数据表;质量数据可以是分数、等级等可以对数据的好坏进行表示的信息;相应的,回放质量分析表可以存储增量覆盖率和对应分数,或者存储增量覆盖率和对应的质量等级,例如,增量覆盖率为90%,对应的分数为90,或者增量覆盖率为在90%-95%之间,对应的分数为90;再或者,增量覆盖率为90%,质量数据为极好,增量覆盖率为70%,质量数据为一般,增量覆盖率为50%,质量数据为较差。根据增量覆盖率对回放质量分析表进行查询,即可得到对应的质量数据。
步骤S250、将质量数据确定为回放质量。
质量数据可以代表回放质量,可以将其在界面上显示,测试人员即可以直观地观察回放质量,可以生成表格、直方图、扇形图等形式对回放质量进行展示。
进一步地,图4提供了一种流量回放质量分析方法中确定回放结果的实现流程图,在所述调用预先集成的回放接口对预先录制的录制流量数据进行回放的同时,还包括:
步骤S310、通过调用回放接口获取录制流量数据和录制流量数据对应的目标服务。
在本实施例中,目标服务可以理解为执行流量回放时,录制流量数据所需要到达的服务,例如,录制流量数据为下单数据,目标服务为执行下单任务的服务。
预先流量回放平台配置流量回放时需要获取的数据类型和对应的目标服务,回放接口根据配置的信息获取对应的录制流量数据以及录制流量数据对应的目标服务。
步骤S320、根据录制流量数据对目标服务进行回放,确定录制流量数据的回放结果。
根据录制流量数据对目标服务进行回放,即把稳定功能代码(生产环境稳定版本应用)运行时产生的流量数据录制下来,得到录制流量数据,在业务功能代码(非生产环境feature版本应用)进行回放,对比录制结果与回放结果,例如,用户在稳定功能代码的版本下进行正常下单,产生了流量数据,将其录制下来得到录制流量数据,然后在测试时,根据录制流量数据对目标服务进行回放,即模拟用户的下单场景,得到最终生成的数据,将回放时最终生成的数据与录制时生成的数据进行比较,进而得到回放结果,回放结果可以是回放正常、回放异常等可以表明回放情况的信息。
示例性的,图5提供了一种流量回放质量分析方法中流量回放流程示例图,通过控制台21(Repeater console)控制流量回放的进程,包括:启动回放和停止回放,通过从容器平台22中获取录制流量数据,在应用sit/staging集群23中部署测试环境,根据启动指令启动Pod,拉起回放机器24,从而实现流量回放;或者在停止回放时,结束Pod,从而实现停止回放。
进一步地,根据录制流量数据对目标服务进行回放,确定录制流量数据的回放结果,可通过下述方式实施:根据录制流量数据对目标服务进行回放,得到至少一条回放参数;根据各回放参数所对应录制流量数据中的录制参数确定各回放参数的回放结果,将各回放参数的回放结果作为录制流量数据的回放结果。
在本实施例中,回放参数可以理解为回放完成时得到数据,例如,录制流量数据为下单数据,录制的正常下单流量生成的是下单单号,那么进行流量回放时,回放参数也应该是下单单号,但是可能有新功能上线,所以在生成下单单号的同时还可能有其他数据信息生成。录制流量数据中不止一条数据,可能有几百甚至上千条数据,在对录制流量数据进行回放时,针对录制流量数据中的每一条数据都会相应的生成一个回放参数。录制参数可以理解为录制数据时针对每个用户操作所对应生成的结果,例如,正常下单流量生成的下单单号。
根据录制流量数据对目标服务进行回放,得到录制流量数据中每条数据对应的回放参数,将每条回放参数与在录制流量数据中对应的录制参数进行比对,确定回放参数的回放结果,每个回放参数的回放结果共同组成录制流量数据的回放结果。
进一步地,根据各回放参数所对应的录制流量数据中的录制参数确定各回放参数的回放结果,可通过下述方式实施:通过比较各回放参数和对应的录制参数的序列化字符串的相似度确定各回放相似度;将大于预设匹配阈值的回放相似度所对应的回放参数的回放结果确定为回放正常。
在本实施例中,回放相似度可以理解为回放参数与录制参数的相似度;预设匹配阈值可以理解为预先设定的阈值,用来判断回放相似度是否符合要求。将回放参数与录制参数分别进行JSON序列化,得到两组对应的序列化字符串,比较各回放参数和对应的录制参数的序列化字符串的相似度,针对每一条回放参数,如果对应的回放相似度大于预设匹配阈值,确定回放正常,如果小于等于预设匹配阈值,确定回放异常,可以通过抛出回放异常提醒工作人员词条回放参数异常。预设匹配阈值可以设置为100%,90%等,一般情况下默认100%,但是一些场景代码改动,会导致回放参数有预期变化,比如加了参数传递到外部依赖,这种情况是需要回放Mock匹配通过的,则可以将预设匹配阈值调低,使回放结果正常。
进一步地,根据各回放参数所对应的录制流量数据中的录制参数确定各回放参数的回放结果,可通过下述方式实施:根据预设筛选条件对各回放参数中的数据进行筛选,得到各目标回放参数;将与对应的录制参数匹配的目标回放参数的回放结果确定为回放正常。
在本实施例中,预设筛选条件可以理解为预先根据预期的不一致的数据设定的条件,实现对预期不一致结果的忽略,例如,预设筛选条件为忽略时间,忽略字段排序等。目标回放参数可以理解为对回放参数进行筛选得到的数据;在回放过程,回放参数中有一些预期的不一致是需要忽略掉的,如接口新增了某些业务字段、字段排序、机器IP、时间等字段,通过预设筛选条件对回放参数中的数据进行筛选,例如,可过把回放参数和录制参数进行JSON序列成为字符串后,将预设筛选条件配置为正则表达式的形式,进行相应的筛选。
每一条回放参数中可能包含一个数据,也可能包含多个数据,通过预设筛选条件对回放参数中的数据进行筛选,去掉非重要字段或者预期出现的数据,得到目标回放参数,将目标回放参数与对应的录制参数进行匹配,若匹配上,将目标回放参数的回放结果确定为回放正常。
进一步地,本发明实施例还提供一种录制流量数据的录制过程,通过流量录制平台进行录制流量数据的录制过程包括:流量录制平台接收到录制指令后,获取录制接口的调用次数;判断调用次数是否小于预设录制上限,若是,根据调用次数结合预设配置参数进行流量录制,获得用于本发明任一实施例中所需的录制流量数据。
在本实施例中,录制指令可以理解为用来指示流量录制平台进行流量录制的计算机指令;录制接口可以理解为用于执行流量录制的操作接口;调用次数可以理解为录制接口被调用的次数;预设录制上限可以理解为预先设置的录制次数的上限;预设配置参数可以理解为用户预先配置的一个数据,在实际的流量数据录制过程中,如果录制过于频繁,可能会占用过多资源,影响正常业务的运行,所以预先设置配置参数,进而判断是否进行流量录制。流量录制平台和流量回放平台可以部署在一个平台上,同时实现流量录制和回放的功能,也可以分开进行。
录制指令可以由用户触发生成,例如,用户在流量录制平台的界面上点击特定按钮,触发生成录制指令,或者,将持续集成CI/持续部署CD流程集成在流量录制平台中,在接收到CD事件(例如,部署上线)后,自动生成录制指令,流量录制平台接收到录制指令后,获取录制接口的调用次数,判断调用次数是否小于预设录制上限,如果不小于,则录制次数已达上限,无法进行录制,如果小于预设录制上限,表明可以进行录制,根据调用次数和预设配置参数确定此次是否进行流量录制。例如,用户期望录制500条录制流量数据,将预设录制上限设置为500。每次调用录制接口进行录制时,对录制接口的调用次数进行加1。通过设置预设录制上限,达到控制录制的总次数的效果,避免频繁录制影响正常业务数据。
示例性的,图6提供了一种流量回放质量分析方法中流量录制流程示例图,通过控制台31(Repeater console)控制流量录制的进程,包括:启动录制和停止录制,通过从容器平台32中获取到的配置信息在应用线上集群33中部署环境,根据启动指令启动Pod,拉起线上的录制机器34,从而实现流量录制;或者在停止录制时,结束Pod,从而实现停止录制,将录制得到的录制流量数据存储到容器平台。
进一步地,根据调用次数结合预设配置参数进行流量录制,可通过下述方式实施:根据预设配置参数对调用次数取模,得到取模结果;当取模结果为零时,调用录制接口进行流量录制,得到录制流量数据。
预设配置参数可以由用户自由设置,例如,调用次数为400,预设配置参数设置为20,表示每20个请求录制一次,达到控制速率的效果,根据预设配置参数对录制接口的调用次数取模,得到取模结果,例如400%20等于0,即取模结果为零,则调用录制接口进行流量录制,得到录制流量数据。通过设置预设配置参数,控制录制的频率,从而控制录制过程不占用过多资源,减轻对业务应用正常服务的影响。
在本发明实施例中,还可以设置进行流量录制时每隔一段时间向流量录制平台的控制台上报录制情况,包括录制数量,录制状态等,应用开启录制后,会有一个计数统计录制完成的数量,一般会设定一个录制总数限制,录制数量达到这个限制后则停止录制,可以控制每条录制流量数据中的数据数量。录制状态可以是:未开始、录制中、录制结束。控制台通过Web UI向用户展示录制上报数据,用户可以很方便地了解到录制情况。本申请实施例提供的流量录制平台在进行流量录制时,通过对通用中间件的底层方法进行拦截,开发了Http、Mongo、Thrift-rpc、Redis、Mysql、RabbitMQ、RestTemplate录制插件,用户无需进行繁琐的配置,在Web页面点击开启插件即可。
流量回放平台在进行流量回放时,提供批量回放和实时回放。批量回放:通过建立批量回放任务,轮询已录制的录制流量数据逐条进行回放。实时回放:通过建立实时回放任务,实时接收录制队列发来的录制流量数据进行逐条回放,实现了收到流量后立即回放的效果。实时回放在录制后立即回放,适用于只读接口,接口返回数据对实时性要求高,两次请求(录制请求和回放请求)需在较短时间发起。通过建立实时回放任务,实时接收录制队列发来的流量数据进行逐条回放通过Web界面进行配置,后台接收到前台配置数据后转换成底层需要的数据结构,前台配置数据简单易懂,用户理解难度低,无需关心平台底层的概念。
示例性的,图7提供了一种流量回放质量分析方法中自动化录制回放的实现示例图,测试人员通过发布上线触发CD流程,生成录制指令,并通过容器平台31对需要录制那些数据进行指示,以及对录制好的数据进行存储,或者通过合并代码触发CI流程,生成回放指令,将录制指令或者回放指令发送给集成平台,集成平台32通过调用录制接口、回放接口进行录制流量数据的录制和回放;或者,测试人员手动操作进行一键录制和回放,生成回放指令和录制指令,进而实现对录制接口和回放接口的调用。控制台33(Repeater console)在接收到调用录制接口或回放接口的调用指令后,通过容器平台34的API接口调用容器平台,然后在需要录制的时候拉起线上的录制机器35,在回放的时候拉起测试环境的回放机器36,实现自动录制和回放,从而实现流量录制回放平台的自动化部署,并在回放完成后生成测试报告。
示例性的,图8提供了一种流量回放质量分析方法中实时回放进程的实现示例图,用户在进行操作时,产生线上流量,线上Pod41获取到线上流量后通过Save Record将线上流量发送给控制台42,控制台42将其发送给数据库(DB)45进行保存,并判断是否携带RealTimeFlag(实时回放标识),若是,将其发送到实时回放的队列中,并在轮询到此条流量数据时,将其发送给控制台中的用户线程43,通过用户线程43查询回放任务进行实时回放,在实时回放时测试环境pod44通过pull record进行回放,最终返回回放结果。以用户购买商品为例,用户线程43可以是购买商品的用户所对应的线程。
本发明实施例提供了一种流量回放质量分析方法,通过当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;根据增量覆盖率确定回放质量,解决了现有的流量回放过程中无法对回放质量进行分析的问题,通过预先集成回放接口,在接收到回放指令时自动调用回放接口,进行录制流量数据的回放,并进行覆盖率统计,在回放完成后得到全量覆盖率,根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率,以便校验新上线的功能代码的覆盖情况,及时发现漏测代码,并确定回放质量,以便通过回放质量提醒用户对漏测代码进行改进,提高回放质量。
实施例三
图9为本发明实施例三提供的一种流量回放质量分析装置的结构示意图,该装置包括:覆盖率统计模块51、覆盖率确定模块52和回放质量确定模块53。
其中,覆盖率统计模块51,用于当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;覆盖率确定模块52,用于根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;回放质量确定模块53,用于根据所述增量覆盖率确定回放质量。
本发明实施例提供了一种流量回放质量分析装置,通过当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;根据增量覆盖率确定回放质量,解决了现有的流量回放过程中无法对回放质量进行分析的问题,通过预先集成回放接口,在接收到回放指令时自动调用回放接口,进行录制流量数据的回放,并进行覆盖率统计,在回放完成后得到全量覆盖率,根据全量覆盖率和所测试业务的业务功能代码确定增量覆盖率,以便校验新上线的功能代码的覆盖情况,及时发现漏测代码,并确定回放质量,以便通过回放质量提醒用户对漏测代码进行改进,提高回放质量。
进一步地,该装置还包括:
获取模块,用于通过调用回放接口获取录制流量数据和所述录制流量数据对应的目标服务;
回放结果确定模块,用于根据所述录制流量数据对所述目标服务进行回放,确定所述录制流量数据的回放结果。
进一步地,回放结果确定模块,包括:
回放参数确定单元,用于根据所述录制流量数据对所述目标服务进行回放,得到至少一条回放参数;
回放结果确定单元,用于根据各所述回放参数所对应录制流量数据中的录制参数确定各所述回放参数的回放结果,将各所述回放参数的回放结果作为所述录制流量数据的回放结果。
进一步地,回放结果确定单元,具体用于:通过比较各所述回放参数和对应的录制参数的序列化字符串的相似度确定各回放相似度;将大于预设匹配阈值的所述回放相似度所对应的回放参数的回放结果确定为回放正常。
进一步地,回放结果确定单元,具体用于:根据预设筛选条件对各所述回放参数中的数据进行筛选,得到各目标回放参数;将与对应的录制参数匹配的所述目标回放参数的回放结果确定为回放正常。
进一步地,覆盖率确定模块52,包括:
变更代码确定单元,用于将业务功能代码与预确定的稳定功能代码进行比较,得到变更代码;
覆盖率确定单元,用于确定所述全量覆盖率中变更代码对应的覆盖率,将其作为增量覆盖率。
进一步地,回放质量确定模块53,包括:
查询单元,用于根据所述增量覆盖率查询预确定的回放质量分析表,确定对应的质量数据;
质量确定单元,用于将所述质量数据确定为回放质量。
进一步地,该装置还包括:
次数获取模块,用于流量录制平台接收到录制指令后,获取录制接口的调用次数;
流量录制模块,用于判断所述调用次数是否小于预设录制上限,若是,根据所述调用次数结合预设配置参数进行流量录制,获得用于任一实施例中所需的录制流量数据。
进一步地,流量录制模块,包括:
取模结果确定单元,用于根据所述预设配置参数对所述调用次数取模,得到取模结果;
录制单元,用于当所述取模结果为零时,调用所述录制接口进行流量录制,得到录制流量数据。
本发明实施例所提供的流量回放质量分析装置可执行本发明任意实施例所提供的流量回放质量分析方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种流量回放质量分析方法,其特征在于,包括:
当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;
根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;
根据所述增量覆盖率确定回放质量。
2.根据权利要求1所述的方法,其特征在于,在所述调用预先集成的回放接口对预先录制的录制流量数据进行回放的同时,还包括:
通过调用回放接口获取录制流量数据和所述录制流量数据对应的目标服务;
根据所述录制流量数据对所述目标服务进行回放,确定所述录制流量数据的回放结果。
3.根据权利要求2所述的方法,其特征在于,根据所述录制流量数据对所述目标服务进行回放,确定所述录制流量数据的回放结果,包括:
根据所述录制流量数据对所述目标服务进行回放,得到至少一条回放参数;
根据各所述回放参数所对应录制流量数据中的录制参数确定各所述回放参数的回放结果,将各所述回放参数的回放结果作为所述录制流量数据的回放结果。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述回放参数所对应的录制流量数据中的录制参数确定各所述回放参数的回放结果,包括:
通过比较各所述回放参数和对应的录制参数的序列化字符串的相似度确定各回放相似度;
将大于预设匹配阈值的所述回放相似度所对应的回放参数的回放结果确定为回放正常。
5.根据权利要求3所述的方法,其特征在于,所述根据各所述回放参数所对应的录制流量数据中的录制参数确定各所述回放参数的回放结果,包括:
根据预设筛选条件对各所述回放参数中的数据进行筛选,得到各目标回放参数;
将与对应的录制参数匹配的所述目标回放参数的回放结果确定为回放正常。
6.根据权利要求1所述的方法,其特征在于,所述根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率,包括:
将业务功能代码与预确定的稳定功能代码进行比较,得到变更代码;
确定所述全量覆盖率中变更代码对应的覆盖率,将其作为增量覆盖率。
7.根据权利要求1所述的方法,其特征在于,所述根据所述增量覆盖率确定回放质量,包括:
根据所述增量覆盖率查询预确定的回放质量分析表,确定对应的质量数据;
将所述质量数据确定为回放质量。
8.根据权利要求1-7所述的方法,其特征在于,通过流量录制平台进行所述录制流量数据的录制过程包括:
流量录制平台接收到录制指令后,获取录制接口的调用次数;
判断所述调用次数是否小于预设录制上限,若是,根据所述调用次数结合预设配置参数进行流量录制,获得用于权利要求1-7所述方法中所需的录制流量数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述调用次数结合预设配置参数进行流量录制,包括:
根据所述预设配置参数对所述调用次数取模,得到取模结果;
当所述取模结果为零时,调用所述录制接口进行流量录制,得到录制流量数据。
10.一种流量回放质量分析装置,其特征在于,包括:
覆盖率统计模块,用于当接收到回放指令后,调用预先集成的回放接口对预先录制的录制流量数据进行回放,并进行覆盖率统计,得到回放完成后的全量覆盖率;
覆盖率确定模块,用于根据所述全量覆盖率和所测试业务的业务功能代码确定增量覆盖率;
回放质量确定模块,用于根据所述增量覆盖率确定回放质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011382574.1A CN114579423A (zh) | 2020-11-30 | 2020-11-30 | 一种流量回放质量分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011382574.1A CN114579423A (zh) | 2020-11-30 | 2020-11-30 | 一种流量回放质量分析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579423A true CN114579423A (zh) | 2022-06-03 |
Family
ID=81767469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011382574.1A Pending CN114579423A (zh) | 2020-11-30 | 2020-11-30 | 一种流量回放质量分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884844A (zh) * | 2022-06-14 | 2022-08-09 | 上海幻电信息科技有限公司 | 流量录制方法及系统 |
CN115297041A (zh) * | 2022-07-29 | 2022-11-04 | 深圳前海微众银行股份有限公司 | 一种流量回放的数据验证方法及装置 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
-
2020
- 2020-11-30 CN CN202011382574.1A patent/CN114579423A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884844A (zh) * | 2022-06-14 | 2022-08-09 | 上海幻电信息科技有限公司 | 流量录制方法及系统 |
CN114884844B (zh) * | 2022-06-14 | 2023-12-26 | 上海幻电信息科技有限公司 | 流量录制方法及系统 |
CN115297041A (zh) * | 2022-07-29 | 2022-11-04 | 深圳前海微众银行股份有限公司 | 一种流量回放的数据验证方法及装置 |
CN115297041B (zh) * | 2022-07-29 | 2024-01-02 | 深圳前海微众银行股份有限公司 | 一种流量回放的数据验证方法及装置 |
CN117573943A (zh) * | 2024-01-11 | 2024-02-20 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
CN117573943B (zh) * | 2024-01-11 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114579423A (zh) | 一种流量回放质量分析方法及装置 | |
US8074204B2 (en) | Test automation for business applications | |
US8434058B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
CN105094783B (zh) | 安卓应用稳定性测试的方法及装置 | |
EP2245551B1 (en) | Identification of elements of currently-executing component script | |
WO2019100576A1 (zh) | 自动化测试管理方法、装置、终端设备及存储介质 | |
EP2572294B1 (en) | System and method for sql performance assurance services | |
CN105653287A (zh) | 一种程序自动版本发布方法和装置 | |
CN108509344B (zh) | 日切跑批测试方法、设备及可读存储介质 | |
CN105740154A (zh) | 一种网页游戏测试脚本生成方法及装置 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN114297056A (zh) | 一种自动化测试方法及系统 | |
CN112463588A (zh) | 一种自动化测试系统及方法、存储介质、计算设备 | |
CN112306880A (zh) | 测试方法、装置、电子设备和计算机可读存储介质 | |
CN112732587A (zh) | 一种自动化测试日志的获取方法、装置、电子设备及存储介质 | |
US20090070743A1 (en) | System and method for analyzing software applications | |
CN114661551A (zh) | 软件运行状态的监控方法、设备及计算机可读存储介质 | |
CN112148616B (zh) | 一种性能测试管理平台 | |
CN113238935A (zh) | 应用测试方法、系统、设备、介质及计算机程序产品 | |
CN113360728A (zh) | 用户操作审计方法、装置、计算机设备和存储介质 | |
CN112650688A (zh) | 自动化回归测试方法、关联设备以及计算机程序产品 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN113934642B (zh) | 一种基于动静态结合的软件兼容性测试方法 | |
Ereiz | Automating Web Application Testing Using Katalon Studio | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |