CN114691473A - 一种测试方法、装置与电子设备 - Google Patents
一种测试方法、装置与电子设备 Download PDFInfo
- Publication number
- CN114691473A CN114691473A CN202011607536.1A CN202011607536A CN114691473A CN 114691473 A CN114691473 A CN 114691473A CN 202011607536 A CN202011607536 A CN 202011607536A CN 114691473 A CN114691473 A CN 114691473A
- Authority
- CN
- China
- Prior art keywords
- service
- test
- request
- response result
- service request
- 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/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/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为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例中一种测试方法的流程图,图1中的方法应用于测试系统,如图1所示,本实施例的方法包括以下步骤:
S110,拦截业务请求。
本实施例将向生产环境的第二服务发送的业务请求拦截下来,可以利用如图2所示的测试系统的前置模块来拦截业务请求,发送给生产环境的各类请求需要通过前置模块来转发,前置模块在将接收到的各类请求转发给生产环境前,还通过请求的标识符对各类请求进行过滤,筛选出发送给第二服务的业务请求。
S120,将业务请求发送给部署在生产环境中的第二服务,以及将业务请求转发至部署在测试环境中的第一服务。
其中,第二服务为待升级服务,第一服务为第二服务的待测试版本。可以获取生产环境中待升级的第二服务的待测试版本作为第一服务,将第一服务部署到测试环境。这样,在拦截到业务请求时,向生产环境中的第二服务发送该业务请求,并该业务请求异步转发给第一服务,使第一服务基于该业务请求进行相应的处理,得到测试响应结果。
本实施例中,测试环境与生产环境相互独立,测试环境是与生产环境同等的镜像服务的提供者,测试环境与生产环境主要的区别为测试环境的服务数据可以删除,而生产环境的所有操作都需要留痕而且不具有删除功能。
S130,控制第一服务处理业务请求,并获取与业务请求相对应的测试响应结果。
这里测试系统控制第一服务处理业务请求,并控制第一服务将对业务请求进行处理所得到的测试响应结果存储到第一存储器中,以便于在验证第一服务的测试结果时从第一存储器中获得所需的测试响应结果。
S140,获取第二服务根据业务请求得到的生产响应结果。
这里生产环境的第二服务在接收到业务请求时,按照原有的处理逻辑对业务请求进行处理,测试系统控制第二服务将对业务请求进行处理所得到的生成响应结果存储到第二存储中,以便于在验证第一服务的测试结果时从第二存储器中获得所需的生产响应结果。
S150,根据测试响应结果和生产响应结果,确定对第一服务的测试结果。
在得到测试响应结果和生产响应结果之后,从第一存储器与第二存储器中获取一一对应的响应结果,利用对比工具对两个不同存储器中的响应结果进行对比,对比成功,表明第一服务与第二服务具有相同的功能,此时第一服务是可靠的,满足上线要求;对比失败,表明第一服务存在缺陷,可以根据参与比对的响应结果定位第一服务的缺陷类型与缺陷位置。
由图1所示可知,本实施例通过构建测试环境与对业务请求的拦截,使测试环境可以基于生产环境中真实的业务请求作为数据源进行测试,实现待上线服务的功能全覆盖,避免测试数据不够真实造成测试盲区而导致的生产故障,保证服务质量;且整个测试过程不需要业务方参与,极大地提高了测试效率,降低研发成本。
在一个实施例中,上述步骤S110具体是通过下述步骤111与步骤112来拦截业务请求:
步骤111,接收发送给生产环境的请求,并获取请求的标识符。
参考图2,本实施例的测试系统包括前置模块,该前置模块用于接收发送给生产环境的各类请求,并对接收到的请求进行解析,以获取请求的标识符。
步骤112,根据标识符拦截发送给第二服务的业务请求。
前置模块根据标识符确定该请求是否为发送给第二服务的业务请求,若确定该请求为业务请求,拦截业务请求,并执行上述步骤S120;若确定该请求为非业务请求,将该请求仅发送给生产环境,不转发给测试环境。
举例而言,测试系统中预先设置有对照表项,该对照表项中以各请求的标识符为关键字罗列各业务所涉及的全部请求,并指示各请求对应的服务及该服务的具体功能。以清算业务所涉及的记账业务请求为例,对照表项指示该记账业务请求对应记账接口服务的记账功能。测试系统将该对照表项下发至前置模块,前置模块在接收到该业务请求之后,可以通过其标识符从对照表项中得到该业务请求对应记账接口服务,进而实现对目标业务请求的拦截。
需要说明的是,测试系统包括的前置模块可以是生成环境中原有的前置模块,测试系统在原有的前置模块中增加过滤模块,此时前置模块按照原有的处理逻辑对发送给生产环境的请求进行发送处理,前置模块在接收到的请求时,会启动一个线程,由该线程执行过滤模块的过滤功能,即获取前置模块接收到的请求,并根据标识符对请求进行过滤,若确定出该请求为发送给第二服务的业务请求,该线程异步转发该业务请求至图2中的消息转发组件,第一服务通过订阅消息转发组件,接收消息转发组件中的业务请求。
这里消息转发组件主要用于消息转发,例如采用kafka、rabbitMq等消息中间件作为消息转发组件,将业务请求发送给测试环境的第一服务。可以理解的是,消息转发组件主要是通过异步调用的方式将业务请求转发给测试环境的第二服务,那么消息转发组件对业务请求的转发过程可以被远程过程调用或者HTTP(HyperText Transfer Protocol,超文本传输协议)等消息请求方式替代,本实施例对实现业务请求转发的方式不做具体限定。
当然,测试系统包括的前置模块可以重新搭建的,利用重新搭建的前置模块代替生成环境中原有的前置模块。此时,若确定前置模块接收到的请求为业务请求,该业务请求可以同步转发给第一服务与第二服务。
继续参考图2,在控制第一服务处理业务请求之后,将第一服务对业务请求的测试响应结果与第一标识符相对应地存储到第一存储器中,第一标识符中包括与业务请求一一对应的标识符、以及与测试响应结果一一对应的流水号,即测试响应结果在第一存储器中至少通过业务请求的标识符与流水号进行标识。
相应的,在第二服务处理业务请求之后,将第二服务对业务请求的生成响应结果存储到第二存储器中,这里生产响应结果与第一标识符一一对应地存储于第二存储器中,即一一对应的生产响应结果与测试响应结果在第一存储器、第二存储器中采用相同的第一标识符进行标识。这样,上述步骤S140是根据第一标识符从存储生产响应结果的第二存储器中获取生产响应结果,此时获得的生产响应结果与获得的测试响应结果一一对应,以便于确定对第一服务的测试结果。
由于业务请求的标识符在整个业务系统中具有唯一性,因此可以将业务请求的标识符作为响应结果(包括测试响应结果与生产响应结果)在存储器(包括第一存储器与第二存储器)中的第一层标识,以与其他业务请求对应的响应结果进行区分。而第二服务或第一服务在对业务请求进行处理时,得到的响应结果一般携带号对应的流水号,由于流水号在整个业务系统具有唯一性,因此可以将该流水号作为响应结果在存储器中的第二层标识,以与同一业务请求下的各响应结果进行区分。
这样在获取与业务请求相对应的测试响应结果时,可以先根据标识符从第一存储器中匹配出与业务请求对应的若干响应结果;然后再根据测试响应结果的流水号从多个测试响应结果中得到用于验证服务一致性的测试响应结果。在得到用于验证服务唯一性的测试响应结果之后,根据该用于验证服务唯一性的测试响应结果对应的标识符与流水号从第二存储器中获取对应的生产响应结果。
在得到一一对应的生产响应结果与测试响应结果之后,别从所述测试响应结果和所述生产响应结果中抽取出关键数据,对关键数据进行对比,若满足一致性条件,即关键数据一致,则确定第一服务的测试结果满足发布要求。
其中,关键数据是指第一服务与第二服务产生的可以验证服务一致性的中间数据。由于第一服务与第二服务对业务请求进行处理时,在每个处理阶段都会生成处理结果,而大部分的处理结果都是基于凭证表的凭证数据得到的,因此,可以从凭证表中抽取可以验证服务一致性的中间数据作为关键数据。以记账接口提供的服务为例,可以通过验证记账凭证表里的数据是否一致,来确定记账接口在生产环境和测试环境是否提供了相同的服务。
需要说明的是,本实施例是对两个存储器中的关键数据进行对比,而不是对全量数据对比,比如对记账功能的服务而言,可以只对比记账凭证信息和总账信息。
在进行关键数据的一致性判断时,可以人工观察,如果没有出现不一致的情况,则部署在测试环境的第一服务和部署在生产环境上的第二服务的功能一致,此时确定第一服务的测试结果满足发布要求。显然也可以采用自动化技术实现关键数据的一致性判断,一旦出现对比差异,即不满足一致性条件,表明第一服务和第二服务所提供的功能不一致,此时可以生成提示消息,利用提示消息提醒第一服务不满足上线需求,此时可能是第一服务的底层代码存在问题,需要人工处理第一服务,将处理后的第一服务重新部署在测试环境进行质量验证。
实际应用中,可以在测试环境验证多个(两个或三个)服务周期之后,再将第一服务发布到生产环境中,以保证服务质量的稳定性。其中,服务周期是测试环境与生产环境共同约定的时间周期,与具体的服务相关。以金融领域的对账服务而言,一般是每天进行一次对账,那么此时一个服务周期即为一次对账周期,在此周期内采用上述图1中的方法对第一服务进行质量测试。
本实施例中的测试系统还具有故障感知功能,即在确定第一服务满足发布要求之后,在测试环境上部署第三服务,并控制第一服务重新对业务请求进行处理,获得重新处理后的测试响应结果,根据重新获得的测试响应结果和生产响应结果确定对第一服务的测试结果,此时,若第一服务的测试结果满足发布要求,确定第三服务不会对第一服务产生影响,若第一服务的测试结果变为不满足发布要求,确定第三服务对第一服务产生影响,由此实现故障感知,降低生产故障发生的概率。
在确定第一服务满足发布要求之后,还将第一服务发布到生产环境;或者,将第一服务发送到发布服务器,以使发布服务器将第一服务发布到生产环境。
图3为本申请实施例中一种测试装置的结构框图,本实施例的装置应用于测试系统,如图3所示,测试装置300包括:
拦截单元310,用于拦截业务请求;
转发单元320,用于将所述业务请求发送给部署在生产环境中的第二服务,以及将所述业务请求转发至部署在测试环境中的第一服务,所述第一服务为所述第二服务的待测试版本;
控制单元330,用于控制所述第一服务处理所述业务请求,并获取与所述业务请求相对应的测试响应结果;
获取单元340,用于获取所述第二服务根据所述业务请求得到的生产响应结果;
测试单元350,用于根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果。
在一个实施例中,拦截单元310,用于接收发送给所述生产环境的请求,并获取所述请求的标识符;根据所述标识符拦截发送给所述第二服务的业务请求;具体是:根据所述标识符确定所述请求是否为发送给所述第二服务的业务请求;若确定所述请求为业务请求,拦截所述业务请求;若确定所述请求为非业务请求,将所述请求仅发送给所述生产环境。
在一个实施例中,控制单元330,用于控制所述第一服务处理所述业务请求之后,将所述第一服务对所述业务请求的测试响应结果与第一标识符相对应地存储到第一存储器中,所述第一标识符中包括与所述业务请求一一对应的标识符、以及与所述测试响应结果一一对应的流水号。
相应的,获取单元340,用于根据所述第一标识符从存储生产响应结果的第二存储器中获取所述生产响应结果,所述生产响应结果与所述第一标识符一一对应地存储于所述第二存储器中。
在一个实施例中,控制单元330,还用于根据所述标识符从所述第一存储器中匹配出与所述业务请求对应的若干响应结果;根据测试响应结果的流水号从多个测试响应结果中得到用于验证服务一致性的测试响应结果。
在一个实施例中,测试单元350,分别从所述测试响应结果和所述生产响应结果中抽取出关键数据,对关键数据进行对比,若满足一致性条件,确定所述第一服务的测试结果满足发布要求。
在一个实施例中,测试装置300还包括发布单元,用于将所述第一服务发布到所述生产环境;或者,将所述第一服务发送到发布服务器,以使所述发布服务器将所述第一服务发布到所述生产环境。
能够理解,上述测试装置,能够实现前述实施例中提供的由测试系统执行的测试方法的各个步骤,关于测试方法的相关阐释均适用于测试装置,此处不再赘述。
图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成服务质量保证装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
拦截业务请求;
将所述业务请求发送给部署在生产环境中的第二服务,以及将所述业务请求转发至部署在测试环境中的第一服务,所述第一服务为所述第二服务的待测试版本;
控制所述第一服务处理所述业务请求,并获取与所述业务请求相对应的测试响应结果;
获取所述第二服务根据所述业务请求得到的生产响应结果;
根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果。
上述如本申请图1所示实施例揭示的测试装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中测试装置执行的方法,并实现测试装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中测试装置执行的方法,并具体用于执行:
拦截业务请求;
将所述业务请求发送给部署在生产环境中的第二服务,以及将所述业务请求转发至部署在测试环境中的第一服务,所述第一服务为所述第二服务的待测试版本;
控制所述第一服务处理所述业务请求,并获取与所述业务请求相对应的测试响应结果;
获取所述第二服务根据所述业务请求得到的生产响应结果;
根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种测试方法,其中,所述方法应用于测试系统,包括:
拦截业务请求;
将所述业务请求发送给部署在生产环境中的第二服务,以及将所述业务请求转发至部署在测试环境中的第一服务,所述第一服务为所述第二服务的待测试版本;
控制所述第一服务处理所述业务请求,并获取与所述业务请求相对应的测试响应结果;
获取所述第二服务根据所述业务请求得到的生产响应结果;
根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果。
2.如权利要求1所述方法,其中,拦截业务请求,包括:
接收发送给所述生产环境的请求,并获取所述请求的标识符;
根据所述标识符拦截发送给所述第二服务的业务请求。
3.如权利要求2所述方法,其中,根据所述标识符拦截发送给所述第二服务的业务请求,包括:
根据所述标识符确定所述请求是否为发送给所述第二服务的业务请求;
若确定所述请求为业务请求,拦截所述业务请求;
若确定所述请求为非业务请求,将所述请求仅发送给所述生产环境。
4.如权利要求2所述方法,其中,控制所述第一服务处理所述业务请求之后,所述方法还包括:
将所述第一服务对所述业务请求的测试响应结果与第一标识符相对应地存储到第一存储器中,所述第一标识符中包括与所述业务请求一一对应的标识符、以及与所述测试响应结果一一对应的流水号。
5.如权利要求4所述方法,其中,获取所述第二服务根据所述业务请求得到的生产响应结果,包括:
根据所述第一标识符从存储生产响应结果的第二存储器中获取所述生产响应结果,所述生产响应结果与所述第一标识符一一对应地存储于所述第二存储器中。
6.如权利要求4所述方法,其中,获取与所述业务请求相对应的测试响应结果,包括:
根据所述标识符从所述第一存储器中匹配出与所述业务请求对应的若干响应结果;
根据测试响应结果的流水号从多个测试响应结果中得到用于验证服务一致性的测试响应结果。
7.如权利要求1所述方法,其中,根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果,包括:
分别从所述测试响应结果和所述生产响应结果中抽取出关键数据,对关键数据进行对比,若满足一致性条件,确定所述第一服务的测试结果满足发布要求。
8.如权利要求7所述方法,其中,确定所述第一服务满足发布要求之后,还包括:
将所述第一服务发布到所述生产环境;或者,
将所述第一服务发送到发布服务器,以使所述发布服务器将所述第一服务发布到所述生产环境。
9.一种测试装置,其中,所述装置应用于测试系统,包括:
拦截单元,用于拦截业务请求;
转发单元,用于将所述业务请求发送给部署在生产环境中的第二服务,以及将所述业务请求转发至部署在测试环境中的第一服务,所述第一服务为所述第二服务的待测试版本;
控制单元,用于控制所述第一服务处理所述业务请求,并获取与所述业务请求相对应的测试响应结果;
获取单元,用于获取所述第二服务根据所述业务请求得到的生产响应结果;
测试单元,用于根据所述测试响应结果和所述生产响应结果,确定对所述第一服务的测试结果。
10.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~8之任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607536.1A CN114691473A (zh) | 2020-12-30 | 2020-12-30 | 一种测试方法、装置与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011607536.1A CN114691473A (zh) | 2020-12-30 | 2020-12-30 | 一种测试方法、装置与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691473A true CN114691473A (zh) | 2022-07-01 |
Family
ID=82131744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011607536.1A Pending CN114691473A (zh) | 2020-12-30 | 2020-12-30 | 一种测试方法、装置与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691473A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276968A (zh) * | 2022-07-08 | 2022-11-01 | 中国第一汽车股份有限公司 | 一种第三方平台http回调分发方法、系统、电子设备和存储介质 |
CN117009112A (zh) * | 2023-08-31 | 2023-11-07 | 深圳市小赢信息技术有限责任公司 | 业务处理方法、装置、智能设备和存储介质 |
-
2020
- 2020-12-30 CN CN202011607536.1A patent/CN114691473A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276968A (zh) * | 2022-07-08 | 2022-11-01 | 中国第一汽车股份有限公司 | 一种第三方平台http回调分发方法、系统、电子设备和存储介质 |
CN117009112A (zh) * | 2023-08-31 | 2023-11-07 | 深圳市小赢信息技术有限责任公司 | 业务处理方法、装置、智能设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691473A (zh) | 一种测试方法、装置与电子设备 | |
CN111163067B (zh) | 一种安全测试方法、装置及电子设备 | |
CN113312064A (zh) | 物理机的安装配置方法、装置以及计算机可读介质 | |
CN112446786A (zh) | 一种异常交易处理方法、装置、电子设备和可读存储介质 | |
CN107220169B (zh) | 一种模拟服务器返回定制化数据的方法和设备 | |
CN110209556B (zh) | 容灾测试方法、支付方法、装置、介质及服务设备 | |
CN112561690B (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN116300833A (zh) | 车联网仿真测试方法、装置、电子设备以及存储介质 | |
CN111522580A (zh) | 代码分支的建立方法、装置和计算机设备 | |
CN114996151A (zh) | 接口测试方法、装置、电子设备及可读存储介质 | |
CN110597794A (zh) | 数据处理方法、装置和电子设备 | |
CN110855526B (zh) | 检测数据源连接的方法、装置、存储介质及电子设备 | |
CN116266328A (zh) | 一种账务数据核对方法和装置、电子设备 | |
CN112491612B (zh) | 网络异常数据的上报方法、终端以及计算机存储介质 | |
CN115834443A (zh) | 流量回放方法、装置、计算机设备和存储介质 | |
CN114143236A (zh) | 一种业务系统测试方法、装置、电子设备和可读存储介质 | |
CN112181807A (zh) | 一种应用程序巡检方法、装置及设备 | |
CN114297058B (zh) | 一种测试方法及装置 | |
CN116302907A (zh) | 一种业务系统的联调测试方法、装置及联调测试系统 | |
CN116450318A (zh) | 任务调度方法、装置、设备、介质及程序产品 | |
CN117807636A (zh) | 数据验证方法、装置、系统、计算设备及存储介质 | |
CN113765735A (zh) | 应用测试方法、装置、设备及存储介质 | |
CN116610587A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN115167842A (zh) | 业务的可视化开发方法、装置、系统、电子设备及介质 | |
CN114996106A (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 |