CN111309624A - 测试方法、装置、设备及存储介质 - Google Patents
测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111309624A CN111309624A CN202010134833.2A CN202010134833A CN111309624A CN 111309624 A CN111309624 A CN 111309624A CN 202010134833 A CN202010134833 A CN 202010134833A CN 111309624 A CN111309624 A CN 111309624A
- Authority
- CN
- China
- Prior art keywords
- test
- identifier
- party
- interface
- interface calling
- 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/3696—Methods or tools to render software testable
-
- 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/3664—Environments for testing or debugging software
-
- 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
技术领域
本发明涉及软件测试技术,尤其涉及一种测试方法、装置、设备及存储介质。
背景技术
随着软件技术的发展,软件质量越来越受到重视,相应地,软件测试也越来越重要。
软件项目测试过程中,在进行第三方接口测试时,为了提高测试的效率,会选择采用模拟服务器来返回测试数据,而不是与真实的第三方进行对接来完成测试,因此需要提前在模拟服务器中配置每个接口的测试数据。
项目测试时,多个测试人员在不同的测试环境中分别进行测试以完成不同的测试任务,由于不同测试环境所需要的测试数据不同,因此无法实现多测试环境的并行测试。
发明内容
本发明提供一种测试方法、装置、设备及存储介质,以实现多测试环境的并行测试。
第一方面,本发明提供一种测试方法,包括:
接收测试服务器发送的第三方接口调用请求;所述第三方接口调用请求由所述测试服务器根据终端设备发送的服务测试请求生成,所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
解析所述第三方接口调用请求得到所述测试环境标识和所述接口调用标识,从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
向所述测试服务器发送所述第一测试数据。
可选的,所述方法还包括:
接收用户为多个测试环境中每个测试环境的每个第三方的每个接口配置的至少一个测试场景的测试数据;每个所述测试数据具有对应的测试环境标识和接口调用标识;
将所述测试数据存储至预设数据库。
可选的,所述接收用户为多个测试环境中每个测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据,包括:
接收用户为基础测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据;
拷贝所述基础测试环境的测试数据,并将所述基础测试环境的测试数据进行修改获得所述多个测试环境中的任一测试环境的测试数据。
可选的,每个所述测试数据还具有对应的测试场景标识,且待测试场景的测试数据的状态为有效,待测试场景之外的其他测试场景的测试数据的状态为无效;
所述从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据,包括:
从预设数据库中获取与所述测试环境标识和所述接口调用标识匹配且状态为有效的第一测试数据。
可选的,所述接口调用标识包括第三方标识和接口标识。
第二方面,本发明提供一种测试方法,包括:
根据终端设备发送的服务测试请求,生成第三方接口调用请求;所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
将所述第三方接口调用请求发送至模拟服务器;
接收所述模拟服务器返回的与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
向所述终端设备发送所述第一测试数据。
可选的,所述测试环境标识由用户通过所述终端设备输入。
可选的,所述第一测试数据是与所述测试环境标识和所述接口调用标识匹配且状态为有效的测试数据。
可选的,所述接口调用标识包括第三方标识和接口标识。
第三方面,本发明提供一种测试装置,包括:
接收模块,用于接收测试服务器发送的第三方接口调用请求;所述第三方接口调用请求由所述测试服务器根据终端设备发送的服务测试请求生成,所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
处理模块,用于解析所述第三方接口调用请求得到所述测试环境标识和所述接口调用标识,从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
发送模块,用于向所述测试服务器发送所述第一测试数据。
可选的,所述装置还包括:
配置模块,用于接收用户为多个测试环境中每个测试环境的每个第三方的每个接口配置的至少一个测试场景的测试数据;每个所述测试数据具有对应的测试环境标识和接口调用标识;并将所述测试数据存储至预设数据库。
可选的,所述接收模块用于:
接收用户为基础测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据;
拷贝所述基础测试环境的测试数据,并将所述基础测试环境的测试数据进行修改获得所述多个测试环境中的任一测试环境的测试数据。
可选的,每个所述测试数据还具有对应的测试场景标识,且待测试场景的测试数据的状态为有效,待测试场景之外的其他测试场景的测试数据的状态为无效;
所述处理模块用于:
从预设数据库中获取与所述测试环境标识和所述接口调用标识匹配且状态为有效的第一测试数据。
可选的,所述接口调用标识包括第三方标识和接口标识。
第四方面,本发明提供一种测试装置,包括:
请求模块,用于根据终端设备发送的服务测试请求,生成第三方接口调用请求;所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
发送模块,用于将所述第三方接口调用请求发送至模拟服务器;
接收模块,用于接收所述模拟服务器返回的与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
所述发送模块,还用于向所述终端设备发送所述第一测试数据。
可选的,所述测试环境标识由用户通过所述终端设备输入。
可选的,所述第一测试数据是与所述测试环境标识和所述接口调用标识匹配且状态为有效的测试数据。
可选的,所述接口调用标识包括第三方标识和接口标识。
第五方面,本发明提供一种模拟服务器,包括:存储器和处理器;所述存储器和所述处理器连接;
所述存储器用于存储计算机程序;
所述处理器用于在计算机程序被执行时,实现如上述第一方面中任一项所述的测试方法。
第六方面,本发明一种测试服务器,包括:存储器和处理器;所述存储器和所述处理器连接;
所述存储器用于存储计算机程序;
所述处理器用于在计算机程序被执行时,实现如上述第二方面中任一项所述的测试方法。
第七方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面中任一项所述的测试方法。
第八方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第二方面中任一项所述的测试方法。
第九方面,本发明提供一种测试系统,包括:模拟服务器和测试服务器;所述模拟服务器和所述测试服务器电连接;
所述模拟服务器用于实现如上述第一方面中任一项所述的测试方法;所述测试服务器用于实现如上述第二方面中任一项所述的测试方法。
本发明提供一种测试方法、装置、设备及存储介质。该测试方法包括接收测试服务器发送的第三方接口调用请求;解析该第三方接口调用请求得到该测试环境标识和该接口调用标识,从预存的测试数据中获取与该测试环境标识和该接口调用标识匹配的第一测试数据;向测试服务器发送该第一测试数据。该方法通过测试环境标识对测试环境进行区分隔离,使得模拟服务器按照测试环境的不同返回相应的测试数据,实现了多测试环境的并行测试,提高了测试效率。此外,该方法在配置测试环境的测试数据时可以拷贝和修改基础测试环境的测试数据,从而提高配置测试数据的效率。进一步地,该方法通过为每个第三方接口配置不同测试场景的测试数据并设置测试数据的有效性,使得同一个接口在不同测试场景中可以返回不同的测试数据,只需要修改对应测试场景的有效性便可完成不同测试场景的测试,而不需要再频繁修改接口返回的测试数据,达到一次配置,多次使用的效果,提高了测试效率,减少了人力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种测试方法的应用系统示意图;
图2为本发明提供的一种测试方法的流程示意图一;
图3为本发明提供的一种测试数据配置目标示意图;
图4是本发明提供的一种测试数据的配置管理页面示意图;
图5为本发明提供的一种测试方法的流程示意图二;
图6为本发明提供的一种测试装置的结构示意图一;
图7为本发明提供的一种测试装置的结构示意图二;
图8为本发明提供的一种模拟服务器的结构示意图;
图9为本发明提供的一种测试服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
软件项目测试时,为了提高测试效率和便利性,在涉及到第三方接口测试时,通常采用模拟服务器替代第三方来返回测试数据,因此预先需要在模拟服务器中配置每个接口返回的测试数据。现有技术中,当需要分别在多个测试环境下完成不同的测试任务时,由于各个测试环境所需要的测试数据不同,因此无法实现多环境的并行测试,导致测试效率较为低下。同时,测试人员在进行大量接口测试时,需要频繁修改接口的测试数据以完成不同场景的测试,在测试数据准备和修改上花费大量时间,影响测试进度。此外,这些测试数据在每次测试完成后就会被删除,后续再次进行类似测试时又需要重新准备测试数据,导致测试人员需要进行大量重复的准备工作,浪费人力、降低了测试效率。
为了解决上述问题,本发明采用测试环境标识对不同测试环境进行区分,使得模拟服务器可以根据接收到的请求中所携带的测试环境标识从预存的测试数据查找匹配测试环境标识所对应的测试环境的测试数据,使得不同测试环境下的测试完全隔离,互不影响,从而实现多测试环境的并行测试。在模拟服务器中配置测试数据时,对每个接口的不同测试场景即不同测试用例分别进行配置,避免在测试过程中再对接口返回的数据进行频繁修改。此外,本发明通过部署基础测试环境并配置基础测试环境的测试数据,在此基础上进行拷贝和相应修改即可快速得到其他测试环境的测试数据,提高了配置测试数据的效率。
图1为本发明提供的一种测试方法的应用系统示意图。如图1所示,该系统包括测试服务器10、终端20、模拟服务器30。其中,测试人员通过终端20向测试服务器10发起服务测试请求,终端20可以为个人计算机、笔记本电脑、手机和平板电脑等设备。测试服务器10上部署了基础测试环境、测试环境1和测试环境2,测试环境可称为隔离环境。可以理解的是,图1中的测试服务器10仅为示意说明,在实际部署中,测试服务器10可以为一台或多台服务器,即多个测试环境可以部分或全部部署在同一台服务器上,或者多个测试环境分别部署在不同服务器上。模拟服务器30用于拦截测试服务器发送的请求并模拟第三方返回测试数据。
其中,基础测试环境中部署了该软件项目业务的所有后端服务,例如基础测试环境中部署了服务A、服务B和服务C的后端服务。测试环境1为测试人员为测试某一功能、服务或软件特性等所需要的测试环境,测试环境1中仅部署了在基础测试环境的基础上更改了的部分后端服务,例如服务A被更改为服务A1,测试环境1上仅部署服务A1的后端服务。测试环境2是测试人员为测试另一个功能、服务或软件特性所需要的另一个测试环境,测试环境2中同样仅部署了在基础测试环境的基础上更改了的部分后端服务,例如服务B被更改为服务B2,测试环境2上仅部署服务B2的后端服务。测试环境1和测试环境2中未部署的其他未更改的后端服务均直接采用基础测试环境的服务,从而减少测试人员在测试准备阶段部署测试环境的工作量,提高效率。可以理解的是,图1中是以两个测试环境1和2为例进行示例说明,在实际应用中,测试环境的数量和服务可以根据实际需要进行部署,每个测试环境均以基础测试环境为基础部署更改了的部分后端服务即可。
测试人员通过终端20触发服务测试请求,该服务测试请求中携带了该测试人员所测试的测试环境标识,测试服务器10接收到该服务测试请求生成第三方接口调用请求,并在待第三方接口调用请求同样携带该测试环境标识,从而使得模拟服务器30可以根据该测试环境标识匹配相应的测试数据。
可选的,模拟服务器30中可以包括资源网关和配置服务模块,其中资源网关用于对接收到的第三方接口调用请求进行解析,获取第三方接口调用请求中所携带的标识;配置服务模块用于根据该标识进行测试数据的匹配,此外,配置服务模块还用于对测试数据进行配置和管理。
以下结合具体实施例对本发明提供的测试方法进行示例说明。
图2为本发明提供的一种测试方法的流程示意图一。该方法的执行主体为如图1中所示的模拟服务器。如图2所示,本实施例的方法包括:
S201、接收测试服务器发送的第三方接口调用请求。
其中,该第三方接口调用请求由该测试服务器根据终端设备发送的服务测试请求生成,该服务测试请求中包括测试环境标识,该第三方接口调用请求中包括该测试环境标识和接口调用标识。
服务测试请求可以是由测试人员通过终端设备进行手动测试或自动化测试时触发的,以一个旅行类软件的测试为例,测试人员可以通过手机测试该旅行类软件提供的机票预订业务。第三方接口调用请求用于向第三方请求调用该第三方提供的接口,例如,旅行类软件通常会对接多个供应商以提供机票业务,测试服务器可以通过第三方接口调用请求调用供应商提供的机票查询接口、机票预订接口等。模拟服务器中的资源网关拦截该第三方接口调用请求并确定向测试服务器返回模拟的测试数据。
示例的,测试人员甲通过测试环境1测试机票查询服务,测试人员甲在通过终端设备触发服务测试请求时,将测试环境1的测试环境标识tthr1通过测试页面输入,从而使得生成的服务测试请求即机票查询请求中携带该测试环境标识tthr1。测试服务器在接收到该机票查询请求后生成第三方接口调用请求,即第三方机票查询接口调用请求,该第三方机票查询接口调用请求中携带了测试环境标识tthr1以及第三方机票查询接口的接口调用标识。
测试人员乙通过测试环境2测试机票改签服务,测试人员乙在通过另一终端设备触发服务测试请求时,将测试环境2的测试环境标识tthr2通过测试页面输入,从而使得生成的服务测试请求即机票改签请求中携带该测试环境标识tthr2。测试服务器在接收到该机票改签请求后生成第三方接口调用请求,即第三方机票改签接口调用请求,该第三方机票改签接口调用请求中携带了测试环境标识tthr2以及第三方机票改签接口的接口调用标识。
接口调用标识用于唯一的标识一个第三方接口。例如,对于测试服务器所对接的每个第三方接口采用全局唯一的一个字符串进行标识。可选的,接口调用标识也可以包括第三方标识和接口标识,即,采用第三方标识对测试服务器所对接的每个第三方进行唯一标识,之后再采用接口标识对每个第三方的接口进行唯一标识。示例的,上述的旅行类软件中对接了3个机票供应商,这三个供应商的第三方标识分别为301、72421和78601。其中,第三方标识为301的供应商提供的航班查询接口的接口标识为flightSearch,第三方标识为72421的供应商提供的航班查询接口的接口标识为flightListSearch、第三方标识为78601的供应商提供的航班查询接口的接口标识为为flightList。
S202、解析该第三方接口调用请求得到该测试环境标识和该接口调用标识,从预存的测试数据中获取与该测试环境标识和该接口调用标识匹配的第一测试数据。
参照S201中的示例,测试人员甲通过测试环境1测试第三方标识为301的供应商的航班查询服务,测试服务器发送的第三方接口调用请求中包括了测试环境标识和接口调用标识,其中,测试环境标识为tthr1,接口调用标识包括了第三方标识301和接口标识flightSearch,模拟服务器接收到该第三方接口调用请求后对其进行解析,例如通过资源网管进行解析,获得上述三个标识,该三个标识形成了该第三方接口调用请求对应的唯一键值tthr1-301-flightSearch。对于每个第三方接口调用请求,模拟服务器均可解析获得其对应的唯一键值envtag-supplier-api。其中,envtag为测试环境标识,supplier为第三方标识,api为接口标识,该键值中的每一项的实际值与测试环境和所测试的具体业务相关。
预存的测试数据中的每个测试数据均具有相应的测试环境标识和接口调用标识,模拟服务器将从第三方接口调用请求中解析获得的测试环境标识和接口调用标识与预存的测试数据逐个进行匹配,获得与该测试环境标识和该接口调用标识匹配的第一测试数据。例如,测试环境标识为tthr1、第三方标识为301以及接口标识为flightSearch的第一测试数据为:
{“code":0,"message":"SUCCESS","createTime":1551356542324,"result":{"total":1,"code":0,"message":"SUCCESS","flightInfos":[{"dpt":"HRB","arr":"PVG","dptAirport":"太平机场","dptTerminal":"T2","arrAirport":"浦东机1场","arrTerminal":"T1","dptTime":"09:15","arrTime":"13:55","carrier":"HO","flightNum":"HO3704","cabin":"F","distance":"1854","flightTimes":"4小时40分钟","arf":50,"tof":0,"planetype":"32L","flightTypeFullName":"空客320(中)","codeShare":true,"actFlightNum":"MU5616","stop":true,"stopsNum":1,"stopCityCode":"YKH","stopCityName":"营口","stopAirportCode":"YKH","stopAirportName":"兰旗机场","stopAirportFullName":"营口兰旗机场","barePrice":7240,"tag":"OPL11","bfTag":"","bfPrice":0,"bfBarePrice":0,"price":0,"discount":10,"meal":true,"minVppr":0,"flightQuotePrices":null}]},"success":true}
S203、向该测试服务器发送该第一测试数据。
模拟服务器通过对测试环境标识和接口调用标识进行匹配获得第一测试数据后,将该第一测试数据返回给测试服务器,以便于测试服务器再向终端设备返回第一测试数据,以使测试人员获得测试结果。
本实施例提供的测试方法通过接收测试服务器发送的第三方接口调用请求,并对该第三方接口调用请求进行解析得到测试环境标识和接口调用标识,从预存的测试数据中获取与该测试环境标识和该接口调用标识匹配的第一测试数据,进而向该测试服务器发送该第一测试数据。该方法通过测试环境标识对测试环境进行区分隔离,使得模拟服务器按照测试环境的不同返回相应的测试数据,实现了多测试环境的并行测试,提高了测试效率。
在上述实施例中,模拟服务器从预存的测试数据中获取与第三方接口调用请求中的测试环境标识和接口调用标识匹配的第一测试数据,这里,预存的测试数据可以是测试人员预先配置的,下面对测试数据的配置和管理进行示例说明。
可选的,模拟服务器接收用户为多个测试环境中每个测试环境的每个第三方的每个接口配置的至少一个测试场景的测试数据;每个该测试数据具有对应的测试环境标识和接口调用标识;将该测试数据存储至预设数据库。
本实施例中,模拟服务器可以采用配置服务模块config-server进行测试数据的配置和管理。配置服务模块可以按照三维目标进行测试数据的配置,三维目标包含X目标窗口、Y目标窗口和Z目标窗口。如图3所示,X目标窗口指的是粗粒度的第三方维度的窗口,如供应商维度的窗口;Y目标窗口指的是细粒度的接口维度的目标窗口,例如航班列表接口,航班报价接口,航班退改签接口,航班验价接口,航班生单接口,订单支付接口,通知出票接口,退票接口,改签接口,接口有效性等;Z目标窗口指的细粒度的多测试环境维度的目标窗口。
配置服务模块还可以提供一个前端页面供用户使用,图4是本发明提供的一种测试数据的配置管理页面示意图。如图4所示,在该配置管理页面上,可以选择配置的测试环境,如选择测试环境;还可选择配置的第三方,如图中分别列举了四个供应商;进一步的,选择配置的第三方接口,如售前、退票、改签过程中涉及的各类接口。此外,在每个接口下还可配置不同测试场景的测试数据,例如在搜索的接口下,配置了场景ID分别为182和254的两个测试场景的测试数据。配置的测试数据可以先存储在数据库中,例如MySQL中,再有定时任务定期触发写入Redis中。
在为不同测试环境配置测试数据时,为了提高效率,还可以采用如下方式进行配置:接收用户为基础测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据;拷贝该基础测试环境的测试数据,并将该基础测试环境的测试数据进行修改获得该多个测试环境中的任一测试环境的测试数据。
基础测试环境中部署了该软件项目业务的所有后端服务,为基础测试环境配置测试数据时,按照新增第三方、新增第三方接口、新增测试场景的顺序逐步进行配置,之后可以将该基础测试环境的测试数据作为基础测试数据保存至数据库中。在为不同的测试环境进行配置时,可以将基础测试环境的测试数据进行拷贝并做相应的修改,例如将测试环境1更改了的部分接口对应的测试数据进行修改,其他接口的测试数据则保持不变;或者测试环境1在基础环境的基础上新增第三方、新增第三方接口、新增测试场景。对测试环境的测试数据配置完成后可以手动触发定时任务将对应的测试数据存入Redis中。采用该方法可以提高配置测试数据的效率,每个测试环境的测试数据在测试完成后可以选择保存也可以选择删除,保存的测试数据可以供后续测试使用。
针对每个第三方接口可以配置不同测试场景的测试数据,即预存的每个测试数据具有对应的测试场景标识,每个测试数据的状态可以被设置为有效或无效。从而,预存的每个测试数据具有测试环境标识、接口调用标识、测试场景标识和状态是否有效。上述各标识构成了每个测试数据的唯一键值,以测试环境1中第三方标识为301的供应商的机票查询接口为例,若在该接口下配置了正常场景A且状态为有效的测试数据,则该测试数据的唯一键值为tthr1-301-flightSearch-正常场景A-有效。可选的,每个测试数据还可以具有一个编号。每个测试数据的唯一键值可以为ruleid-envtag-supplier-api-scene-effectiveness,其中,ruleid为测试数据的编号,envtag为测试环境标识,supplier为第三方标识,api为接口标识,scene为测试场景标识,effectiveness为状态有效或无效。
在实际应用中,测试人员可以将待测试场景的测试数据的状态置为有效,将待测试场景之外的其他测试场景的测试数据的状态置为无效。这样,测试人员在进行接口的大量不同场景的测试时,同一个接口在不同的测试用例即测试场景中可以返回不同的测试数据,只需要修改对应测试场景的有效性便可完成测试,而不需要再频繁修改接口返回的测试数据,提高了测试效率,减少了人力成本。
相应的,S202中,从预存的测试数据中获取与该测试环境标识和该接口调用标识匹配的第一测试数据,可以包括:从预设数据库中获取与该测试环境标识和该接口调用标识匹配且状态为有效的第一测试数据。
模拟服务器在对第三方接口调用请求进行解析后获得由测试环境标识和接口调用标识组成的键值envtag-supplier-api,并对预设数据库中的测试数据的键值进行遍历,若测试数据的键值ruleid-envtag-supplier-api-scene-effectiveness包括了第三方接口调用请求的键值,则匹配完成。此外,由于每个第三方接口可以配置一个或多个测试场景的测试数据,因此匹配结果可能为多个测试数据,模拟服务器从该多个测试数据库中确定状态为有效的测试数据,该有效的测试数据即为需要返回的测试数据,从而实现了通过有效性进行测试数据的资源管理,管理方便快捷,达到一次配置,多次使用的效果。
图5为本发明提供的一种测试方法的流程示意图二。该方法的执行主体为如图1中所示的测试服务器。如图5所示,本实施例的方法包括::
S501、根据终端设备发送的服务测试请求,生成第三方接口调用请求。
其中,该服务测试请求中包括测试环境标识,该第三方接口调用请求中包括该测试环境标识和接口调用标识。
S502、将该第三方接口调用请求发送至模拟服务器。
服务测试请求可以是由测试人员通过终端设备进行手动测试或自动化测试时触发的,以一个旅行类软件的测试为例,测试人员可以通过手机测试该旅行类软件提供的机票预订业务。第三方接口调用请求用于向第三方请求调用该第三方提供的接口,例如,旅行类软件通常会对接多个供应商以提供机票业务,测试服务器可以通过第三方接口调用请求调用供应商提供的机票查询接口、机票预订接口等。测试服务器生成第三方接口调用请求后将其发送至模拟服务器。
接口调用标识用于唯一的标识一个第三方接口。例如,对于测试服务器所对接的每个第三方接口采用全局唯一的一个字符串进行标识。可选的,接口调用标识也可以包括第三方标识和接口标识,即,采用第三方标识对测试服务器所对接的每个第三方进行唯一标识,之后再采用接口标识对每个第三方的接口进行唯一标识。
S503、接收该模拟服务器返回的与该测试环境标识和该接口调用标识匹配的第一测试数据。
S504、向该终端设备发送该第一测试数据。
模拟服务器接收到第三方接口调用请求后对其进行解析,例如通过资源网管进行解析,获得测试环境标识、第三方标识和接口标识,该三个标识形成了该第三方接口调用请求对应的唯一键值,例如tthr1-301-flightSearch。对于每个第三方接口调用请求,模拟服务器均可解析获得其对应的唯一键值envtag-supplier-api。其中,envtag为测试环境标识,supplier为第三方标识,api为接口标识,该键值中的每一项的实际值与测试环境和所测试的具体业务相关。
预存的测试数据中的每个测试数据均具有相应的测试环境标识和接口调用标识,模拟服务器将从第三方接口调用请求中解析获得的测试环境标识和接口调用标识与预存的测试数据逐个进行匹配,获得与该测试环境标识和该接口调用标识匹配的第一测试数据,并将其发送给终端设备,以便于测试人员获得测试结果。
本实施例提供的测试方法,在终端设备发送的服务测试请求中携带了测试环境标识,从而测试服务器生成的第三方接口调用请求中也携带该测试环境标识,进而使得模拟服务器根据该测试环境标识返回相应的测试数据,实现了多测试环境的并行测试,提高了测试效率。
可选的,该测试环境标识由用户通过该终端设备输入。示例的,测试人员甲通过测试环境1测试机票查询服务,测试人员甲在通过终端设备触发服务测试请求时,将测试环境1的测试环境标识tthr1通过测试页面输入,从而使得生成的服务测试请求即机票查询请求中携带该测试环境标识tthr1。
可选的,该第一测试数据是与该测试环境标识和该接口调用标识匹配且状态为有效的测试数据。
针对每个第三方接口可以配置不同测试场景的测试数据,即预存的每个测试数据具有对应的测试场景标识,每个测试数据的状态可以被设置为有效或无效。从而,预存的每个测试数据具有测试环境标识、接口调用标识、测试场景标识和状态是否有效。上述各标识构成了每个测试数据的唯一键值,以测试环境1中第三方标识为301的供应商的机票查询接口为例,若在该接口下配置了正常场景A且状态为有效的测试数据,则该测试数据的唯一键值为tthr1-301-flightSearch-正常场景A-有效。可选的,每个测试数据还可以具有一个编号。每个测试数据的唯一键值可以为ruleid-envtag-supplier-api-scene-effectiveness,其中,ruleid为测试数据的编号,envtag为测试环境标识,supplier为第三方标识,api为接口标识,scene为测试场景标识,effectiveness为状态有效或无效。
在实际应用中,测试人员可以将待测试场景的测试数据的状态置为有效,将待测试场景之外的其他测试场景的测试数据的状态置为无效。这样,测试人员在进行接口的大量不同场景的测试时,同一个接口在不同的测试用例即测试场景中可以返回不同的测试数据,只需要修改对应测试场景的有效性便可完成测试,而不需要再频繁修改接口返回的测试数据,提高了测试效率,减少了人力成本。
模拟服务器在对第三方接口调用请求进行解析后获得由测试环境标识和接口调用标识组成的键值envtag-supplier-api,并对预设数据库中的测试数据的键值进行遍历,若测试数据的键值ruleid-envtag-supplier-api-scene-effectiveness包括了第三方接口调用请求的键值,则匹配完成。此外,由于每个第三方接口可以配置一个或多个测试场景的测试数据,因此匹配结果可能为多个测试数据,模拟服务器从该多个测试数据库中确定状态为有效的测试数据,该有效的测试数据即为需要返回的测试数据,从而实现了通过有效性进行测试数据的资源管理,管理方便快捷,达到一次配置,多次使用的效果。
图6为本发明提供的一种测试装置的结构示意图一。该装置可以为图1中所示的模拟服务器。如图6所示,测试装置600包括:
接收模块601,用于接收测试服务器发送的第三方接口调用请求;该第三方接口调用请求由该测试服务器根据终端设备发送的服务测试请求生成,该服务测试请求中包括测试环境标识,该第三方接口调用请求中包括该测试环境标识和接口调用标识;
处理模块602,用于解析该第三方接口调用请求得到该测试环境标识和该接口调用标识,从预存的测试数据中获取与该测试环境标识和该接口调用标识匹配的第一测试数据;
发送模块603,用于向该测试服务器发送该第一测试数据。
可选的,该装置600还包括:
配置模块604,用于接收用户为多个测试环境中每个测试环境的每个第三方的每个接口配置的至少一个测试场景的测试数据;每个该测试数据具有对应的测试环境标识和接口调用标识;并将该测试数据存储至预设数据库。
可选的,该接收模块601用于:
接收用户为基础测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据;
拷贝该基础测试环境的测试数据,并将该基础测试环境的测试数据进行修改获得该多个测试环境中的任一测试环境的测试数据。
可选的,每个该测试数据还具有对应的测试场景标识,且待测试场景的测试数据的状态为有效,待测试场景之外的其他测试场景的测试数据的状态为无效;
该处理模块602用于:
从预设数据库中获取与该测试环境标识和该接口调用标识匹配且状态为有效的第一测试数据。
可选的,该接口调用标识包括第三方标识和接口标识。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明提供的一种测试装置的结构示意图二。该装置可以为图1中所示的测试服务器。如图7所示,测试装置700包括:
请求模块701,用于根据终端设备发送的服务测试请求,生成第三方接口调用请求;该服务测试请求中包括测试环境标识,该第三方接口调用请求中包括该测试环境标识和接口调用标识;
发送模块702,用于将该第三方接口调用请求发送至模拟服务器;
接收模块703,用于接收该模拟服务器返回的与该测试环境标识和该接口调用标识匹配的第一测试数据;
该发送模块702,还用于向该终端设备发送该第一测试数据。
可选的,该测试环境标识由用户通过该终端设备输入。
可选的,该第一测试数据是与该测试环境标识和该接口调用标识匹配且状态为有效的测试数据。
可选的,该接口调用标识包括第三方标识和接口标识。
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明提供的一种模拟服务器的结构示意图。如图8所示,该模拟服务器800包括:存储器801和处理器802;该存储器801和该处理器802连接。
该存储器800用于存储计算机程序;
该处理器801用于在计算机程序被执行时,实现如图2所示实施例的测试方法。
图9为本发明提供的一种测试服务器的结构示意图。如图9所示,测试服务器900包括:存储器901和处理器902;该存储器901和该处理器902连接。
该存储器901用于存储计算机程序;
该处理器902用于在计算机程序被执行时,实现如图5所示实施例的测试方法。
本发明提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如上述任一项实施例的测试方法。
本发明提供一种测试系统,包括:模拟服务器和测试服务器;该模拟服务器和该测试服务器电连接。
该模拟服务器用于实现如图2所示实施例的测试方法;该测试服务器用于实现如图5所示实施例的测试方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (16)
1.一种测试方法,其特征在于,包括:
接收测试服务器发送的第三方接口调用请求;所述第三方接口调用请求由所述测试服务器根据终端设备发送的服务测试请求生成,所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
解析所述第三方接口调用请求得到所述测试环境标识和所述接口调用标识,从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
向所述测试服务器发送所述第一测试数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户为多个测试环境中每个测试环境的每个第三方的每个接口配置的至少一个测试场景的测试数据;每个所述测试数据具有对应的测试环境标识和接口调用标识;
将所述测试数据存储至预设数据库。
3.根据权利要求2所述的方法,其特征在于,所述接收用户为多个测试环境中每个测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据,包括:
接收用户为基础测试环境中的每个第三方的每个接口配置至少一个测试场景的测试数据;
拷贝所述基础测试环境的测试数据,并将所述基础测试环境的测试数据进行修改获得所述多个测试环境中的任一测试环境的测试数据。
4.根据权利要求2所述的方法,其特征在于,每个所述测试数据还具有对应的测试场景标识,且待测试场景的测试数据的状态为有效,待测试场景之外的其他测试场景的测试数据的状态为无效;
所述从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据,包括:
从预设数据库中获取与所述测试环境标识和所述接口调用标识匹配且状态为有效的第一测试数据。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述接口调用标识包括第三方标识和接口标识。
6.一种测试方法,其特征在于,包括:
根据终端设备发送的服务测试请求,生成第三方接口调用请求;所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
将所述第三方接口调用请求发送至模拟服务器;
接收所述模拟服务器返回的与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
向所述终端设备发送所述第一测试数据。
7.根据权利要求6所述的方法,其特征在于,所述测试环境标识由用户通过所述终端设备输入。
8.根据权利要求6所述的方法,其特征在于,所述第一测试数据是与所述测试环境标识和所述接口调用标识匹配且状态为有效的测试数据。
9.根据权利要求6-8任一项所述的方法,其特征在于,所述接口调用标识包括第三方标识和接口标识。
10.一种测试装置,其特征在于,包括:
接收模块,用于接收测试服务器发送的第三方接口调用请求;所述第三方接口调用请求由所述测试服务器根据终端设备发送的服务测试请求生成,所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
处理模块,用于解析所述第三方接口调用请求得到所述测试环境标识和所述接口调用标识,从预存的测试数据中获取与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
发送模块,用于向所述测试服务器发送所述第一测试数据。
11.一种测试装置,其特征在于,包括:
请求模块,用于根据终端设备发送的服务测试请求,生成第三方接口调用请求;所述服务测试请求中包括测试环境标识,所述第三方接口调用请求中包括所述测试环境标识和接口调用标识;
发送模块,用于将所述第三方接口调用请求发送至模拟服务器;
接收模块,用于接收所述模拟服务器返回的与所述测试环境标识和所述接口调用标识匹配的第一测试数据;
所述发送模块,还用于向所述终端设备发送所述第一测试数据。
12.一种模拟服务器,其特征在于,包括:存储器和处理器;所述存储器和所述处理器连接;
所述存储器用于存储计算机程序;
所述处理器用于在计算机程序被执行时,实现如上述权利要求1-5中任一项所述的测试方法。
13.一种测试服务器,其特征在于,包括:存储器和处理器;所述存储器和所述处理器连接;
所述存储器用于存储计算机程序;
所述处理器用于在计算机程序被执行时,实现如上述权利要求6-9中任一项所述的测试方法。
14.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述权利要求1-5中任一项所述的测试方法。
15.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述权利要求6-9中任一项所述的测试方法。
16.一种测试系统,其特征在于,包括:模拟服务器和测试服务器;所述模拟服务器和所述测试服务器电连接;
所述模拟服务器用于实现如上述权利要求1-5中任一项所述的测试方法;所述测试服务器用于实现如上述权利要求6-9中任一项所述的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134833.2A CN111309624B (zh) | 2020-03-02 | 2020-03-02 | 测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134833.2A CN111309624B (zh) | 2020-03-02 | 2020-03-02 | 测试方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309624A true CN111309624A (zh) | 2020-06-19 |
CN111309624B CN111309624B (zh) | 2023-07-11 |
Family
ID=71155002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010134833.2A Active CN111309624B (zh) | 2020-03-02 | 2020-03-02 | 测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309624B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087317A (zh) * | 2020-08-07 | 2020-12-15 | 中国南方航空股份有限公司 | 一种航班仿真系统 |
CN112783776A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种基于接口路由的测试方法、装置和电子设备 |
CN112819605A (zh) * | 2021-01-29 | 2021-05-18 | 山东浪潮通软信息科技有限公司 | 资金结算业务测试方法、装置及计算机可读介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168744A1 (en) * | 2005-11-22 | 2007-07-19 | International Business Machines Corporation | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment |
US20130219217A1 (en) * | 2012-02-17 | 2013-08-22 | Serve Virtual Enterprises, Inc. | System and method for automated test configuration and evaluation |
CN106250314A (zh) * | 2016-08-04 | 2016-12-21 | 合网络技术(北京)有限公司 | 一种测试数据获取方法与系统 |
CN108536578A (zh) * | 2017-03-06 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种测试方法及装置 |
CN108804548A (zh) * | 2018-05-21 | 2018-11-13 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 测试数据查询方法、装置、计算机设备和存储介质 |
CN109062806A (zh) * | 2018-09-14 | 2018-12-21 | 杭州数梦工场科技有限公司 | 一种程序测试方法、系统、装置及计算机可读存储介质 |
CN109446063A (zh) * | 2018-09-18 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN110147320A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 接口测试方法、装置及电子设备 |
CN110399303A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 用于准备测试数据的方法、数据准备装置和电子设备 |
-
2020
- 2020-03-02 CN CN202010134833.2A patent/CN111309624B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168744A1 (en) * | 2005-11-22 | 2007-07-19 | International Business Machines Corporation | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment |
US20130219217A1 (en) * | 2012-02-17 | 2013-08-22 | Serve Virtual Enterprises, Inc. | System and method for automated test configuration and evaluation |
CN106250314A (zh) * | 2016-08-04 | 2016-12-21 | 合网络技术(北京)有限公司 | 一种测试数据获取方法与系统 |
CN108536578A (zh) * | 2017-03-06 | 2018-09-14 | 阿里巴巴集团控股有限公司 | 一种测试方法及装置 |
CN108804548A (zh) * | 2018-05-21 | 2018-11-13 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 测试数据查询方法、装置、计算机设备和存储介质 |
CN109062806A (zh) * | 2018-09-14 | 2018-12-21 | 杭州数梦工场科技有限公司 | 一种程序测试方法、系统、装置及计算机可读存储介质 |
CN109446063A (zh) * | 2018-09-18 | 2019-03-08 | 深圳壹账通智能科技有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109656806A (zh) * | 2018-10-29 | 2019-04-19 | 口碑(上海)信息技术有限公司 | 一种接口数据的回放测试方法及装置 |
CN110147320A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 接口测试方法、装置及电子设备 |
CN110399303A (zh) * | 2019-07-29 | 2019-11-01 | 中国工商银行股份有限公司 | 用于准备测试数据的方法、数据准备装置和电子设备 |
Non-Patent Citations (4)
Title |
---|
DHARMALINGAM GANESAN等: "An analysis of unit tests of a flight software product line", SCIENCE OF COMPUTER PROGRAMMING, vol. 78, no. 12, pages 2360 - 2380 * |
LESLIE D. MCINTOSH等: "caTissue Suite to OpenSpecimen: Developing an extensible, open source, web-based biobanking management system", JOURNAL OF BIOMEDICAL INFORMATICS, vol. 57, pages 456 - 464, XP029961014, DOI: 10.1016/j.jbi.2015.08.020 * |
高显强: "在线广告检索系统测试平台的设计和实现", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 5, pages 138 - 1851 * |
高虎 等: "机载设备驱动软件自动化测试环境框架设计", 计算机工程与设计, vol. 39, no. 4, pages 992 - 998 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087317A (zh) * | 2020-08-07 | 2020-12-15 | 中国南方航空股份有限公司 | 一种航班仿真系统 |
CN112783776A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种基于接口路由的测试方法、装置和电子设备 |
CN112819605A (zh) * | 2021-01-29 | 2021-05-18 | 山东浪潮通软信息科技有限公司 | 资金结算业务测试方法、装置及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111309624B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959201B2 (en) | Automated test generation for multi-interface enterprise virtualization management environment | |
CN105389256B (zh) | 一种单元测试方法及系统 | |
CN111309624A (zh) | 测试方法、装置、设备及存储介质 | |
US20140081615A1 (en) | Virtual systems testing | |
CN110147320A (zh) | 接口测试方法、装置及电子设备 | |
CN110765024A (zh) | 模拟测试方法、装置、电子设备和计算机可读存储介质 | |
US10552306B2 (en) | Automated test generation for multi-interface and multi-platform enterprise virtualization management environment | |
CN105357204A (zh) | 生成终端识别信息的方法及装置 | |
CN113360947A (zh) | 数据脱敏方法及装置、计算机可读存储介质、电子设备 | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN111881042A (zh) | 自动化测试脚本的生成方法、装置和电子设备 | |
CN111159040A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN112765029A (zh) | 测试方法、装置、电子设备及计算机存储介质 | |
CN112068812A (zh) | 一种微服务生成方法、装置、计算机设备和存储介质 | |
CN113609014A (zh) | 一种接口字段校验方法、装置、存储介质及电子设备 | |
CN111210279B (zh) | 一种目标用户预测方法、装置和电子设备 | |
CN115914219A (zh) | 任务请求处理方法、装置、系统、可读存储介质和电子设备 | |
CN113127357A (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
CN114371982A (zh) | 一种模拟测试方法、装置、设备及可读存储介质 | |
CN110650063A (zh) | 一种集中式的银行第三方软件仿真系统及方法 | |
CN113741868A (zh) | 业务计算任务处理方法、装置、计算机设备和存储介质 | |
CN112882922B (zh) | 一种测试方法和相关装置 | |
CN113641747B (zh) | 一种postman工具接入数据库方法、装置及系统 | |
CN114189553B (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 |