CN111078551A - 一种全链路测试方法、装置、系统及计算机可读存储介质 - Google Patents
一种全链路测试方法、装置、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111078551A CN111078551A CN201911283800.8A CN201911283800A CN111078551A CN 111078551 A CN111078551 A CN 111078551A CN 201911283800 A CN201911283800 A CN 201911283800A CN 111078551 A CN111078551 A CN 111078551A
- Authority
- CN
- China
- Prior art keywords
- link
- information
- test
- target
- full
- 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.)
- Granted
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- 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)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种全链路测试方法,包括利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;对各所述链路信息增设ID信息,获得对应的标准链路信息;根据所述ID信息对各所述标准链路信息进行聚合,获得对应的聚合链路;当所述聚合链路被调用时,生成对应的测试用例;根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试;该全链路测试方法实现了全链路中所有节点的安全性测试,保证了全链路的安全有效性。本申请还公开了一种全链路测试装置、系统以及计算机可读存储介质,也具有上述有益效果。
Description
技术领域
本申请涉及软件测试领域,特别涉及一种全链路测试方法,还涉及一种全链路测试装置、系统以及计算机可读存储介质。
背景技术
系统测试一般在系统内部进行,但一次完整的数据流可能需要在多个系统内流转,这些系统之间通过调用串成多条链路,使得交互数据在链路上进行流转,对整个链路进行测试即为全链路测试。
一般而言,全链路的调用十分复杂,如图1所示,图1为现有技术中的一种全链路结构示意图,用户发起请求后会涉及多个系统及组件,如Kafka、Redis、Mysql数据库等。但是,现有的全链路测试只能确认直接面向客户的系统请求与反馈(图1所示a请求和b反馈),若反馈结果为期望结果,则代表测试用例通过。然而,即便最终的反馈结果满足期望,但由于中间节点的返回为未知,会存在潜在问题遗留到线上的风险,难以保证全链路的安全有效。
因此,如何有效的实现全链路中所有节点的安全性测试,进而保证全链路的安全有效性是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种全链路测试方法,该全链路测试方法实现了全链路中所有节点的安全性测试,保证了全链路的安全有效性;本申请的另一目的是提供一种全链路测试装置、系统以及计算机可读存储介质,也具有上述有益效果。
为解决上述技术问题,本申请提供了一种全链路测试方法,所述全链路测试方法包括:
利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
对各所述链路信息增设ID信息,获得对应的标准链路信息;
根据所述ID信息对各所述标准链路信息进行聚合,获得对应的聚合链路;
当所述聚合链路被调用时,生成对应的测试用例;
根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试。
优选的,所述链路信息包括所述链路节点的调用来源信息,调用去向信息,调用类型信息,调用方法信息以及出入参数信息。
优选的,所述对各所述链路信息增设ID信息,获得对应的标准链路信息之后,还包括:
将各所述标准链路信息存储至预设数据存储平台。
优选的,所述预设数据存储平台为Hybrid DB数据库。
优选的,所述根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试,包括:
根据所述测试指令在所有所述测试用例中确定目标测试用例,以及所述目标测试用例对应的目标聚合链路的目标切入点;
在所述目标切入点对所述目标测试用例进行所述回放测试。
为解决上述技术问题,本申请还提供了一种全链路测试装置,所述全链路测试装置包括:
数据采集模块,用于利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
ID配置模块,用于对各所述链路信息增设ID信息,获得对应的标准链路信息;
链路聚合模块,用于根据所述ID信息对各标准链路信息进行聚合,获得对应的聚合链路;
链路调用模块,用于当所述聚合链路被调用时,生成对应的测试用例;
回放测试模块,用于根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试。
优选的,所述全链路测试装置还包括:
信息存储模块,用于将各所述标准链路信息存储至预设数据存储平台。
优选的,所述回放测试模块具体用于根据所述测试指令在所有所述测试用例中确定目标测试用例,以及所述目标测试用例对应的目标聚合链路的目标切入点;在所述目标切入点对所述目标测试用例进行所述回放测试。
为解决上述技术问题,本申请还提供了一种全链路测试系统,所述全链路测试系统包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一种全链路测试方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种全链路测试方法的步骤。
本申请所提供的一种全链路测试方法,包括利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;对各所述链路信息增设ID信息,获得对应的标准链路信息;根据所述ID信息对各所述标准链路信息进行聚合,获得对应的聚合链路;当所述聚合链路被调用时,生成对应的测试用例;根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试。
可见,本申请所提供的全链路测试方法,先通过预先建立通用组件,实现对全链路中各个节点的链路信息的采集,再通过为链路信息增设ID体现节点及其生成链路的唯一性,进而生成各个测试用例,由此,在全链路测试过程中,对于每一个节点,均可根据ID信息实现对指定测试用例的回放测试,由此,相较于已有技术中仅能实现全链路中直接与用户进行数据交互的节点的测试,该种实现方式可以有效实现全链路中所有节点的安全性测试,避免了遗留在线上的潜在风险,进而保证了全链路的安全有效。
本申请所提供的一种全链路测试装置、系统以及计算机可读存储介质也具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的一种全链路结构示意图;
图2为本申请所提供的一种全链路测试方法的流程示意图;
图3为本申请所提供的一种全链路结构示意图;
图4为本申请所提供的一种全链路中节点调用信息的记录方法的流程图;
图5为本申请所提供的另一种全链路结构示意图;
图6为本申请所提供的一种全链路测试装置的结构示意图;
图7为本申请所提供的一种全链路测试系统的结构示意图。
具体实施方式
本申请的核心是提供一种全链路测试方法,该全链路测试方法实现了全链路中所有节点的安全性测试,保证了全链路的安全有效性;本申请的另一核心是提供一种全链路测试装置、系统以及计算机可读存储介质,也具有上述有益效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
请参考图2,图2为本申请所提供的一种全链路测试方法的流程示意图,该全链路测试方法可以包括:
S101:利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
本步骤旨在实现全链路中各个链路节点的信息采集,链路节点即为交互数据在全链路中进行流转时所经过的各个系统及组件,如图1中所示系统A、B、C、D以及Kafka、Redis、Mysql数据库等。一般的,已有技术中仅能对直接面向客户的系统请求与反馈进行确认,即仅能实现面向用户的链路节点的测试,但在本申请中,则可以实现全链路中任意链路节点的测试。
具体而言,在进行全链路测试之前,对全链路中的各个链路节点进行信息采集,获得对应的链路信息,该链路信息即为全链路生成过程中链路节点所获取到的以及所发出的相关信息。在具体实现过程中,可以由链路节点调用预设通用组件进行记录生成,该预设通用组件为预先设立的,用于实现信息记录的组件,在全链路生成过程中,其中所涉及到的各个链路节点均可调用该组件实现自身信息的记录。
可以理解的是,链路信息的具体内容并不影响本技术方案的实施,由技术人员根据实际需求进行设定即可,本申请对此不做限定。
优选的,上述链路信息可以包括链路节点的调用来源信息,调用去向信息,调用类型信息,调用方法信息以及出入参数信息。
本优选实施例提供了具体类型的链路节点的调用信息,即调用来源信息,调用去向信息,调用类型信息,调用方法信息以及出入参数信息。其中,调用来源信息可以为向某一链路节点发出调用请求的链路节点或用户等,调用去向信息可以为接收该链路节点发出的调用请求的节点或用户或数据库等,调用类型如数据调取、数据存储、数据处理等。
S102:对各链路信息增设ID信息,获得对应的标准链路信息;
本步骤旨在为各个链路信息设置ID信息,具体而言,全链路中的每个链路节点均有其唯一的ID信息,因此,可将ID信息添加至各个相应的链路信息中,生成携带有ID信息的链路信息,即上述标准链路信息,以便在全链路测试过程中实现指定链路节点对应指定链路的测试。
优选的,上述对各链路信息增设ID信息,获得对应的标准链路信息之后,还可以包括:将各标准链路信息存储至预设数据存储平台。
本优选实施例旨在实现标准链路信息的存储,即将各个标准链路信息存储至预先建立的数据存储空间,即上述预设数据存储平台。具体而言,全链路中链路节点的数量较大,其通过预设通用组件所记录的链路信息数据量更大,因此,在全链路生成过程中,可将各个链路节点的链路信息一同存储至预先数据存储平台,以便实现各链路节点的链路信息的调取,进而生成相应的测试用例,完成全链路测试。
优选的,上述预设数据存储平台可以为Hybrid DB数据库。
对于上述预设数据存储平台,本优选实施例提供了一种具体类型,即Hybrid DB数据库。具体而言,云数据库Hybrid DB是同时支持海量数据在线事务(OLTP,On-LineTransaction Processing)和在线分析(OLAP,On-Line Analytical Processing)的HTAP(Hybrid Transaction/Analytical Processing)关系型数据库,具有易扩展、高兼容、低成本的特性。
当然,以上预设数据存储平台的类型仅为本优选实施例所提供的一种实现方式,并不唯一,还可为其他任意类型的可实现数据存储的数据库或存储介质,如全文检索框架ES等。
S103:根据ID信息对各标准链路信息进行聚合,获得对应的聚合链路;
本步骤旨在实现链路聚合,通过对各个标准链路信息进行聚合,生成对应的聚合链路,在进行聚合链路时,可以根据各个标准链路信息中的ID信息实现,即对具有相同ID信息的标准链路信息进行聚合,获得上述聚合链路。
S104:当聚合链路被调用时,生成对应的测试用例;
本步骤旨在实现测试用例的生成,每个聚合链路都可以被多次调用,每次调用均可以视为一个测试用例,通过运行测试用例即可实现链路测试。
S105:根据测试指令在所有测试用例中确定目标测试用例,并对目标测试用例进行回放测试。
本步骤旨在实现测试用例的回放测试,以实现链路测试,具体而言,可以通过指令解析确定需要测试的链路节点,并根据其ID信息在所有测试用例中查询获得该链路节点对应的测试用例,即上述目标测试用例。进一步,对该目标测试用例进行回放测试,即可获得相应的测试结果,该回放测试过程可基于相应的测试平台实现,由此,实现了全链路中指定链路节点的测试,进一步,通过对全链路中所有链路节点进行测试,即可实现全链路测试。
优选的,上述根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试,可以包括:根据测试指令在所有测试用例中确定目标测试用例,以及目标测试用例对应的目标聚合链路的目标切入点;在目标切入点对目标测试用例进行回放测试。
在现有技术中,需要通过各业务线对参数进行关联查看日志,以确认业务的返回,如图1所示系统A的请求与返回等,进而通过查看业务日志确认接口的返回值是否达到预期,其操作繁琐,效率低下;而且,该种实现方式难以对系统请求的中间件获取数据进行确认,如Kafka、Redis、Mysql数据库等。另外,由于在全链路生成过程中,并未对调用参数等信息进行归纳保存,若想要实现任意两链路节点间出入参数的测试,还需要从用户侧重新发起请求,该实现过程更为繁琐。
因此,为解决上述问题,本优选实施例通过切片式编程实现切入点的自主选择,以实现对全链路中任意链路节点的任意接口进行测试。具体而言,可根据测试指令确定目标测试用例及其对应的目标聚合链路的目标切入点,该目标切入点即为指定的待测接口,进一步,在目标切入点对目标测试用例进行回放测试即可。其中,目标切入点的确定同样可基于ID信息实现,即不同的系统接口预先设定不同的ID信息。
可见,该实施例所提供的全链路测试方法,可以在全链路测试过程中快速高效的确认各切点的入参、出参是否满期望,即便在大的功能改造或者系统重构后,也可以在测试平台选择测试用例后进行回放测试,确认各链路节点的入参、出参是否满足期望,从而确认全链路中的某一环节的改造是否会影响到其它链路节点。另外,还可以实现选择全链路中的任意链路节点进行测试,无需用户重新发起请求,极大的提高了测试效率。
本申请所提供的全链路测试方法,先通过预先建立通用组件,实现对全链路中各个节点的链路信息的采集,再通过为链路信息增设ID体现节点及其生成链路的唯一性,进而生成各个测试用例,由此,在全链路测试过程中,对于每一个节点,均可根据ID信息实现对指定测试用例的回放测试,由此,相较于已有技术中仅能实现全链路中直接与用户进行数据交互的节点的测试,该种实现方式可以有效实现全链路中所有节点的安全性测试,避免了遗留在线上的潜在风险,进而保证了全链路的安全有效。
在上述各实施例的基础上,本申请实施例提供了一种更为具体的全链路测试方法,其具体实现过程如下:
首先,编写全链路中各节点均可调用的用例数据组件(预设通用组件),具体可依赖Google的Drapper之类的Trace平台实现,该用例数据组件可利用切片式编程的方式支持各种通用中间件的扩展,比Mysql、Redis、Kafka等,支持后可对各个组件调用的访问类型,访问方法,出入参数等核心数据进行记录;而且,每次调用均生成唯一ID,具体记录内容可包括各调用来源(from)、去向(to)、调用类型(mysql/redis)、调用方法以及出入参数;进一步,将这些记录进行收集并保存在基于ES或HybridDB等分析型数据库的用例基础数据中心(预设数据存储平台)。
进一步,请参考图3,图3为本申请所提供的一种全链路结构示意图,假设用户访问系统A的某个接口的请求:
1、用户的请求到达系统A后,查询Redis获取所需信息;
2、系统A调用系统B获取或校验相关信息;
3、系统A通过Redis及系统B获取信息,并在确认请求参数满足条件后,请求系统C获取相关信息;
4、系统C接收到请求后,根据请求参数查询Mysql数据库,以获取相关信息;
5、系统C产生消息发送至Kafka,以使系统D获得该消息;系统D对该消息进行处理获得最终结果并返回给系统C;
6、系统C返回最终结果至系统A,系统A再将其返回至用户。
至此,该全链路生成。
进一步,请参考图4,图4为本申请所提供的一种全链路中节点调用信息的记录方法的流程图,在各系统接入用例数据组件之后,即可对每个调用(包括系统和中间件)进行日志记录。其中,A系统调用预设通用组件对五角星形标记的调用进行记录,B系统调用预设通用组件对菱形标记的调用进行记录,C系统调用预设通用组件对三角形标记的调用进行记录。以下即为各系统调用用例数据组件所记录的调用信息:
1、系统A的调用信息:
(1)tid=1 rid=1.1,from=user to=A,type=http method=service,inparams={“apiname”:“api.xxx.chaxun”,“taxnum”:“339901999999142”,“orderno”:“xxx”,}outparams={“正确的期望得到的信息”:“code”:“E200”}
(2)tid=1 rid=1.1.1,from=A to=Redis,type=redismethod=gettoken,inparams=“getvaluewherekey=xxx“appkey””,outparams={“token”:“xxxxxxx”}
(3)tid=1 rid=1.1.2,from=A to=B,type=rpc method=checkid,inparams={“usertaxnum”:“339901999999142”}outparams={“code”:“E200”,“result”:“success”}
(4)tid=1 rid=1.1.3,from=A to=C,type=rpc method=selectinfo,inparams={“token”:“xxxtokenxxxsxx”,“num”:“xxx”,“orderno”:“xxxx”}outparams={“code”:“E200”,“result”:“正确的期望得到的信息”}
2、系统B的调用信息:
(1)tid=1 rid=1.1.2,from=A to=B,type=rpc method=checkid,inparams={“usertaxnum”:“339901999999142”}outparams={“code”:“E200”,“result”:“合法用户”}
(2)tid=1 rid=1.1.2.1,from=B to=Mysql,type=selectsql method=select,inparams={“select*from usertable where taxnum=“339901999999142””}outparams={“用户的基本信息”}
3、系统C的调用信息:
(1)tid=1 rid=1.1.3,from=A to=C,type=rpc method=selectinfo,inparams={“token”:“xxxtokenxxxsxx”,“taxnum”:“339901999999142”,“orderno”:“xxxx”}outparams={“code”:“E200”,“result”:“正确的期望得到的信息”}
(2)tid=1 rid=1.1.3.1,from=C to=Kafka,type=kafka method=createinfo,inparams=“num”:“xxxx”,“orderno”:“xxxx”},outparams={“result”:“success”}
(3)tid=1 rid=1.1.3.2,from=C to=mysql,type=mysql method=insert,inparams=“inert into kptable values xxx”outparams={“result”:“success”}
(4)tid=1 rid=1.1.3.3,from=kafka to=系统D,type=rpc method=selectinfo,inparams={“taxnum”:“339901999999142”,“orderno”:“xxxx”}outparams={“result”:“正确的期望得到的信息”}
(5)tid=1 rid=1.1.3.4,from=C to=A,type=rpc method=returnresult,inparams={“正确的期望得到的信息”}outparams={“result”:“success”}
进一步,请参考图5,图5为本申请所提供的另一种全链路结构示意图,假设用户发起的请求到达系统A后,通过查询Redis及系统B确认请求参数不满足条件,此时,直接返回用户信息,不再请求系统C,至此,该全链路生成。以下即为各系统调用用例数据组件所记录的调用信息:
1、系统A的调用信息:
(1)tid=2 rid=2.1,from=user to=A,type=http method=service,inparams={“apiname”:“nuonuo.xxx.chaxun”,“taxnum”:“errornum”,“orderno”:“xxx”}outparams={“result”:“failed”,“code”:“E201”}
(2)tid=2 rid=2.1.1,from=A to=Redis,type=redis method=gettoken,inparams=“get value where key=xxx“appkey””,outparams={“token”:“xxxxxxx”}
(3)tid=2 rid=2.1.2,from=A to=B,type=rpc method=checkid,inparams={“usertaxnum”:“errornum”}outparams={“code”:“E201”,“result”:“failed”}
2、系统B的调用信息:
(1)tid=2 rid=2.1.2,from=A to=B,type=rpc method=checkid,inparams={“usertaxnum”:“errornum”}outparams={“code”:“E201”,“result”:“failed”}
(2)tid=2 rid=2.1.2.1,from=B to=Mysql,type=selectsql method=select,inparams={“select*from usertable where taxnum=“errornum””}outparams={“查不到此数据”}
进一步,用例平台即可从用例基础数据中心选择链路生成相应的测试用例,对于以上两个全链路,可相应生成两个测试用例;另外,对于同一个链路,可根据关键入参参数值进行归类,不同的参数值对应不同的业务链路,同一个链路可根据关键参数归类,同样可生成多条测试用例。
进一步,通过回归平台选择测试用例进行回放测试,具体的,可以选择用例平台上的测试用例自动请求接口进行回放测试,也可以自主选择切入点进行回归,如只回归系统A调系统B接口,或只回归系统A调系统C接口等,可有效解决全链路测试中仅能从用户处发起请求的问题。
由此可见,本申请实施例所提供的全链路测试方法,先通过预先建立通用组件,实现对全链路中各个节点的链路信息的采集,再通过为链路信息增设ID体现节点及其生成链路的唯一性,进而生成各个测试用例,由此,在全链路测试过程中,对于每一个节点,均可根据ID信息实现对指定测试用例的回放测试,由此,相较于已有技术中仅能实现全链路中直接与用户进行数据交互的节点的测试,该种实现方式可以有效实现全链路中所有节点的安全性测试,避免了遗留在线上的潜在风险,进而保证了全链路的安全有效。
为解决上述问题,请参考图6,图6为本申请所提供的一种全链路测试处理装置的结构示意图,该全链路测试装置可包括:
数据采集模块10,用于利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
ID配置模块20,用于对各链路信息增设ID信息,获得对应的标准链路信息;
链路聚合模块30,用于根据ID信息对各标准链路信息进行聚合,获得对应的聚合链路;
链路调用模块40,用于当聚合链路被调用时,生成对应的测试用例;
回放测试模块50,用于根据测试指令在所有测试用例中确定目标测试用例,并对目标测试用例进行回放测试。
作为一种优选实施例,该全链路测试装置还可以包括信息存储模块,用于将各标准链路信息存储至预设数据存储平台。
作为一种优选实施例,上述回放测试模块50可具体用于根据测试指令在所有测试用例中确定目标测试用例,以及目标测试用例对应的目标聚合链路的目标切入点;在目标切入点对目标测试用例进行回放测试。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,请参考图7,图7为本申请所提供的一种全链路测试系统的结构示意图,该全链路测试系统可包括:
存储器11,用于存储计算机程序;
处理器12,用于执行计算机程序时实现如上述任意一种全链路测试方法的步骤。
对于本申请提供的系统的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种全链路测试方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的全链路测试方法、装置、系统以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。
Claims (10)
1.一种全链路测试方法,其特征在于,包括:
利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
对各所述链路信息增设ID信息,获得对应的标准链路信息;
根据所述ID信息对各所述标准链路信息进行聚合,获得对应的聚合链路;
当所述聚合链路被调用时,生成对应的测试用例;
根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试。
2.如权利要求1所述的全链路测试方法,其特征在于,所述链路信息包括所述链路节点的调用来源信息,调用去向信息,调用类型信息,调用方法信息以及出入参数信息。
3.如权利要求1所述的全链路测试方法,其特征在于,所述对各所述链路信息增设ID信息,获得对应的标准链路信息之后,还包括:
将各所述标准链路信息存储至预设数据存储平台。
4.如权利要求3所述的全链路测试方法,其特征在于,所述预设数据存储平台为HybridDB数据库。
5.如权利要求1至4任意一项所述的全链路测试方法,其特征在于,所述根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试,包括:
根据所述测试指令在所有所述测试用例中确定目标测试用例,以及所述目标测试用例对应的目标聚合链路的目标切入点;
在所述目标切入点对所述目标测试用例进行所述回放测试。
6.一种全链路测试装置,其特征在于,包括:
数据采集模块,用于利用预设通用组件对各链路节点进行数据采集,获得对应的链路信息;
ID配置模块,用于对各所述链路信息增设ID信息,获得对应的标准链路信息;
链路聚合模块,用于根据所述ID信息对各标准链路信息进行聚合,获得对应的聚合链路;
链路调用模块,用于当所述聚合链路被调用时,生成对应的测试用例;
回放测试模块,用于根据测试指令在所有所述测试用例中确定目标测试用例,并对所述目标测试用例进行回放测试。
7.如权利要求6所述的全链路测试装置,其特征在于,还包括:
信息存储模块,用于将各所述标准链路信息存储至预设数据存储平台。
8.如权利要求6或7所述的全链路测试装置,其特征在于,所述回放测试模块具体用于根据所述测试指令在所有所述测试用例中确定目标测试用例,以及所述目标测试用例对应的目标聚合链路的目标切入点;在所述目标切入点对所述目标测试用例进行所述回放测试。
9.一种全链路测试系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任意一项所述的全链路测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述的全链路测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911283800.8A CN111078551B (zh) | 2019-12-13 | 2019-12-13 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911283800.8A CN111078551B (zh) | 2019-12-13 | 2019-12-13 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078551A true CN111078551A (zh) | 2020-04-28 |
CN111078551B CN111078551B (zh) | 2023-09-22 |
Family
ID=70314525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911283800.8A Active CN111078551B (zh) | 2019-12-13 | 2019-12-13 | 一种全链路测试方法、装置、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078551B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708712A (zh) * | 2020-06-24 | 2020-09-25 | 北京自如信息科技有限公司 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
CN112905488A (zh) * | 2021-03-30 | 2021-06-04 | 平安国际智慧城市科技股份有限公司 | 链路测试方法、装置、计算机设备及存储介质 |
CN113381909A (zh) * | 2021-06-08 | 2021-09-10 | 中国工商银行股份有限公司 | 全链路压测方法及装置 |
CN113448844A (zh) * | 2021-06-21 | 2021-09-28 | 青岛海尔科技有限公司 | 用于回归测试的方法及装置、电子设备 |
CN117707936A (zh) * | 2023-11-28 | 2024-03-15 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222777A1 (en) * | 2009-02-05 | 2009-09-03 | Pawate Basavaraj I | Links and Chains Verification and Validation Methodology for Digital Devices |
US20140177455A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus to monitor and analyze end to end flow control in an ethernet/enhanced ethernet environment |
US20170046245A1 (en) * | 2015-08-13 | 2017-02-16 | Ca, Inc. | Method and Apparatus for Recommending Regression Tests |
CN108183927A (zh) * | 2017-11-22 | 2018-06-19 | 链家网(北京)科技有限公司 | 一种分布式系统中链路调用的监控方法及系统 |
CN109032923A (zh) * | 2018-06-21 | 2018-12-18 | 深圳壹账通智能科技有限公司 | 基于调用链的软件测试方法、装置、终端 |
CN109062809A (zh) * | 2018-09-20 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种线上测试用例生成方法、装置及电子设备 |
CN109189665A (zh) * | 2018-08-01 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据录制、数据回放和自动测试的方法及装置 |
CN109614330A (zh) * | 2018-12-06 | 2019-04-12 | 广东浪潮大数据研究有限公司 | 存储系统业务测试方法、装置、系统、存储控制器及介质 |
CN110196800A (zh) * | 2018-02-24 | 2019-09-03 | 财付通支付科技有限公司 | 分布式事务测试方法、装置及系统 |
-
2019
- 2019-12-13 CN CN201911283800.8A patent/CN111078551B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222777A1 (en) * | 2009-02-05 | 2009-09-03 | Pawate Basavaraj I | Links and Chains Verification and Validation Methodology for Digital Devices |
US20140177455A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus to monitor and analyze end to end flow control in an ethernet/enhanced ethernet environment |
US20170046245A1 (en) * | 2015-08-13 | 2017-02-16 | Ca, Inc. | Method and Apparatus for Recommending Regression Tests |
CN108183927A (zh) * | 2017-11-22 | 2018-06-19 | 链家网(北京)科技有限公司 | 一种分布式系统中链路调用的监控方法及系统 |
CN110196800A (zh) * | 2018-02-24 | 2019-09-03 | 财付通支付科技有限公司 | 分布式事务测试方法、装置及系统 |
CN109032923A (zh) * | 2018-06-21 | 2018-12-18 | 深圳壹账通智能科技有限公司 | 基于调用链的软件测试方法、装置、终端 |
CN109189665A (zh) * | 2018-08-01 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据录制、数据回放和自动测试的方法及装置 |
CN109062809A (zh) * | 2018-09-20 | 2018-12-21 | 北京奇艺世纪科技有限公司 | 一种线上测试用例生成方法、装置及电子设备 |
CN109614330A (zh) * | 2018-12-06 | 2019-04-12 | 广东浪潮大数据研究有限公司 | 存储系统业务测试方法、装置、系统、存储控制器及介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708712A (zh) * | 2020-06-24 | 2020-09-25 | 北京自如信息科技有限公司 | 用户行为测试用例的生成方法、流量回放方法及电子设备 |
CN112905488A (zh) * | 2021-03-30 | 2021-06-04 | 平安国际智慧城市科技股份有限公司 | 链路测试方法、装置、计算机设备及存储介质 |
CN113381909A (zh) * | 2021-06-08 | 2021-09-10 | 中国工商银行股份有限公司 | 全链路压测方法及装置 |
CN113448844A (zh) * | 2021-06-21 | 2021-09-28 | 青岛海尔科技有限公司 | 用于回归测试的方法及装置、电子设备 |
CN117707936A (zh) * | 2023-11-28 | 2024-03-15 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
CN117707936B (zh) * | 2023-11-28 | 2024-06-11 | 海通证券股份有限公司 | 多系统多版本全链路测试方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111078551B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078551A (zh) | 一种全链路测试方法、装置、系统及计算机可读存储介质 | |
US11921606B2 (en) | Methods and systems for determining system capacity | |
CN110245078B (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
CN107122258B (zh) | 用于测试接口的状态码校验的方法及设备 | |
CN111522922B (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
CN108319547B (zh) | 测试用例生成方法、装置和系统 | |
CN107122296B (zh) | 用于测试接口的数据断言的方法及设备 | |
US11102081B1 (en) | Quantitative network testing framework for 5G and subsequent generation networks | |
CN107092535B (zh) | 用于测试接口的数据存储的方法及设备 | |
CN110598280A (zh) | 一种设备仿真系统和方法、计算机可读存储介质 | |
JP2015508543A (ja) | 店舗訪問データを処理すること | |
CN109885496B (zh) | 测试日志管理方法及系统 | |
CN111176918A (zh) | 一种服务器测试方法、系统、设备及计算机可读存储介质 | |
CN113688025A (zh) | 接口测试方法、装置、设备和存储介质 | |
CN112988589A (zh) | 一种接口测试方法、装置和系统 | |
CN111400171B (zh) | 一种接口测试方法、系统、装置及可读存储介质 | |
CN112948262A (zh) | 一种系统测试方法、装置、计算机设备和存储介质 | |
CN111435327B (zh) | 一种日志记录的处理方法、装置及系统 | |
CN111294613A (zh) | 一种视频处理方法、客户端、服务器 | |
CN109389271B (zh) | 应用性能管理方法及系统 | |
CN109933506A (zh) | 服务器大数据性能评价方法、系统及电子设备和存储介质 | |
CN114942878A (zh) | 互联网应用的自动化性能测试方法及相关设备 | |
CN112965745A (zh) | 一种系统接入方法、装置、设备及计算机可读介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN111061543A (zh) | 一种多租户工作流引擎服务方法、装置及服务器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |