CN109656806A - 一种接口数据的回放测试方法及装置 - Google Patents
一种接口数据的回放测试方法及装置 Download PDFInfo
- Publication number
- CN109656806A CN109656806A CN201811271397.2A CN201811271397A CN109656806A CN 109656806 A CN109656806 A CN 109656806A CN 201811271397 A CN201811271397 A CN 201811271397A CN 109656806 A CN109656806 A CN 109656806A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- test
- parameter
- playback
- 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
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
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
本发明公开了一种接口数据的回放测试方法及装置,涉及接口测试技术领域,可以在回放测试过程覆盖所有的业务逻辑。所述方法包括:获取应用程序在回放测试中涉及的接口数据;执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数;根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
Description
技术领域
本发明涉及接口测试技术领域,特别是涉及一种接口数据的回放测试方法及装置。
背景技术
随着互联网的日益发展,线上订购、线下消费的商务模式能够吸引更多热衷于实体店购物的消费者,越来越多的实体店将基于电子商务网站的商品或服务的在线交易,与基于实体店的商品或服务的实际体验相结合,使电子商务网站成为实体店交易的前台,实体店成为电子商务网站交易的后台,开展线上到线下的交易系统。
在交易系统的发展过程中,经历了很多业务的上下线以及系统的升级等,接口作为系统内部以及系统之间的交互渠道,可以用来处理业务逻辑和数据,实现业务功能,如何保证接口数据在传递、交换以及控制管理过程中的可靠性尤为重要,回放测试作为软件生命周期的一个组成部分,可以支持接口中的业务逻辑进行多环境回放测试,从而保证系统在升级的同时不会引入任何新的问题。
现有技术在接口数据的回放测试过程中,都是对线上采集到的接口数据在线下进行多环境回放测试。由于回放测试时线上数据与线下数据是隔离的,为了满足线上数据的多环境回放测试,在回放测试过程中需要向第三方调用线上数据以及数据读取等操作的时候,均通过Mock回填的方式来模拟业务逻辑的返回结果,而不是真正去执行相关的业务逻辑,使得回放测试无法覆盖所有的业务逻辑,也不能发现第三方调用以及数据读取等操作的故障,导致故障遗漏到线上,出现线上故障。
发明内容
有鉴于此,本发明提供了一种接口数据的回放测试方法及装置,主要目的在于解决回放测试无法覆盖所有的业务逻辑的问题。
依据本发明一个方面,提供了一种接口数据的回放测试方法,该方法包括:
获取应用程序在回放测试中涉及的接口数据;
执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数;
根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的测试数据池时,所述执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数包括:
从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数;
执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述测试数据值。
进一步地,所述从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数包括:
获取所述接口数据中指定的传入参数对应的属性特征;
从所述预设环境下的测试数据池中选取与所述接口数据中指定的传入参数对应的属性特征相匹配的测试数据值,作为预设环境的接口传入参数。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的固定测试值时,所述执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数包括:
将所述预设环境下的固定测试值,作为预设环境的接口传入参数;
执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述固定测试值。
进一步地,所述接口数据中记录有预先保存的接口调用结果数据,在所述根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试之后,所述方法还包括:
根据所述数据替换逻辑在回放测试过程中设置检查点,对回放测试返回的结果数据进行校验;
若回放测试返回的结果数据与所述预先保存的接口调用结果数据符合匹配规则,则判定检查点测试正常;否则,判定检查点存在异常。
进一步地,所述获取应用程序在回放测试中涉及的接口数据包括:
通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
进一步地,在所述接收应用程序在回放测试中涉及的接口数据之后,所述方法还包括:
根据预设环境下的测试规则查找所述接口数据对应的数据替换逻辑。
依据本发明另一个方面,提供了一种接口数据的回放测试装置,该装置包括:
获取单元,用于获取应用程序在回放测试中涉及的接口数据;
替换单元,用于执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数;
测试单元,用于根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的测试数据池时,所述替换单元包括:
第一选取模块,用于从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数;
第一替换模块,用于执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述测试数据值。
进一步地,所述第一选取模块,具体用于获取所述接口数据中指定的传入参数对应的属性特征;
所述第一选取模块,具体还用于从所述预设环境下的测试数据池中选取与所述接口数据中指定的传入参数对应的属性特征相匹配的测试数据值,作为预设环境的接口传入参数。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的固定测试值时,所述替换单元包括:
第二选取模块,用于将所述预设环境下的固定测试值,作为预设环境的接口传入参数;
第二替换模块,用于执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述固定测试值。
进一步地,所述接口数据中记录有预先保存的接口调用结果数据,所述装置还包括:
校验单元,用于在所述根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试之后,根据所述数据替换逻辑在回放测试过程中设置检查点,对回放测试返回的结果数据进行校验;
判定单元,用于若回放测试返回的结果数据与所述预先保存的接口调用结果数据符合匹配规则,则判定检查点测试正常;
所述判定单元,还用于若回放测试返回的结果数据与所述预先保存的接口调用结果数据不符合匹配规则,则判定检查点存在异常。
进一步地,所述获取单元,具体用于通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
进一步地,所述装置还包括:
查找单元,用于在所述接收应用程序在回放测试中涉及的接口数据之后,根据预设环境下的测试规则查找所述接口数据对应的数据替换逻辑。
依据本发明又一个方面,提供了一种存储设备,其上存储有计算机程序,所述程序被处理器执行时实现上述接口数据的回放测试方法。
依据本发明再一个方面,提供了一种接口数据的回放测试装置,包括存储设备、处理器及存储在存储设备上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述接口数据的回放测试方法。
借由上述技术方案,本发明提供的一种接口数据的回放测试方法、装置及计算机存储介质,与目前通过Mock回填来模拟业务逻辑的返回结果进行回放测试的方式相比,本发明在获取应用程序在回放测试中涉及的接口数据后,执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为预设环境的接口传入参数,根据预设环境的接口传入参数发起接口调用,对接口数据进行预设环境下的回放测试,使得不同环境可以真实的发起接口调用,得到真实的返回测试结果,由于该回放测试的过程不存在Mock回填处理,通过替换后的接口传入参数可以实现真实的接口调用,与真实的回放测试效果一致,达到在回放测试过程中覆盖所有的业务逻辑的效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种接口数据的回放测试方法流程示意图;
图2示出了本发明实施例提供的另一种接口数据的回放测试方法流程示意图;
图3示出了本发明实施例提供的线上录制不同环境线下回放测试的交互时序图;
图4示出了本发明实施例提供的一种接口数据的回放测试装置的结构示意图;
图5示出了本发明实施例提供的另一种接口数据的回放测试的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种接口数据的回放测试方法,可以实现回放测试覆盖所有业务逻辑的目的,如图1所示,该方法包括:
101、获取应用程序在回放测试中涉及的接口数据。
在应用程序的使用过程中,系统之间以及系统内部模块之间的交互都涉及到接口,而随着产品功能的不断完善,系统结构复杂度增加,通过回放测试可以对接口调用过程进行回放,进而保证系统在运行过程中接口的稳定性。
其中,在回放测试中涉及的接口数据具体可以包括调用过程中所传递的数据、请求过程中生成的请求数据以及返回过程中生成的返回数据,这里不进行限定。对于web应用来说,请求调用接口通常都是通过发起http请求方式来完成,当然还可以为分布式系统之间的交互,例如,WebService服务、消息等,这里不进行限定,此时的接口数据可以包括请求入参、返回结果以及执行过程中一些快照数据,例如访问数据库的入参和返回结果、访问远程服务器的入参及结果等。
需要说明的是,这里的接口数据为应用程序在线上进行接口调用过程中采集到的真实数据,在回放执行时时,需要根据采集到的真实数据重新执行接口调用过程,判断线上真实数据与回放数据执行是否一致,从而对接口进行测试。
102、执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数。
其中,预先配置的数据替换逻辑可以对接指定的替换数据,也可以对接测试数据池,例如针对UserInfo对象的userID属性:可以设置UserInfo.userID=“2088123456899”,即将UserInfo.userID替换为指定的测试数据,还可以设置UserInfo.userID=userData,即将UserInfo.userID替换为测试数据池中随机的测试数据,这里对数据替换逻辑不进行限定。
对于本发明实施例,接口数据中指定的传入参数可以为回放测试过程中需要向第三方调用的线上数据,如用户电话号码、商家库存等,可以为用户指定的线上数据,如固定数值或者逻辑值,这里不进行限定,只需要在接口调用之前预先配置好数据替换逻辑所对应的指定传入参数。
这里的预设环境可以为开发环境、预发布环境、线上环境、测试环境等,为了满足不同环境下的回放测试,将接口数据中指定的传入参数替换为预设环境的接口传入参数不同的环境的接口传入参数,可以实现预设环境下的接口调用。
103、根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
对于本发明实施例,由于预设环境的接口传入参数可以发起对预设环境下的接口调用,当预设环境下的应用接收到接口调用请求时,重新执行接口的逻辑,进而创建测试所得到的接口数据。
需要说明的是,为了验证回放测试中执行接口的逻辑与应用在线上中执行接口调用的逻辑是否存在差异,可以通过将回放测试所得到的结果数据与应用在线上执行接口调用所得到的接口数据进行比对,如果数据相同,在证明回放测试接口调用的逻辑与线上执行接口调用的逻辑一致。
本发明实施例提供的接口数据的回放测试方法,与目前通过Mock回填来模拟业务逻辑的返回结果进行回放测试的方式相比,本发明在获取应用程序在回放测试中涉及的接口数据后,执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为预设环境的接口传入参数,根据预设环境的接口传入参数发起接口调用,对接口数据进行预设环境下的回放测试,使得不同环境可以真实的发起接口调用,得到真实的返回测试结果,由于该回放测试的过程不存在Mock回填处理,通过替换后的接口传入参数可以实现真实的接口调用,与真实的回放测试效果一致,达到在回放测试过程中覆盖所有的业务逻辑的效果。
本发明实施例提供了另一种接口数据的回放测试方法,可以实现回放测试覆盖所有业务逻辑的目的,如图2所示,该方法包括:
201、通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
在Web应用中线上请求的监控非常重要,在大部分的应用中对于请求参数返回参数、响应时间、请求头信息等对线上问题的排查都是非常重要的。本发明实施例通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
具体线上应用程序可以通过具有拦截功能的AOP拦截机制或者其他具有拦截功能的拦截机制来监控业务系统的接口以及入参对象等接口数据,这里对拦截机制不进行限定,并保存拦截到的接口数据,将接口数据通过消息或者http请求等方式转发给回放测试系统,例如,接口A执行购买商品的业务逻辑,对应有两个入参对象,入参1和入参2,在接口A执行购买商品的过程中,返回有购买结果,这里的入参1和入参2,以及接口A和购买结果都可以是通过AOP拦截机制采集到的接口数据。
需要说明的是,由于AOP拦截机制采集到的接口数据在传输过程中容易引发对象引用的问题,在将接口数据转发给回放系统之前,对接口数据进行序列化处理,将接口数据进行流化,分解成字节流,从而便于数据传输,同样的,在回放测试系统接收到接口数据后,对接口数据进行反序列化处理,对接口数据进行重构。
202、根据预设环境下的测试规则查找所述接口数据对应的数据替换逻辑。
其中,预设环境下的测试规则是为了一个特定的测试目的,设置能够达到测试目的规则,例如,针对用户在使用产品过程中对产品的满意度,设置达到满意度阈值的产品验收规则,针对特定产品的推送用户,设置将购买过特定产品的用户作为推送用户的产品推送规则。
需要说明的是,这里的测试规则是为了保证替换后的数据在预设环境下能够执行调用成功所设置的规则,如果线上应用程序的接口数据中入参1是线上用户的手机号码,那么为了保证预设环境下能够成功执行接口调用,测试规则应该保证中数据替换逻辑后的预设环境下的接口数据也是手机号码形式的测试数据。
203、从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数。
对于本发明实施例,预设环境下的测试数据值中包含大量的测试数据值,该测试数据值可以实现预设环境下的接口调用。
为了保证选取的测试数据值更符合回放测试的接口调用,具体可以通过获取接口数据中指定的传入参数对应的属性特征,进一步从预设环境下的测试数据池中选取与接口数据中指定的传入参数对应的属性特征相匹配的测试数据值,作为预设环境的接口传入参数。
204、执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述测试数据值。
由于线上数据与线下数据之间是相互隔离的,使得在线上调用后台服务产生的数据很难获取,有时候即使获取到在线下也是无法调用通过的,本发明实施例通过执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为测试数据值,从而实现线下接口数据的回放测试。
例如,线上应用的真实接口请求过程为,请求下单-查询用户信息-用户信息处理-查询商品信息-价格计算-生成订单-扣减库存,接口调用的过程会涉及会员中心、商品中心以及订单中心等需要第三方调用的后台服务,通过执行预先配置的数据替换逻辑将用户信息中的传入参数、商品信息中的传入参数以及库存中的传入参数替换为测试数据池中的测试数据值,进而对线上应用的真实接口请求进行回放。
205、根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
对于本发明实施例,如果接口数据中的入参1是线上用户的手机号码,先执行检查用户是否有钱的业务逻辑,再执行购买商品的业务逻辑,在进行线下回放测试的过程中,由于执行检查用户是否有钱的业务逻辑需要线上用户的手机号码,而线上数据与线下数据是隔离的,在线下进行回放测试的过程中并不存在用户的手机号码,这样便无法执行检查用户是否有钱的业务逻辑,现有技术会通过Mock回调直接模拟接口调用的逻辑,这样在回放测试的时候,可以不用真实执行接口调用,直接返回调用结果,如检测用户为有钱,这种模拟接口调用的逻辑方式并不会在回放测试过程中真正执行接口调用,无法监测到真实的业务逻辑是否存在异常,而本发明实施例通过执行预先配置的数据替换逻辑,将接口数据指定的传入参数替换为预设环境的接口传入参数,在线下进行回放测试的过程中真实执行接口调用的逻辑,返回接口调用结果,从而保证在回放测试过程中执行真实的接口调用,避免了Mock回调的逻辑容易被遗漏的风险。
另一方面,本发明实施例的回放测试系统可以对接口数据中的入参对象的数据替换逻辑进行管理,达到一次配置可持续使用,也大大降低了线上数据在不同环境发起接口调用的成本。
206、根据所述数据替换逻辑在回放测试过程中设置检查点,对回放测试返回的结果数据进行校验。
其中,检查点用于检测测试接口对象的功能是否符合需求,例如,检测展示界面中展示的字段是否符合要求,检测界面风格是否符合UI规范等等,用户可以自己去选择检查点,在此不进行限定。通过在回放测试过程中设置检查点,可以在系统发生故障或错误时,直接从检查点处修复,进而验证接口对象是否存在异常。
对于本发明实施例,这里的检查点可以是对整个接口逻辑的返回值,或者对第三方系统的调用或者DB数据库等的检查,具体可以在整个接口代码逻辑执行完成后执行检查点,由于数据替换逻辑会对接口数据的传入参数进行替换,通过在回放测试过程中设置检查点来检测执行数据替换逻辑后接口逻辑的返回值,进而对数据替换逻辑后的接口功能进行校验。
207a、若回放测试返回的结果数据与所述预先保存的接口调用结果数据符合匹配规则,则判定检查点测试正常。
其中,匹配规则为通过检查点测试接口对象的功能是否符合需求所设置的规则,若回放测试返回的结果数据与预先保存的接口调用结果数据符合匹配规则,说明检查点并不存在异常,则判定检查点测试正常。
与步骤207a相对应的有步骤207b、若回放测试返回的结果数据与所述预先保存的接口调用结果数据不符合匹配规则,则判定检查点存在异常。
若回放测试返回的结果数据与预先保存的接口调用结果数据不符合匹配规则,说明检查点无法正常调用接口逻辑,则判定检查点存在异常。
例如,检查点为对服务器返回内容进行查询的功能,预先保存的接口调用结果数据为返回检索到内容的次数,那么如果回放测试返回的结果数据同样为返回检索到内容的次数,说明检查点可以正常调用接口逻辑,可以执行对服务器返回内容进行查询的功能,则判定检查点测试正常;如果没找到对应内容或者返回的数据并非检索到内容的次数,说明检查点无法正常调用接口逻辑,所以不能执行对服务器返回内容进行查询的功能,则判定检查点存在异常。
对于本发明实施例,以线上采集线下回放为具体应用场景,图3示出了本发明实施例提供的线上录制不同环境线下回放测试的交互时序图,如图3所示,首先在回放系统配置接口入参的替换逻辑,并对接口入参的替换逻辑进行管理,在线上应用添加AOP拦截机制,当接收到线上接口调用时,拦截到线上接口及入参对象,并发送至回放系统,回放系统对接收到的线上接口及入参对象执行数据替换逻辑,在完成入参替换后,发起接口调用,从而线下应用执行接口逻辑。
本发明实施例提供的接口数据的回放测试方法,与目前通过Mock回填来模拟业务逻辑的返回结果进行回放测试的方式相比,本发明在获取应用程序在回放测试中涉及的接口数据后,执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为预设环境的接口传入参数,根据预设环境的接口传入参数发起接口调用,对接口数据进行预设环境下的回放测试,使得不同环境可以真实的发起接口调用,得到真实的返回测试结果,由于该回放测试的过程不存在Mock回填处理,通过替换后的接口传入参数可以实现真实的接口调用,与真实的回放测试效果一致,达到在回放测试过程中覆盖所有的业务逻辑的效果。
进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种接口数据的回放测试装置,如图4所示,所述装置包括:获取单元31、替换单元32、测试单元33。
获取单元31,可以用于获取应用程序在回放测试中涉及的接口数据;
替换单元32,可以用于执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数;
测试单元33,可以用于根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
本发明实施例提供的接口数据的回放测试装置,与目前通过Mock回填来模拟业务逻辑的返回结果进行回放测试的方式相比,本发明在获取应用程序在回放测试中涉及的接口数据后,执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为预设环境的接口传入参数,根据预设环境的接口传入参数发起接口调用,对接口数据进行预设环境下的回放测试,使得不同环境可以真实的发起接口调用,得到真实的返回测试结果,由于该回放测试的过程不存在Mock回填处理,通过替换后的接口传入参数可以实现真实的接口调用,与真实的回放测试效果一致,达到在回放测试过程中覆盖所有的业务逻辑的效果。
在具体的应用场景中,如图5所示,所述装置还包括:
查找单元34,可以用于在所述接收应用程序在回放测试中涉及的接口数据之后,根据预设环境下的测试规则查找所述接口数据对应的数据替换逻辑。
进一步地,所述接口数据中记录有预先保存的接口调用结果数据,所述装置还包括:
校验单元35,可以用于在所述根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试之后,根据所述数据替换逻辑在回放测试过程中设置检查点,对回放测试返回的结果数据进行校验;
判定单元36,可以用于若回放测试返回的结果数据与所述预先保存的接口调用结果数据符合匹配规则,则判定检查点测试正常;
所述判定单元36,还可以用于若回放测试返回的结果数据与所述预先保存的接口调用结果数据不符合匹配规则,则判定检查点存在异常。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的测试数据池时,所述替换单元32包括:
第一选取模块321,可以用于从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数;
第一替换模块322,可以用于执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述测试数据值。
进一步地,所述第一选取模块321,具体可以用于获取所述接口数据中指定的传入参数对应的属性特征;
所述第一选取模块321,具体还可以用于从所述预设环境下的测试数据池中选取与所述接口数据中指定的传入参数对应的属性特征相匹配的测试数据值,作为预设环境的接口传入参数。
进一步地,当所述预先配置的数据替换逻辑对接预设环境下的固定测试值时,所述替换单元32包括:
第二选取模块323,可以用于将所述预设环境下的固定测试值,作为预设环境的接口传入参数;
第二替换模块324,可以用于执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述固定测试值。
进一步地,所述获取单元31,具体可以用于通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
需要说明的是,本实施例提供的一种接口数据的回放测试装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的接口数据的回放测试方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图4、图5所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的接口数据的回放测试方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的接口数据的回放测试的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,与目前现有技术相比,在获取应用程序在回放测试中涉及的接口数据后,执行预先配置的数据替换逻辑,将接口数据中指定的传入参数替换为预设环境的接口传入参数,根据预设环境的接口传入参数发起接口调用,对接口数据进行预设环境下的回放测试,使得不同环境可以真实的发起接口调用,得到真实的返回测试结果,由于该回放测试的过程不存在Mock回填处理,通过替换后的接口传入参数可以实现真实的接口调用,与真实的回放测试效果一致,达到在回放测试过程中覆盖所有的业务逻辑的效果。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (9)
1.一种接口数据的回放测试方法,其特征在于,包括:
获取应用程序在回放测试中涉及的接口数据;
执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数;
根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试。
2.根据权利要求1所述的方法,其特征在于,当所述预先配置的数据替换逻辑对接预设环境下的测试数据池时,所述执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数包括:
从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数;
执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述测试数据值。
3.根据权利要求2所述的方法,其特征在于,所述从所述预设环境下的测试数据池中选取测试数据值,作为预设环境的接口传入参数包括:
获取所述接口数据中指定的传入参数对应的属性特征;
从所述预设环境下的测试数据池中选取与所述接口数据中指定的传入参数对应的属性特征相匹配的测试数据值,作为预设环境的接口传入参数。
4.根据权利要求1所述的方法,其特征在于,当所述预先配置的数据替换逻辑对接预设环境下的固定测试值时,所述执行预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为预设环境的接口传入参数包括:
将所述预设环境下的固定测试值,作为预设环境的接口传入参数;
执行所述预先配置的数据替换逻辑,将所述接口数据中指定的传入参数替换为所述固定测试值。
5.根据权利要求1所述的方法,其特征在于,所述接口数据中记录有预先保存的接口调用结果数据,在所述根据所述预设环境的接口传入参数发起预设环境下的接口调用,对所述接口数据进行预设环境下的回放测试之后,所述方法还包括:
根据所述数据替换逻辑在回放测试过程中设置检查点,对回放测试返回的结果数据进行校验;
若回放测试返回的结果数据与所述预先保存的接口调用结果数据符合匹配规则,则判定检查点测试正常;否则,判定检查点存在异常。
6.根据权利要求1所述的方法,其特征在于,所述获取应用程序在回放测试中涉及的接口数据包括:
通过应用程序配置的拦截机制拦截接口调用过程中的数据,获取应用程序在回放测试中涉及的接口数据。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述接收应用程序在回放测试中涉及的接口数据之后,所述方法还包括:
根据预设环境下的测试规则查找所述接口数据对应的数据替换逻辑。
8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271397.2A CN109656806A (zh) | 2018-10-29 | 2018-10-29 | 一种接口数据的回放测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271397.2A CN109656806A (zh) | 2018-10-29 | 2018-10-29 | 一种接口数据的回放测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656806A true CN109656806A (zh) | 2019-04-19 |
Family
ID=66110471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811271397.2A Pending CN109656806A (zh) | 2018-10-29 | 2018-10-29 | 一种接口数据的回放测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656806A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110609792A (zh) * | 2019-09-10 | 2019-12-24 | 浙江大搜车软件技术有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN110704218A (zh) * | 2019-08-30 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110888805A (zh) * | 2019-11-11 | 2020-03-17 | 北京仁科互动网络技术有限公司 | 一种RESTful API回放测试的方法及系统 |
CN111090588A (zh) * | 2019-12-12 | 2020-05-01 | 京东数字科技控股有限公司 | 一种测试方法、装置、系统、电子设备及存储介质 |
CN111309624A (zh) * | 2020-03-02 | 2020-06-19 | 北京创鑫旅程网络技术有限公司 | 测试方法、装置、设备及存储介质 |
CN111367792A (zh) * | 2020-02-24 | 2020-07-03 | 天津满运软件科技有限公司 | 一种测试方法、装置、存储介质及电子设备 |
CN112084117A (zh) * | 2020-09-27 | 2020-12-15 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112306042A (zh) * | 2020-10-30 | 2021-02-02 | 重庆长安汽车股份有限公司 | 一种自动驾驶控制器自动测试系统及方法 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN112631934A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种软件线上问题的测试方法和装置 |
CN113268391A (zh) * | 2020-02-14 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 用于数据回放的方法、装置、设备及存储介质 |
CN114553929A (zh) * | 2022-01-10 | 2022-05-27 | 多点生活(成都)科技有限公司 | 录制调用动态Mock的录制回放增强方法和装置 |
CN115292200A (zh) * | 2022-09-28 | 2022-11-04 | 北京六方云信息技术有限公司 | 接口测试方法、装置、设备与介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133807A1 (en) * | 2000-11-10 | 2002-09-19 | International Business Machines Corporation | Automation and isolation of software component testing |
CN1617102A (zh) * | 2003-11-13 | 2005-05-18 | 华为技术有限公司 | 一种在Python中实现API钩子测试的方法 |
CN1641601A (zh) * | 2004-01-04 | 2005-07-20 | 华为技术有限公司 | 一种软件的单元测试方法 |
CN102096631A (zh) * | 2009-12-11 | 2011-06-15 | 华为技术有限公司 | 接口测试方法及装置 |
CN102693182A (zh) * | 2012-05-25 | 2012-09-26 | 苏州博远容天信息科技有限公司 | 一种在mvc 中使用测试驱动开发的存储库模式 |
CN104850476A (zh) * | 2015-06-03 | 2015-08-19 | 东方网力科技股份有限公司 | 跨平台接口自动化测试方法及系统 |
CN107203474A (zh) * | 2017-06-13 | 2017-09-26 | 上海携程国际旅行社有限公司 | 一种支持多环境的自动化测试方法 |
US20170339042A1 (en) * | 2016-05-18 | 2017-11-23 | Dynatrace Llc | Synthetic Testing Of Web Applications Using Instrumented Monitoring Agents |
CN107861870A (zh) * | 2017-11-02 | 2018-03-30 | 平安科技(深圳)有限公司 | 接口测试及测试数据生成方法、装置、终端和存储介质 |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN108509337A (zh) * | 2018-03-15 | 2018-09-07 | 链家网(北京)科技有限公司 | 基于接口调用的动态测试方法和装置 |
-
2018
- 2018-10-29 CN CN201811271397.2A patent/CN109656806A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133807A1 (en) * | 2000-11-10 | 2002-09-19 | International Business Machines Corporation | Automation and isolation of software component testing |
CN1617102A (zh) * | 2003-11-13 | 2005-05-18 | 华为技术有限公司 | 一种在Python中实现API钩子测试的方法 |
CN1641601A (zh) * | 2004-01-04 | 2005-07-20 | 华为技术有限公司 | 一种软件的单元测试方法 |
CN102096631A (zh) * | 2009-12-11 | 2011-06-15 | 华为技术有限公司 | 接口测试方法及装置 |
CN102693182A (zh) * | 2012-05-25 | 2012-09-26 | 苏州博远容天信息科技有限公司 | 一种在mvc 中使用测试驱动开发的存储库模式 |
CN104850476A (zh) * | 2015-06-03 | 2015-08-19 | 东方网力科技股份有限公司 | 跨平台接口自动化测试方法及系统 |
US20170339042A1 (en) * | 2016-05-18 | 2017-11-23 | Dynatrace Llc | Synthetic Testing Of Web Applications Using Instrumented Monitoring Agents |
CN108427631A (zh) * | 2017-02-14 | 2018-08-21 | 北京京东尚科信息技术有限公司 | 一种应用测试系统、方法、电子设备和可读存储介质 |
CN107203474A (zh) * | 2017-06-13 | 2017-09-26 | 上海携程国际旅行社有限公司 | 一种支持多环境的自动化测试方法 |
CN107861870A (zh) * | 2017-11-02 | 2018-03-30 | 平安科技(深圳)有限公司 | 接口测试及测试数据生成方法、装置、终端和存储介质 |
CN108509337A (zh) * | 2018-03-15 | 2018-09-07 | 链家网(北京)科技有限公司 | 基于接口调用的动态测试方法和装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704218B (zh) * | 2019-08-30 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110704218A (zh) * | 2019-08-30 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN110609792A (zh) * | 2019-09-10 | 2019-12-24 | 浙江大搜车软件技术有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN110888805A (zh) * | 2019-11-11 | 2020-03-17 | 北京仁科互动网络技术有限公司 | 一种RESTful API回放测试的方法及系统 |
CN111090588A (zh) * | 2019-12-12 | 2020-05-01 | 京东数字科技控股有限公司 | 一种测试方法、装置、系统、电子设备及存储介质 |
CN113268391A (zh) * | 2020-02-14 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 用于数据回放的方法、装置、设备及存储介质 |
CN111367792A (zh) * | 2020-02-24 | 2020-07-03 | 天津满运软件科技有限公司 | 一种测试方法、装置、存储介质及电子设备 |
CN111309624A (zh) * | 2020-03-02 | 2020-06-19 | 北京创鑫旅程网络技术有限公司 | 测试方法、装置、设备及存储介质 |
CN111309624B (zh) * | 2020-03-02 | 2023-07-11 | 北京创鑫旅程网络技术有限公司 | 测试方法、装置、设备及存储介质 |
CN112084117A (zh) * | 2020-09-27 | 2020-12-15 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112084117B (zh) * | 2020-09-27 | 2023-08-08 | 网易(杭州)网络有限公司 | 一种测试方法和装置 |
CN112306042A (zh) * | 2020-10-30 | 2021-02-02 | 重庆长安汽车股份有限公司 | 一种自动驾驶控制器自动测试系统及方法 |
CN112463605A (zh) * | 2020-11-26 | 2021-03-09 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN112463605B (zh) * | 2020-11-26 | 2024-03-15 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN112631934A (zh) * | 2020-12-30 | 2021-04-09 | 上海高顿教育科技有限公司 | 一种软件线上问题的测试方法和装置 |
CN114553929A (zh) * | 2022-01-10 | 2022-05-27 | 多点生活(成都)科技有限公司 | 录制调用动态Mock的录制回放增强方法和装置 |
CN114553929B (zh) * | 2022-01-10 | 2024-04-12 | 多点生活(成都)科技有限公司 | 录制调用动态Mock的录制回放增强方法和装置 |
CN115292200A (zh) * | 2022-09-28 | 2022-11-04 | 北京六方云信息技术有限公司 | 接口测试方法、装置、设备与介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656806A (zh) | 一种接口数据的回放测试方法及装置 | |
CN108345535A (zh) | mock测试方法、装置及设备 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
CN110474820B (zh) | 流量回放方法、装置、电子设备 | |
CN105554137B (zh) | 一种备份系统及方法 | |
CN107729246A (zh) | 针对目标应用的辅助测试方法、装置、设备及存储介质 | |
CN107908556A (zh) | 接口测试方法、装置、设备及计算机可读存储介质 | |
CN109828920A (zh) | 一种日志分析方法、装置及计算机可读存储介质 | |
CN110008111A (zh) | 一种业务测试方法及装置 | |
CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
CN111400179A (zh) | 终端应用程序交互的方法、装置、计算机设备和存储介质 | |
CN110674023B (zh) | 一种接口测试方法和装置 | |
CN111158987B (zh) | 微服务架构的健康检查方法及装置 | |
CN107908552A (zh) | 一种基于链接的测试方法、装置及设备 | |
CN111274105B (zh) | 网页操作的回放和采集方法、计算设备、存储介质和系统 | |
CN107391771A (zh) | 一种图像特效的生成方法和装置 | |
CN107957890A (zh) | 动态加载和部署测试文件以防止测试执行的中断 | |
CN111159033A (zh) | 一种软件测试方法及装置 | |
CN109656825A (zh) | 美术资源处理的方法及装置、电子设备、存储介质 | |
CN106294146B (zh) | 参数替换测试方法及装置 | |
CN109542775A (zh) | 一种测试脚本的生成和执行方法及装置 | |
CN111767178B (zh) | 物理机性能测试方法及装置 | |
CN111538606B (zh) | 一种测试模拟Dubbo接口的方法、装置及设备 | |
CN105373466B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |
|
RJ01 | Rejection of invention patent application after publication |