CN111767227A - 一种录制回放测试的方法及装置 - Google Patents
一种录制回放测试的方法及装置 Download PDFInfo
- Publication number
- CN111767227A CN111767227A CN202010613970.4A CN202010613970A CN111767227A CN 111767227 A CN111767227 A CN 111767227A CN 202010613970 A CN202010613970 A CN 202010613970A CN 111767227 A CN111767227 A CN 111767227A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- data
- playback
- recording
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
Abstract
本发明涉及金融科技(Fintech)领域,并公开了一种录制回放测试的方法及装置,方法包括:基于测试用例生成针对多接口的测试请求;在多接口运行测试请求时采集各接口的测试数据;其中,至少一个接口的测试数据包括在接口运行前采集的第一数据和在接口运行后采集的第二数据;第一数据包括输入接口的用例变量参数;第二数据包括接口的请求报文和接口的响应报文;记录接口的测试数据作为接口的回放测试。本发明通过在接口运行前采集第一数据和在接口运行后采集第二数据,使得在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,使得测试过程更加高效。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种录制回放测试的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:分布式架构、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出的更高的要求。
当前针对子系统测试的步骤流程一般分为两个部分,分别为接口录制测试以及接口回放测试。
接口录制测试具体为以下步骤:
1、为需要回放的请求报文配置对应的标识。
2、发送请求报文。
3、接口响应后,将请求报文以及响应得到的基准报文持久化存储至数据库。
接口回放测试具体为以下步骤:
1、通过配置的请求报文对应的标识触发接口回放测试。
2、通过请求报文对应的标识获取接口请求报文。
3、发送获取的接口请求报文。
4、采集请求报文对应的响应报文。
上述方案针对单子系统流量回放测试,无法串联多子系统多接口流量回放测试。
发明内容
本申请提供了一种录制回放测试的方法及装置,用以解决如何高效准确的进行多接口的录制回放测试的问题。
第一方面,本申请实施例提供一种录制测试的方法,包括:
基于测试用例生成针对所述多接口的测试请求;
基于测试用例生成针对所述多接口的测试请求;
在所述多接口运行所述测试请求时采集各接口的测试数据;其中,针对与第i接口存在依赖关系的第i+1接口,所述第i+1接口的测试数据包括在所述第i接口运行后且所述第i+1接口运行前采集的第一数据和所述第i+1接口运行后采集的第二数据;所述第一数据包括输入所述i+1接口的用例变量参数;所述第二数据包括所述i+1接口的请求报文和所述i+1接口的响应报文;
记录各接口的测试数据用于各接口的回放测试。
上述方案,通过在各接口运行前采集第一数据和在各接口运行后采集第二数据,同时第一数据包括输入各接口的用例变量参数,第二数据包括各接口的请求报文和所述各接口的响应报文,使得在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,而不是在测试目标接口时必须要测试其它接口,使得测试过程更加高效。
可选的,所述方法还包括:所述记录各接口的测试数据,包括:
根据所述各接口的测试版本确定用于记录所述各接口的测试数据的数据库;
根据所述各接口的运行环境确定在所述数据库中用于记录所述各接口的测试数据的数据表;
将所述各接口的测试数据记录于所述数据库的所述数据表中。
上述方案,通过根据各接口的测试版本确定用于记录各接口的测试数据的数据库以及根据各接口的运行环境确定在数据库中用于记录各接口的测试数据的数据表,基于分库分表策略使得各接口的测试数据在记录时更加条理化,提高了后续测试的效率以及准确性。
第二方面,本申请实施例提供一种回放测试的方法,包括:
确定待回放的接口;
查找所述接口的测试数据;所述接口的测试数据包括在录制测试过程中所述接口依赖的接口运行后且所述接口运行前采集的第一数据和在录制测试过程中所述接口运行后采集的第二数据;所述第一数据包括输入所述接口的用例变量参数;所述第二数据包括所述接口的请求报文和所述接口的响应报文;
根据所述接口的用例变量参数和所述接口的请求报文,对所述接口进行回放测试,得到所述接口的回放响应报文;
根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果。
上述方案,通过在录制测试过程中接口运行前采集的第一数据和在录制测试过程中接口运行后采集的第二数据查找接口的测试数据提高了回放测试的效率,同时在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,使得测试过程更加高效,节省资源。
可选的,所述确定待回放的接口包括:
确定所述接口的测试版本和所述接口的运行环境;
查找所述接口的测试数据,包括:
根据所述接口的测试版本和所述接口的运行环境,确定记录所述接口的测试数据的数据库的数据表;
从所述数据库的数据表中查找所述接口的测试数据。
上述方案,通过根据接口的测试版本和接口的运行环境,确定记录接口的测试数据的数据库的数据表,从数据库的数据表中查找接口的测试数据,基于分库分表策略使得接口的测试数据在记录时更加条理化,提高了后续测试的效率以及准确性。
可选的,所述方法还包括:
将所述接口的回放响应报文记录于所述接口的测试数据中。
上述方案,将最近N次响应记录,使得测试数据更加完整可靠。
可选的,所述根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果,包括:
基于深度优先算法遍历所述接口的响应报文,得到第一参数路径和第一参数值;
基于深度优先算法遍历所述接口的回放响应报文,得到第二参数路径和第二参数值;
根据所述第一参数路径和所述第二参数路径的比较结果,及同一参数路径下的第一参数值与第二参数值的比较结果,确定所述回放结果。
上述方案,基于深度优先算法比较接口的响应报文和接口的回放响应报文,从而使得回放结果更加准确,提高了测试效率。
第三方面,本申请实施例提供一种录制测试的装置,所述装置包括:
采集模块,基于测试用例生成针对所述多接口的测试请求;在所述多接口运行所述测试请求时采集各接口的测试数据;其中,针对与第i接口存在依赖关系的第i+1接口,所述第i+1接口的测试数据包括在所述第i接口运行后且所述第i+1接口运行前采集的第一数据和所述第i+1接口运行后采集的第二数据;所述第一数据包括输入所述i+1接口的用例变量参数;所述第二数据包括所述i+1接口的请求报文和所述i+1接口的响应报文;
记录模块,用于记录各接口的测试数据用于各接口的回放测试。
可选的,所述记录模块具体用于:
根据所述各接口的测试版本确定用于记录所述各接口的测试数据的数据库;
根据所述各接口的运行环境确定在所述数据库中用于记录所述各接口的测试数据的数据表;
将所述各接口的测试数据记录于所述数据库的所述数据表中。
第四方面,本申请实施例提供一种回放测试的装置,所述装置包括:
获取模块,用于确定待回放的接口;查找所述接口的测试数据;所述接口的测试数据包括在录制测试过程中所述接口依赖的接口运行后且所述接口运行前采集的第一数据和在录制测试过程中所述接口运行后采集的第二数据;所述第一数据包括输入所述接口的用例变量参数;所述第二数据包括所述接口的请求报文和所述接口的响应报文;
处理模块,用于根据所述接口的用例变量参数和所述接口的请求报文,对所述接口进行回放测试,得到所述接口的回放响应报文;
根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果。
可选的,所述获取模块具体用于:
确定所述接口的测试版本和所述接口的运行环境;
查找所述接口的测试数据,包括:
根据所述接口的测试版本和所述接口的运行环境,确定记录所述接口的测试数据的数据库的数据表;
从所述数据库的数据表中查找所述接口的测试数据。
可选的,所述处理模块还用于:
将所述接口的回放响应报文记录于所述接口的测试数据中。
可选的,所述处理模块具体用于:
基于深度优先算法遍历所述接口的响应报文,得到第一参数路径和第一参数值;
基于深度优先算法遍历所述接口的回放响应报文,得到第二参数路径和第二参数值;
根据所述第一参数路径和所述第二参数路径的比较结果,及同一参数路径下的第一参数值与第二参数值的比较结果,确定所述回放结果。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述录制回放测试的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述录制回放测试的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种录制测试的方法的系统框架;
图2为本发明实施例提供的一种录制测试的方法的流程示意图;
图3为本发明实施例提供的一种录制测试的方法的分库分表示意图;
图4为本发明实施例提供的一种回放测试的方法的系统框架;
图5为本发明实施例提供的一种回放测试的方法的流程示意图;
图6为本发明实施例提供的一种录制测试的装置的结构示意图;
图7为本发明实施例提供的一种回放测试的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,对本申请中的部分用语进行解释说明,以便使本领域技术人员理解。
测试用例:指对一项特定的软件产品进行测试任务的描述,这里主要指接口测试相关用例。
回放测试:基于上一版本系统接口的测试数据对未来版本的系统接口进行测试。
在介绍本发明实施例之前,结合具体实施例阐述现有技术如下,以使更好的理解本发明。
现有技术方案的步骤流程主要针对单接口流量录制与流量回放。
举例来说,当对多接口进行测试时,现有技术将多接口分为多个单接口按顺序进行测试。
比如对接口1、接口2、接口3进行测试,现有技术在录制时首先配置接口1流量标识A,采集接口1流量并存储;即采集输入接口1的请求报文和接口1输出的响应报文;接着配置接口2流量标识B,从接口1为入口,接口2位出口,采集接口2流量并存储;即采集输入接口1的请求报文和采集接口2输出的响应报文。最后配置接口3流量标识C,通过接口1和接口2,采集接口3流量并存储;即采集输入接口1的请求报文和采集接口3输出的响应报文。
同样的,现有技术在回放时首先根据流量标识A获取接口1流量进行回放,然后根据流量标识B获取接口2流量进行回放,最后根据流量标识C获取接口3流量进行回放。
从上述方案可以看出,在只需要测试接口3的情况下,仍需按顺序先将接口1以及接口2进行回放。
基于此,本发明实施例提供一种录制测试的方法,本发明实施例提供的录制测试的方法,可以适用于如图1所示的系统架构中,该系统架构包括请求方100,被测系统200,采集存储器300。
其中,请求方100基于测试用例生成针对多被测系统200的多接口的测试请求。
采集存储器300用于在多个被测系统200运行测试请求时采集各接口的测试数据。
采集存储器300用于记录各接口的测试数据用于各接口的回放测试。
需要说明的是,图1仅是本申请实施例系统架构的一种示例,本申请对此不做具体限定。
基于上述所示意的系统架构,图2为本发明实施例提供的一种录制测试的方法所对应的流程示意图,适用于对存在依赖关系的多接口的录制测试,如图2所示,该方法包括:
步骤201,基于测试用例生成针对多接口的测试请求。
步骤202,在多接口运行测试请求时采集各接口的测试数据。
需要说明的是,其中,针对与第i接口存在依赖关系的第i+1接口,第i+1接口的测试数据包括在第i接口运行后且第i+1接口运行前采集的第一数据和第i+1接口运行后采集的第二数据;第一数据包括输入i+1接口的用例变量参数;第二数据包括i+1接口的请求报文和i+1接口的响应报文。
步骤203,记录各接口的测试数据用于各接口的回放测试。
本申请实施例在步骤201中,配置测试用例的具体步骤如下:
S2011,配置测试用例的测试步骤,接口的测试版本和运行环境。
需要说明的是,每一个测试步骤对应一个被测系统的接口,配置测试步骤的过程即配置多个被测系统的接口测试顺序的过程。
举例来说,对于三个接口P、Q、R,一共有6种测试顺序,分别为PQR、PRQ、QRP、QPR、RPQ、RQP,可以看出,在PQR、PRQ的顺序中,接口Q分别为测试步骤2和测试步骤3。
在一种可能的实施方式中,测试步骤可以为被测系统的接口和辅助函数。
进一步的,测试用例需要配置测试版本和运行环境。
本申请实施例中,在配置测试用例的测试步骤、测试版本和运行环境完成后,触发测试用例运行。
需要说明的是,触发测试用例运行可以由人工触发,也可以为预设的定时触发,本申请对此不做具体限定。
本申请实施例在步骤202中,在一种可能的实施方式中,通过面向切面编程技术(Aspect Oriented Programming,AOP)采集各接口的测试数据。
具体的,对于需要回放的测试用例,在一种可能的实施方式中,使用AOP技术将测试用例采集程序挂载至运行测试用例的程序,采集程序将在测试用例测试步骤执行前采集一次测试数据即第一数据,在执行后采集一次测试数据即第二数据。在另一种可能的实施方式中,使用AOP技术通过采集存储服务器在测试用例测试步骤执行前后各采集一次测试数据,如图3所示。
需要说明的是,在一种可能的实施方式中,第一数据包括输入接口的用例变量参数,第二数据包括接口的请求报文和接口的响应报文。在另一种可能的实施方式中,第一数据包括输入接口的用例变量参数以及接口的请求报文,第二数据包括接口的响应报文。
进一步的,在步骤203中,记录各接口的测试数据用于各接口的回放测试;
具体的,根据各接口的测试版本确定用于记录各接口的测试数据的数据库;
根据各接口的运行环境确定在数据库中用于记录各接口的测试数据的数据表;
将各接口的测试数据记录于数据库的数据表中。
需要说明的是,上述方案根据接口的测试版本和运行环境采用分库分表技术持久化存储测试数据。
上述方案,通过在各接口运行前采集第一数据和在各接口运行后采集第二数据,同时第一数据包括输入各接口的用例变量参数,第二数据包括各接口的请求报文和所述各接口的响应报文,使得在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,而不是在测试目标接口时必须要测试其它接口,使得测试过程更加高效。
本申请实施例中,在一种可能的实施方式中,采集后的测试数据存储数据格式如表一(用例变量参数流量)以及表二(接口流量)所示。
需要说明的是,表一用于指示根据用例标识、测试步骤、测试版本以及运行环境查找对应的用例变量参数。表二用于指示根据用例标识、测试步骤、测试版本以及运行环境查找对应的请求报文以及响应报文。
表一
用例标识 | 测试步骤 | 测试版本 | 运行环境 | 用例变量参数 |
1001 | 3 | 1.0.0 | A | {“v_var1”:“xxx”} |
1001 | 4 | 1.0.0 | A | {“v_var2”:“xxx”} |
1001 | 5 | 1.0.0 | A | {“v_var3”:“xxx”} |
1002 | 3 | 1.0.0 | B | {“v_var4”:“xxx”} |
1002 | 4 | 1.0.0 | B | {“v_var5”:“xxx”} |
1002 | 5 | 1.0.0 | B | {“v_var6”:“xxx”} |
从表一中可以看出,举例来说,根据测试版本1.0.0以及运行环境B确定用于记录接口的测试数据的数据库,接着根据用例标识1002以及测试步骤3确定在所数据库中用于记录接口的测试数据的数据表,可以查找得到对应的用例变量参数为{“v_var4”:“xxx”}。
表二
从表二中可以看出,举例来说,根据测试版本1.0.0以及运行环境A确定用于记录接口的测试数据的数据库,接着根据用例标识1001以及测试步骤4确定在所数据库中用于记录接口的测试数据的数据表,可以查找得到对应的接口标识为01100002,请求报文为{“param1”:“xxx”,“param2”:“xxx”},当次响应报文为{“code”:“xxx”,“message”:“xxx”},最近第1次响应报文为{“code”:“xxx”,“message”:“xxx”}。
进一步的,基于测试版本和运行环境确定分库分表策略,如图3所示。
从图3可以看出,接口标识为01100001的接口对应测试步骤的序号为1,接口标识为0110000,2的接口对应测试步骤的序号为2,数据库S对应的测试版本为1.2.X,数据库T对应的测试版本为1.3.X,数据表a对应测试版本1.2.67,以及测试环境A;数据表b对应测试版本1.3.0以及测试环境A;数据表c对应测试版本1.3.0以及测试环境B。
上述方案,通过在接口运行前采集第一数据和在接口运行后采集第二数据,同时第一数据包括输入接口的用例变量参数,第二数据包括接口的请求报文和所述接口的响应报文,使得在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,使得测试过程更加高效。
进一步的,本发明实施例提供一种回放测试的方法,本发明实施例提供的回放测试的方法,可以适用于如图4所示的系统架构中,该系统架构包括请求方400,被测系统500,采集存储器600,分析器700。
其中,请求方400用于确定待回放的被测系统500,查找被测系统500的测试数据。采集存储器600在对被测系统500进行回放测试后,得到被测系统500的回放响应报文。
分析器700根据被测系统500接口的响应报文和接口的回放响应报文,确定回放结果。
需要说明的是,图4仅是本申请实施例系统架构的一种示例,本申请对此不做具体限定。
基于上述所示意的系统架构,图5为本发明实施例提供的一种回放测试的方法所对应的流程示意图,如图5所示,该方法包括:
步骤501,确定待回放的接口。
步骤502,查找所述接口的测试数据。
需要说明的是,接口的测试数据包括在录制测试过程中接口依赖的接口运行后且接口运行前采集的第一数据和在录制测试过程中接口运行后采集的第二数据;第一数据包括输入接口的用例变量参数;第二数据包括接口的请求报文和接口的响应报文。
步骤503,根据接口的用例变量参数和接口的请求报文,对接口进行回放测试,得到接口的回放响应报文。
步骤504,根据接口的响应报文和接口的回放响应报文,确定回放结果。
在步骤501中,确定接口的测试版本和接口的运行环境;
查找接口的测试数据,具体为:
根据接口的测试版本和接口的运行环境,确定记录接口的测试数据的数据库的数据表;
从数据库的数据表中查找接口的测试数据。
上述方案,通过根据接口的测试版本和接口的运行环境,确定记录接口的测试数据的数据库的数据表,从数据库的数据表中查找接口的测试数据,基于分库分表策略使得接口的测试数据在记录时更加条理化,提高了后续测试的效率以及准确性。
在步骤502中,根据回放需求确定用测试版本,运行环境,用例的用例标识和测试步骤,触发回放。
具体的,根据测试版本,运行环境采用分库分表策略获取接口的测试数据。
在步骤503中,加载接口的测试数据包含用例变量参数、接口的请求报文以及接口的响应报文。
在步骤504之后,将接口的回放响应报文记录于接口的测试数据中。
举例来说,测试用例a拥有测试步骤3、4、5、6、7、8、9、10,根据回放需求触发回放测试步骤7,测试用例执行过程中,直接忽略测试步骤3、4、5、6,来到测试步骤7,基于分库分表策略获取的测试数据,具体为如下步骤:
(1)触发测试用例指定测试步骤回放;
(2)测试用例前置其他测试步骤,直接来到目标回放测试步骤即测试步骤7;
(3)提取测试版本,测试环境,基于分库分表策略获取测试步骤7的测试数据,即用例变量参数、请求报文和响应报文。
(4)加载用例变量参数d,创建用例变量名称-值映射表m,遍历当前内存空间已存在的用例变量,如果用例变量i的名称存在于映射表m,获取映射表对应的值v,替换当前用例变量的值为v。
(5)加载测试数据,获取请求报文数据requestData和最近响应报文数据responseDatal、responseData2、responseData3、…responseDataN,替换当前测试步骤请求报文数据为requestDatal,并存储最近N次响应报文。
本申请实施例在步骤504中,基于深度优先算法遍历接口的响应报文,得到第一参数路径和第一参数值;
基于深度优先算法遍历接口的回放响应报文,得到第二参数路径和第二参数值;
根据第一参数路径和第二参数路径的比较结果,及同一参数路径下的第一参数值与第二参数值的比较结果,确定回放结果。
举例来说,将回放响应报文与响应报文即基准响应报文对比验证,并存储回放响应报文。
进一步的,对比算法以json响应报文数据格式为例,针对回放响应json报文数据a,基准响应json报文数据b,具体步骤如下:
1、基于深度优先搜索算法,遍历回放响应json报文数据a,解析所有参数路径及其值,建立参数路径-值映射表Ma;
2、基于深度优先搜索算法,遍历基准响应json报文数据b,解析所有参数路径及其值,建立参数路径-值映射装Mb;
3、基于参数路径-值映射表Mb,遍历其所有参数路径,对于参数路径i,查找其在映射表Ma的值,如果值不存在或者不相等,对比验证失败;如果所有数路径在映射表Mb的值都存在于映射表Ma并且相等,则对比验证通过。
上述方案,基于深度优先算法比较接口的响应报文和接口的回放响应报文,从而使得回放结果更加准确,提高了测试效率。
进一步的,本申请实施例可以应用于兼容性测试中:
具体的,在更新版本并且要求新版本兼容旧版本功能时,此时需要进行兼容性测试,根据需求指定旧版本的测试用例对新版本的被测系统接口进行回放测试,从而本申请支持多子系统接口版本兼容性测试。
进一步的,本申请实施例可以应用于大数据测试中:
具体的,对于大数据测试,在整体测试周期中,大数据跑批即结账周期占比较大,本申请提供的测试用例使得批后验证周期占比较小,可以基于大数据跑批周期正确测试数据,反复验证测试用例批后验证测试,从而本申请实现银行相关跑批流程的测试。
上述方案,通过在录制测试过程中接口运行前采集的第一数据和在录制测试过程中接口运行后采集的第二数据查找接口的测试数据提高了回放测试的效率,同时在对多接口进行测试时,与其它接口解耦,即可以直接测试目标接口,使得测试过程更加高效,节省资源。
基于同一发明构思,图6示例性的示出了本发明实施例提供的一种录制测试的装置,该装置可以为一种录制测试的方法的流程。
所述装置,包括:
采集模块601,基于测试用例生成针对所述多接口的测试请求;在所述多接口运行所述测试请求时采集各接口的测试数据;其中,针对与第i接口存在依赖关系的第i+1接口,所述第i+1接口的测试数据包括在所述第i接口运行后且所述第i+1接口运行前采集的第一数据和所述第i+1接口运行后采集的第二数据;所述第一数据包括输入所述i+1接口的用例变量参数;所述第二数据包括所述i+1接口的请求报文和所述i+1接口的响应报文;
记录模块602,用于记录各接口的测试数据用于各接口的回放测试。
可选的,所述记录模块602具体用于:
根据所述各接口的测试版本确定用于记录所述各接口的测试数据的数据库;
根据所述各接口的运行环境确定在所述数据库中用于记录所述各接口的测试数据的数据表;
将所述各接口的测试数据记录于所述数据库的所述数据表中。
基于同一发明构思,图7示例性的示出了本发明实施例提供的一种回放测试的装置,该装置可以为回放测试的方法的流程。
获取模块701,用于确定待回放的接口;查找所述接口的测试数据;所述接口的测试数据包括在录制测试过程中所述接口依赖的接口运行后且所述接口运行前采集的第一数据和在录制测试过程中所述接口运行后采集的第二数据;所述第一数据包括输入所述接口的用例变量参数;所述第二数据包括所述接口的请求报文和所述接口的响应报文;
处理模块702,用于根据所述接口的用例变量参数和所述接口的请求报文,对所述接口进行回放测试,得到所述接口的回放响应报文;
根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果。
可选的,所述获取模块701具体用于:
确定所述接口的测试版本和所述接口的运行环境;
查找所述接口的测试数据,包括:
根据所述接口的测试版本和所述接口的运行环境,确定记录所述接口的测试数据的数据库的数据表;
从所述数据库的数据表中查找所述接口的测试数据。
可选的,所述处理模块702还用于:
将所述接口的回放响应报文记录于所述接口的测试数据中。
可选的,所述处理模块702具体用于:
基于深度优先算法遍历所述接口的响应报文,得到第一参数路径和第一参数值;
基于深度优先算法遍历所述接口的回放响应报文,得到第二参数路径和第二参数值;
根据所述第一参数路径和所述第二参数路径的比较结果,及同一参数路径下的第一参数值与第二参数值的比较结果,确定所述回放结果。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种录制测试的方法,其特征在于,适用于对存在依赖关系的多接口的录制测试,所述方法包括:
基于测试用例生成针对所述多接口的测试请求;
在所述多接口运行所述测试请求时采集各接口的测试数据;其中,针对与第i接口存在依赖关系的第i+1接口,所述第i+1接口的测试数据包括在所述第i接口运行后且所述第i+1接口运行前采集的第一数据和所述第i+1接口运行后采集的第二数据;所述第一数据包括输入所述i+1接口的用例变量参数;所述第二数据包括所述i+1接口的请求报文和所述i+1接口的响应报文;
记录各接口的测试数据用于各接口的回放测试。
2.如权利要求1所述的方法,其特征在于,所述记录各接口的测试数据,包括:
根据所述各接口的测试版本确定用于记录所述各接口的测试数据的数据库;
根据所述各接口的运行环境确定在所述数据库中用于记录所述各接口的测试数据的数据表;
将所述各接口的测试数据记录于所述数据库的所述数据表中。
3.一种回放测试的方法,其特征在于,所述方法包括:
确定待回放的接口;
查找所述接口的测试数据;所述接口的测试数据包括在录制测试过程中所述接口依赖的接口运行后且所述接口运行前采集的第一数据和在录制测试过程中所述接口运行后采集的第二数据;所述第一数据包括输入所述接口的用例变量参数;所述第二数据包括所述接口的请求报文和所述接口的响应报文;
根据所述接口的用例变量参数和所述接口的请求报文,对所述接口进行回放测试,得到所述接口的回放响应报文;
根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果。
4.如权利要求3所述的方法,其特征在于,所述确定待回放的接口包括:
确定所述接口的测试版本和所述接口的运行环境;
查找所述接口的测试数据,包括:
根据所述接口的测试版本和所述接口的运行环境,确定记录所述接口的测试数据的数据库的数据表;
从所述数据库的数据表中查找所述接口的测试数据。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
将所述接口的回放响应报文记录于所述接口的测试数据中。
6.如权利要求3所述的方法,其特征在于,所述根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果,包括:
基于深度优先算法遍历所述接口的响应报文,得到第一参数路径和第一参数值;
基于深度优先算法遍历所述接口的回放响应报文,得到第二参数路径和第二参数值;
根据所述第一参数路径和所述第二参数路径的比较结果,及同一参数路径下的第一参数值与第二参数值的比较结果,确定所述回放结果。
7.一种录制测试的装置,其特征在于,适用于对存在依赖关系的多接口的录制测试,包括:
采集模块,用于基于测试用例生成针对所述多接口的测试请求;在所述多接口运行所述测试请求时采集各接口的测试数据;其中,针对与第i接口存在依赖关系的第i+1接口,所述第i+1接口的测试数据包括在所述第i接口运行后且所述第i+1接口运行前采集的第一数据和所述第i+1接口运行后采集的第二数据;所述第一数据包括输入所述i+1接口的用例变量参数;所述第二数据包括所述i+1接口的请求报文和所述i+1接口的响应报文;
记录模块,用于记录各接口的测试数据用于各接口的回放测试。
8.一种回放测试的装置,其特征在于,包括:
获取模块,用于确定待回放的接口;查找所述接口的测试数据;所述接口的测试数据包括在录制测试过程中所述接口依赖的接口运行后且所述接口运行前采集的第一数据和在录制测试过程中所述接口运行后采集的第二数据;所述第一数据包括输入所述接口的用例变量参数;所述第二数据包括所述接口的请求报文和所述接口的响应报文;
处理模块,用于根据所述接口的用例变量参数和所述接口的请求报文,对所述接口进行回放测试,得到所述接口的回放响应报文;
根据所述接口的响应报文和所述接口的回放响应报文,确定回放结果。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至6任一项所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613970.4A CN111767227A (zh) | 2020-06-30 | 2020-06-30 | 一种录制回放测试的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613970.4A CN111767227A (zh) | 2020-06-30 | 2020-06-30 | 一种录制回放测试的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767227A true CN111767227A (zh) | 2020-10-13 |
Family
ID=72724172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613970.4A Pending CN111767227A (zh) | 2020-06-30 | 2020-06-30 | 一种录制回放测试的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767227A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631921A (zh) * | 2020-12-28 | 2021-04-09 | 广州品唯软件有限公司 | 提升流量回放覆盖面方法、系统和存储介质 |
CN112765045A (zh) * | 2021-04-07 | 2021-05-07 | 四川新网银行股份有限公司 | 一种基于案例模板的流量回放方法 |
CN113312259A (zh) * | 2021-05-26 | 2021-08-27 | 深圳前海微众银行股份有限公司 | 一种接口测试方法及装置 |
CN115292200A (zh) * | 2022-09-28 | 2022-11-04 | 北京六方云信息技术有限公司 | 接口测试方法、装置、设备与介质 |
CN116028376A (zh) * | 2023-03-27 | 2023-04-28 | 云筑信息科技(成都)有限公司 | 基于流量录制快速生成接口自动化用例的方法 |
CN116881145A (zh) * | 2023-07-10 | 2023-10-13 | 易方达基金管理有限公司 | 基于流量回放的接口测试方法、装置、设备以及存储介质 |
-
2020
- 2020-06-30 CN CN202010613970.4A patent/CN111767227A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631921A (zh) * | 2020-12-28 | 2021-04-09 | 广州品唯软件有限公司 | 提升流量回放覆盖面方法、系统和存储介质 |
CN112765045A (zh) * | 2021-04-07 | 2021-05-07 | 四川新网银行股份有限公司 | 一种基于案例模板的流量回放方法 |
CN112765045B (zh) * | 2021-04-07 | 2021-11-09 | 四川新网银行股份有限公司 | 一种基于案例模板的流量回放方法 |
CN113312259A (zh) * | 2021-05-26 | 2021-08-27 | 深圳前海微众银行股份有限公司 | 一种接口测试方法及装置 |
CN113312259B (zh) * | 2021-05-26 | 2023-12-29 | 深圳前海微众银行股份有限公司 | 一种接口测试方法及装置 |
CN115292200A (zh) * | 2022-09-28 | 2022-11-04 | 北京六方云信息技术有限公司 | 接口测试方法、装置、设备与介质 |
CN116028376A (zh) * | 2023-03-27 | 2023-04-28 | 云筑信息科技(成都)有限公司 | 基于流量录制快速生成接口自动化用例的方法 |
CN116028376B (zh) * | 2023-03-27 | 2023-08-29 | 云筑信息科技(成都)有限公司 | 基于流量录制快速生成接口自动化用例的方法 |
CN116881145A (zh) * | 2023-07-10 | 2023-10-13 | 易方达基金管理有限公司 | 基于流量回放的接口测试方法、装置、设备以及存储介质 |
CN116881145B (zh) * | 2023-07-10 | 2024-03-15 | 易方达基金管理有限公司 | 基于流量回放的接口测试方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767227A (zh) | 一种录制回放测试的方法及装置 | |
CN104317618B (zh) | 一种固件分区处理方法和装置 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
EP3021224A1 (en) | Method and apparatus for producing a benchmark application for performance testing | |
CN105117341A (zh) | 一种基于动态符号执行的分布式自动测试案例生成方法 | |
CN111241073A (zh) | 一种数据质量检查方法及装置 | |
CN100520732C (zh) | 性能测试脚本生成方法 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
US20200201741A1 (en) | Identification of software program fault locations | |
CN113220597B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN111078510B (zh) | 一种任务处理进度的记录方法及装置 | |
CN117215932A (zh) | 代码增量覆盖信息的展示方法及其装置、电子设备 | |
CN112612697A (zh) | 一种基于字节码技术的软件缺陷测试定位方法及系统 | |
CN116150020A (zh) | 一种测试用例的转换方法及装置 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 | |
CN114647588A (zh) | 接口测试方法及装置 | |
CN113672514A (zh) | 测试方法、装置、服务器及存储介质 | |
CN111078239B (zh) | 一种地图数据更新方法及装置 | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN113806231A (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
CN110968518A (zh) | 自动化测试日志文件的分析方法及装置 | |
CN114116729B (zh) | 一种测试数据的处理方法和设备 | |
CN113010424B (zh) | 接口自动化测试处理方法、系统、计算机设备与存储介质 | |
CN111309623B (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 |