CN117707966A - 基于流量回放的接口测试方法、装置、设备及存储介质 - Google Patents
基于流量回放的接口测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117707966A CN117707966A CN202311747071.3A CN202311747071A CN117707966A CN 117707966 A CN117707966 A CN 117707966A CN 202311747071 A CN202311747071 A CN 202311747071A CN 117707966 A CN117707966 A CN 117707966A
- Authority
- CN
- China
- Prior art keywords
- interface
- request
- result data
- updated
- data
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000000977 initiatory effect Effects 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本申请涉及一种基于流量回放的接口测试方法、装置、设备及存储介质,所述方法包括:通过发起调用接口的请求,获取请求的第一返回结果数据并存储至预先创建的影子表中,根据预先存储在影子表中的接口的请求参数发起调用更新后的接口的请求,获取更新后的接口的请求的第二返回结果数据并存储至影子表中,对比第一返回结果数据与第二返回结果数据得到对比结果,根据对比结果确定更新后的接口的测试结果。本申请可以不影响正常的业务功能的情况下,确定更新后的接口的测试结果,即确定更新后的接口是否存在BUG。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于流量回放的接口测试方法、装置、设备及存储介质。
背景技术
接口进行迭代更新后,需要验证更新后的接口是否存在BUG,现有技术中通常是直接通过调用更新后的接口得到的数据与预期数据进行对比,来判断更新后的接口的返回数据是否符合预期,但对于进行数据写入操作的写接口而言,该方式会更改用户的真实数据,影响正常的业务功能。
因此,提供一种不影响正常的业务功能的情况下对更新后的接口进行测试的技术方案,已成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上内容,本申请提供一种基于流量回放的接口测试方法、装置、设备及存储介质,其目的在于解决上述技术问题。
第一方面,本申请提供一种基于流量回放的接口测试方法,所述方法包括:
发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
第二方面,本申请提供一种基于流量回放的接口测试装置,所述装置包括:
第一调用模块:用于发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
第二调用模块:用于根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
测试模块:用于对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
第三方面,本申请提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的基于流量回放的接口测试方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的基于流量回放的接口测试方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请通过发起调用接口的请求,获取请求的第一返回结果数据并存储至预先创建的影子表中,根据预先存储在影子表中的接口的请求参数发起调用更新后的接口的请求,获取更新后的接口的请求的第二返回结果数据并存储至影子表中,对比第一返回结果数据与第二返回结果数据得到对比结果,根据对比结果确定更新后的接口的测试结果。由于影子表为不影响正常的业务功能而创建的辅助表,在对更新后的接口进行测试时,不影响正常的业务功能,不会更改用户的真实数据。通过在影子表中对比第一返回结果数据与第二返回结果数据,可以确定更新后的接口的测试结果,即确定更新后的接口是否存在BUG。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请基于流量回放的接口测试方法实施例的流程示意图;
图2为本申请基于流量回放的接口测试装置实施例的模块示意图;
图3为本申请电子设备实施例的示意图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请提供一种基于流量回放的接口测试方法。参照图1所示,为本申请基于流量回放的接口测试方法的实施例的方法流程示意图。该方法可以由一个电子设备(例如,终端)执行,该电子设备可以由软件和/或硬件实现。基于流量回放的接口测试方法包括:
步骤S10:发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
步骤S20:根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
步骤S30:对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
本实施例中,以接口为进行数据写入的接口(例如,会员充值接口)为例对本申请的方案进行详细说明,举例而言,接口可以是视频网站充值会员的接口、音乐网站充值会员的接口、电商网站充值会员的接口等。
本实施例中,用户可以通过终端进行会员充值操作,终端响应用户的会员充值请求发起调用会员充值接口的请求,即会员充值接口在正常的业务请求时,接口可以获取到该请求的返回结果数据(记为第一返回结果数据),并将第一返回结果数据存储至预先创建的影子表A_GHOST中,用于后续与更新后的接口的模拟结果的比对。其中,影子表是预先创建的,还预先创建有与影子表相对应的实体表A,第一返回结果数据需存储至实体表中,从而实现正常的会员充值功能。影子表是为了不影响正常的业务功能(充值功能)而创建的辅助表,影子表用于存储接口的请求参数、接口返回数据以及关联数据(即接口作用的对象在执行接口前的数据),举例而言,若接口作用的对象是会员有效日期,则关联数据为调用会员充值接口之前该会员的有效日期,例如:调用会员充值接口之前,该会员的有效日期为2023年12月31号,则关联数据为2023年12月31号。若接口作用的对象是会员余额,则关联数据为调用会员充值接口之前该会员的余额,例如,调用会员充值接口之前,该会员的余额为50元,则关联数据为50元。
可以通过预先配置的流量回放开关的状态来确定获取第一返回结果数据的方式,即可以配置是否开启接口在正常请求时录制流量数据的功能。录制接口在正常请求时的流量数据可以用于在接口更新后,与更新后的接口的返回结果数据进行比对,从而对更新后的接口进行测试(即验证更新后的接口是否存在BUG)。具体而言,获取所述请求的第一返回结果数据,包括:
判断是否录制所述接口请求的流量数据;
若是,生成所述请求的令牌,根据所述令牌调用所述接口获取所述请求的第一返回结果数据;
若否,直接调用所述接口获取所述请求的第一返回结果数据。
流量回放开关处于开启状态时,说明录制接口在正常请求的流量数据,流量回放开关处于关闭状态时,则说明不录制接口在正常请求的流量数据。当判断流量开关处于开启状态时,生成该请求的唯一的令牌,通过令牌可以识别该请求具体是哪一次请求,根据令牌调用接口(执行接口逻辑),从而获得该请求的第一返回结果数据。当判断流量开关处于关闭状态时,则直接调用接口获取该请求的第一返回结果数据。例如,调用会员充值接口之前,该会员的有效日期为2023年12月31号,若该会员用户需充值一个月,调用会员充值接口后,则第一返回结果数据2024年1月31号。需要说明的是,第一返回结果数据还需要存储至实体表A中,从而不影响正常的充值功能。
进一步地,根据所述令牌调用所述接口获取所述请求的第一返回结果数据,包括:
获取预先存储在所述影子表中的所述接口的请求参数;
将所述请求参数与所述令牌的字符拼接,得到拼接后的请求参数;
根据拼接后的请求参数调用所述接口,得到所述请求的第一返回结果数据。
从影子表中获取该接口的请求参数,接口的请求参数是向接口传递必要的数据或信息,以使接口能够正确地执行相应的功能或操作。在请求参数中拼接令牌的字符,得到拼接后的请求参数,根据拼接后的请求参数调用接口,得到该请求的第一返回结果数据。
当接口更新后,可以模拟执行更新后的接口的获得返回数据,与上述调用更新前的接口得到的第一返回结果数据进行比对。具体地,当接口更新后,利用预先存储在影子表中的该接口的请求参数,发起调用更新后的接口的请求,获取更新后的接口的请求的返回结果数据(记为第二返回结果数据),并将第二返回结果数据存储至影子表中。具体而言,根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据,包括:
获取所述影子表中的所述接口的请求参数;
获取所述影子表中存储的执行接口调用前的关联数据,其中,所述关联数据表征所述接口作用的对象在执行接口前的数据;
基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据。
更新后的接口使用的请求参数与接口更新前使用的请求参数相同,因此可以从影子表中的获取接口的请求参数,请求参数可以用来控制接口执行的行为,比如指定需要执行的充值操作、设置参数等,终端通过请求参数可以使更新后的接口需要执行模拟充值的操作。获取影子表中存储的执行接口调用前的关联数据,关联数据是指接口作用的对象在执行接口前的数据,例如,若接口作用的对象是会员有效日期,则关联数据为调用会员充值接口之前该会员的有效日期。根据关联数据及请求参数发起调用更新后的接口的请求,该请求为模拟请求,得到更新后的接口的请求的第二返回结果数据。
进一步地,基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据,包括:
基于所述请求参数发起调用更新后的所述接口的请求,得到更新后的所述接口的返回数据;
根据所述返回数据更新所述关联数据,得到所述更新后的所述接口的请求的第二返回结果数据。
基于请求参数发起调用更新后的接口的请求,得到更新后的接口的返回数据,例如,若调用会员充值接口之前,该会员的有效日期为2023年12月31号,即关联数据为2023年12月31号,若该会员用户需充值一个月,调用会员充值接口后,则更新后的接口的返回数据为2024年1月31号,根据返回数据更新关联数据,得到更新后的接口的请求的第二返回结果数据,第二返回结果数据为2024年1月31号。
通过对比第一返回结果数据与第二返回结果数据是否一致,可以确定更新后的接口的测试结果,若第一返回结果数据与第二返回结果数据一致,说明通过录制的更新前的接口的返回结果与线上模拟的更新后的接口的返回结果一致。具体而言,对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果,包括:
对比所述第一返回结果数据与所述第二返回结果数据是否相同;
若相同,确定更新后的所述接口的测试结果为测试通过;
若不同,确定更新后的所述接口的测试结果为测试不通过。
如果第一返回结果数据与第二返回结果数据相同,说明通过录制的更新前的接口的返回结果与线上模拟的更新后的接口的返回结果一致,从而可以确定更新后的接口的测试结果为测试通过。若第一返回结果数据与第二返回结果数据不同,说明更新后的接口可能存在BUG,此时确定更新后的接口的测试结果为测试不通过。通过第一返回结果数据与第二返回结果数据的对比,可以验证接口迭代后的新版本是否存在BUG。
在一个实施例中,在根据所述对比结果确定更新后的所述接口的测试结果之后,所述方法还包括:
将所述测试结果传输至预设存储路径。
通过将测试结果进行存储,可以供研发测试人员查询测试结果,当更新后的接口存在BUG时进行修复处理。
参照图2所示,为本申请基于流量回放的接口测试装置100的功能模块示意图。
本申请所述基于流量回放的接口测试装置100可以安装于电子设备中。根据实现的功能,所述基于流量回放的接口测试装置100可以包括第一调用模块110、第二调用模块120及测试模块130。本申请所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
第一调用模块110:用于发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
第二调用模块120:用于根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
测试模块130:用于对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
在一个实施例中,所述获取所述请求的第一返回结果数据,包括:
判断是否录制所述接口请求的流量数据;
若是,生成所述请求的令牌,根据所述令牌调用所述接口获取所述请求的第一返回结果数据;
若否,直接调用所述接口获取所述请求的第一返回结果数据。
在一个实施例中,所述根据所述令牌调用所述接口获取所述请求的第一返回结果数据,包括:
获取预先存储在所述影子表中的所述接口的请求参数;
将所述请求参数与所述令牌的字符拼接,得到拼接后的请求参数;
根据拼接后的请求参数调用所述接口,得到所述请求的第一返回结果数据。
在一个实施例中,所述根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据,包括:
获取所述影子表中的所述接口的请求参数;
获取所述影子表中存储的执行接口调用前的关联数据,其中,所述关联数据表征所述接口作用的对象在执行接口前的数据;
基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据。
在一个实施例中,所述基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据,包括:
基于所述请求参数发起调用更新后的所述接口的请求,得到更新后的所述接口的返回数据;
根据所述返回数据更新所述关联数据,得到所述更新后的所述接口的请求的第二返回结果数据。
在一个实施例中,所述对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果,包括:
对比所述第一返回结果数据与所述第二返回结果数据是否相同;
若相同,确定更新后的所述接口的测试结果为测试通过;
若不同,确定更新后的所述接口的测试结果为测试不通过。
在一个实施例中,在根据所述对比结果确定更新后的所述接口的测试结果之后,所述方法还包括:
将所述测试结果传输至预设存储路径。
参照图3所示,为本申请电子设备较佳实施例的示意图。
该电子设备包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信;
存储器113,用于存放计算机程序,例如,基于流量回放的接口测试程序;
其中,处理器111在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器111通常用于控制所述电子设备的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器111用于运行所述存储器113中存储的程序代码或者处理数据,例如运行基于流量回放的接口测试程序的程序代码等。
通信接口112可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该通信接口112还可以用于在所述电子设备与其它电子设备之间建立通信连接。
存储器113至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器113可以是所述电子设备的内部存储单元,例如该电子设备的硬盘或内存。在另一些实施例中,所述存储器113也可以是所述电子设备的外部存储设备,例如该电子设备配备的插接式硬盘,智能存储卡(Smart Media Card,,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器113还可以既包括所述电子设备的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备的操作系统和各类计算机程序,例如基于流量回放的接口测试程序的程序代码等。此外,存储器113还可以用于暂时地存储已经输出或者将要输出的各类数据。
图3仅示出了具有组件111-114的电子设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的基于流量回放的接口测试方法,包括:
发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
关于上述步骤的详细介绍,请参照上述图2关于基于流量回放的接口测试装置100实施例的功能模块图以及图1关于基于流量回放的接口测试方法实施例的流程图的说明。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。计算机可读存储介质中包括存储数据区和存储程序区,存储程序区存储有基于流量回放的接口测试程序,所述基于流量回放的接口测试程序被处理器执行时实现如下操作:
发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
本申请之计算机可读存储介质的具体实施方式与上述基于流量回放的接口测试方法的具体实施方式大致相同,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于流量回放的接口测试方法,其特征在于,所述方法包括:
发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
2.如权利要求1所述的基于流量回放的接口测试方法,其特征在于,所述获取所述请求的第一返回结果数据,包括:
判断是否录制所述接口请求的流量数据;
若是,生成所述请求的令牌,根据所述令牌调用所述接口获取所述请求的第一返回结果数据;
若否,直接调用所述接口获取所述请求的第一返回结果数据。
3.如权利要求2所述的基于流量回放的接口测试方法,其特征在于,所述根据所述令牌调用所述接口获取所述请求的第一返回结果数据,包括:
获取预先存储在所述影子表中的所述接口的请求参数;
将所述请求参数与所述令牌的字符拼接,得到拼接后的请求参数;
根据拼接后的请求参数调用所述接口,得到所述请求的第一返回结果数据。
4.如权利要求1所述的基于流量回放的接口测试方法,其特征在于,所述根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据,包括:
获取所述影子表中的所述接口的请求参数;
获取所述影子表中存储的执行接口调用前的关联数据,其中,所述关联数据表征所述接口作用的对象在执行接口前的数据;
基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据。
5.如权利要求4所述的基于流量回放的接口测试方法,其特征在于,所述基于所述关联数据及所述请求参数发起调用更新后的所述接口的请求,得到所述更新后的所述接口的请求的第二返回结果数据,包括:
基于所述请求参数发起调用更新后的所述接口的请求,得到更新后的所述接口的返回数据;
根据所述返回数据更新所述关联数据,得到所述更新后的所述接口的请求的第二返回结果数据。
6.如权利要求1所述的基于流量回放的接口测试方法,其特征在于,所述对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果,包括:
对比所述第一返回结果数据与所述第二返回结果数据是否相同;
若相同,确定更新后的所述接口的测试结果为测试通过;
若不同,确定更新后的所述接口的测试结果为测试不通过。
7.如权利要求1至6中任意一项所述的基于流量回放的接口测试方法,其特征在于,在根据所述对比结果确定更新后的所述接口的测试结果之后,所述方法还包括:
将所述测试结果传输至预设存储路径。
8.一种基于流量回放的接口测试装置,其特征在于,所述装置包括:
第一调用模块:用于发起调用接口的请求,获取所述请求的第一返回结果数据并存储至预先创建的影子表中;
第二调用模块:用于根据预先存储在所述影子表中的所述接口的请求参数发起调用更新后的所述接口的请求,获取所述更新后的所述接口的请求的第二返回结果数据并存储至所述影子表中;
测试模块:用于对比所述第一返回结果数据与所述第二返回结果数据得到对比结果,根据所述对比结果确定更新后的所述接口的测试结果。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1至7中任一项所述的基于流量回放的接口测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于流量回放的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311747071.3A CN117707966A (zh) | 2023-12-18 | 2023-12-18 | 基于流量回放的接口测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311747071.3A CN117707966A (zh) | 2023-12-18 | 2023-12-18 | 基于流量回放的接口测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707966A true CN117707966A (zh) | 2024-03-15 |
Family
ID=90144027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311747071.3A Pending CN117707966A (zh) | 2023-12-18 | 2023-12-18 | 基于流量回放的接口测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707966A (zh) |
-
2023
- 2023-12-18 CN CN202311747071.3A patent/CN117707966A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6002869A (en) | System and method for automatically testing software programs | |
US7162408B2 (en) | Subscriber identification module (SIM) emulator | |
CN111782535A (zh) | 测试方法及装置 | |
CN108614702B (zh) | 字节码优化方法及装置 | |
CN109977008B (zh) | 一种应用程序依赖的js代码与原生库兼容的方法及终端 | |
CN110347590A (zh) | 业务系统的接口测试控制方法及装置 | |
CN110334303A (zh) | 表单校验方法、装置、计算机设备和存储介质 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN111625225A (zh) | 一种程序指定数据输出方法和装置 | |
CN112559346A (zh) | 一种业务测试的方法及装置 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN115599618B (zh) | 寄存器动态改配验证方法、装置、存储介质和处理器 | |
CN112328501A (zh) | 一种测试方法、装置及电子设备和存储介质 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN117707966A (zh) | 基于流量回放的接口测试方法、装置、设备及存储介质 | |
CN114218032A (zh) | 一种硬件设计验证方法、装置及电子设备和存储介质 | |
CN112463042B (zh) | 一种数据卷导入数据校验方法、装置、终端及存储介质 | |
CN112965697B (zh) | 一种代码文件的生成方法、装置及电子设备 | |
CN115509924A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN115576766A (zh) | 闪存管理算法调试方法、系统、设备和可读存储介质 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN109634865B (zh) | 一种代码转测方法、装置及转测终端 | |
CN113986744A (zh) | 一种分库分表组件的测试方法、装置及存储介质 | |
CN109446091B (zh) | 业务实体对象测试方法及装置 | |
CN113986742A (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 |