CN115292175A - 回归测试方法、装置、设备及存储介质 - Google Patents
回归测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115292175A CN115292175A CN202210926491.7A CN202210926491A CN115292175A CN 115292175 A CN115292175 A CN 115292175A CN 202210926491 A CN202210926491 A CN 202210926491A CN 115292175 A CN115292175 A CN 115292175A
- Authority
- CN
- China
- Prior art keywords
- environment
- processing
- client requests
- database
- regression
- 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/3676—Test management for coverage analysis
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种回归测试方法、装置、设备及存储介质,其中,该方法包括:获取业务系统在生产环境下的多个客户请求,对多个客户请求进行排序,采用生产环境,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果,采用业务系统的待发布环境,依次对排序后的多个客户请求进行处理,得到待发布环境下的多个第二处理结果,根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果。采集真实的生产环境下的客户请求,采用生产环境和待发布环境按顺序并行对客户请求进行处理,通过比对处理结果,得到回归测试结果,从而能够同时判断系统环境和业务的正确性,提高了回归测试准确度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种回归测试方法、装置、设备及存储介质。
背景技术
随着微服务系统的全面发展,分布式系统设计越来越趋于复杂化和多样化,产生的生产系统越来越庞大,功能或服务也随之越来越多。
目前,往往通过测试来保证系统升级或改造的可靠性,其中,在测试过程中回归覆盖性测试是系统测试必须通过的环节,通过回归覆盖性测试能够避免对系统已有功能产生影响。
然而,上述回归测试仅仅可测试系统环境是否有问题,并不能对业务正确性进行测试。
发明内容
有鉴于此,本申请实施例提供了一种回归测试方法、装置、设备及存储介质,以对业务系统的待发布环境进行回归测试。
第一方面,本申请实施例提供了一种回归测试方法,包括:
获取业务系统在生产环境下的多个客户请求;
对所述多个客户请求进行排序;
采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果;
采用所述业务系统的待发布环境,依次对所述排序后的多个客户请求进行处理,得到所述待发布环境下的多个第二处理结果;
根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果。
在一可选的实施方式中,所述根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果,包括:
若所述多个第一处理结果中同一客户请求的第一处理结果和所述多个第二处理结果中所述同一客户请求的第二处理结果相同,则比对所述生产环境的第一数据库和所述待发布环境的第二数据库,得到所述回归测试结果;
其中,所述第一数据库用于存储所述生产环境下所述多个客户请求对应的操作数据,所述第二数据库用于存储所述待发布环境下所述多个客户请求对应的操作数据。
在一可选的实施方式中,所述采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果之前,所述方法还包括:
将所述第一数据库中的数据内容进行备份,得到所述第二数据库;
所述比对所述生产环境的第一数据库和所述待发布环境的第二数据库,得到所述回归测试结果,包括:
若所述第一数据库中的数据内容与所述第二数据库中的数据内容相同,则确定所述回归测试结果为测试通过;
若所述第一数据库中的数据内容与所述第二数据库中的数据内容不同,则确定所述回归测试结果为测试不通过。
在一可选的实施方式中,所述根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果,还包括:
若所述多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入所述目标客户请求是否为可忽略客户请求的判断信息;
根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果。
在一可选的实施方式中,所述根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果,包括:
若所述判断信息指示所述目标客户请求为所述可忽略客户请求,则采用所述生产环境对所述目标客户请求之后的其它客户请求进行处理,得到所述其它客户请求的第一处理结果,并采用所述待发布环境对所述其它客户请求进行处理,得到所述其它客户请求的第二处理结果;
根据所述其它客户请求的第一处理结果和所述其它客户请求的第二处理结果,得到所述回归测试结果。
在一可选的实施方式中,所述根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果,还包括:
若所述判断信息指示所述目标客户请求为不可忽略客户请求,则中止对所述其它客户请求进行处理,并确定所述回归测试结果为测试不通过。
在一可选的实施方式中,所述获取业务系统在生产环境下的多个客户请求之前,所述方法还包括:
获取所述生产环境的全链路日志,所述全链路日志为所述多个客户请求所对应的日志;
所述获取业务系统在生产环境下的多个客户请求,包括:
根据所述全链路日志,得到所述多个客户请求。
第二方面,本申请实施例还提供了一种回归测试装置,包括:
获取模块,用于获取业务系统在生产环境下的多个客户请求;
排序模块,用于对所述多个客户请求进行排序;
处理模块,用于采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果;
所述处理模块,还用于采用所述业务系统的待发布环境,依次对所述排序后的多个客户请求进行处理,得到所述待发布环境下的多个第二处理结果;
测试模块,用于根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果。
在一可选的实施方式中,所述测试模块,具体用于:
若所述多个第一处理结果中同一客户请求的第一处理结果和所述多个第二处理结果中所述同一客户请求的第二处理结果相同,则比对所述生产环境的第一数据库和所述待发布环境的第二数据库,得到所述回归测试结果;
其中,所述第一数据库用于存储所述生产环境下所述多个客户请求对应的操作数据,所述第二数据库用于存储所述待发布环境下所述多个客户请求对应的操作数据。
在一可选的实施方式中,所述装置还包括:
备份模块,用于将所述第一数据库中的数据内容进行备份,得到所述第二数据库;
所述测试模块,具体用于:
若所述第一数据库中的数据内容与所述第二数据库中的数据内容相同,则确定所述回归测试结果为测试通过;
若所述第一数据库中的数据内容与所述第二数据库中的数据内容不同,则确定所述回归测试结果为测试不通过。
在一可选的实施方式中,所述测试模块,具体用于:
若所述多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入所述目标客户请求是否为可忽略客户请求的判断信息;
根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果。
在一可选的实施方式中,所述测试模块,具体用于:
若所述判断信息指示所述目标客户请求为所述可忽略客户请求,则采用所述生产环境对所述目标客户请求之后的其它客户请求进行处理,得到所述其它客户请求的第一处理结果,并采用所述待发布环境对所述其它客户请求进行处理,得到所述其它客户请求的第二处理结果;
根据所述其它客户请求的第一处理结果和所述其它客户请求的第二处理结果,得到所述回归测试结果。
在一可选的实施方式中,所述测试模块,具体用于:
若所述判断信息指示所述目标客户请求为不可忽略客户请求,则中止对所述其它客户请求进行处理,并确定所述回归测试结果为测试不通过。
在一可选的实施方式中,所述获取模块,还用于:
获取所述生产环境的全链路日志,所述全链路日志为所述多个客户请求所对应的日志;
所述获取模块,具体用于:
根据所述全链路日志,得到所述多个客户请求。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面中任一项所述的回归测试方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述回归测试方法。
本申请提供了一种回归测试方法、装置、设备及存储介质,其中,该方法包括:获取业务系统在生产环境下的多个客户请求,对多个客户请求进行排序,采用生产环境,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果,采用业务系统的待发布环境,依次对排序后的多个客户请求进行处理,得到待发布环境下的多个第二处理结果,根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果。采集真实的生产环境下的客户请求,采用生产环境和待发布环境按顺序并行对客户请求进行处理,通过比对处理结果,得到回归测试结果,从而能够同时判断系统环境和业务的正确性,提高了回归测试准确度。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的回归测试方法的流程示意图一;
图2为本申请实施例提供的回归测试方法的流程示意图二;
图3为本申请实施例提供的回归测试方法的流程示意图三;
图4为本申请实施例提供的回归测试方法的流程示意图四;
图5为本申请实施例提供的回归测试方法的流程示意图五;
图6为本申请实施例提供的回归测试方法的架构示意图;
图7为本申请实施例提供的一种具体的回归测试方法的示意图;
图8为本申请实施例提供的回归测试装置的结构示意图;
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在证券期货等金融行业中受互联网和用户影响,创新业务的丰富性得到了快速发展,系统会通过分布式特性快速扩充实现对业务和交易量的支持,系统的稳定性尤为重要,目前通过测试来保证系统的升级或改造的可靠性,其中,在测试过程中回归覆盖性测试是系统必须通过的环节,避免对已有功能的影响。
然而,目前回归测试所采用的用例数据缺失或不够真实,并且回归测试后大部分用于检测系统是否有报错日志等明显新来判断系统环境是否有问题,主要针对系统程序进行测试检验,并不能检查业务正确性,此外,如果采用业务系统的生产环境所产生的真实数据进行回归测试,由于数据是大并发测试,时序不一致可能导致测试结果不一样,因此不能判断出业务的正确性,如果进行串行测试,结果正确但效率低下。
基于上述问题,本申请提供了一种回归测试方法,基于真实生产环境下的客户请求进行回放,采用生产环境和待发布环境按顺序并行对客户请求进行处理,解决了现有技术中没有采用真实数据进行测试、数据时序以及串行测试的问题,通过比对处理结果,得到回归测试结果,将系统环境和业务结合起来进行回归测试,从而能够同时判断系统环境和业务的正确性,提高了回归测试准确度。回归覆盖的用例数据真实性更加符合用户需求,多个环境并行处理的机制在效率等方面有很大地提升。
下面结合几个具体实施例对本申请提供的回归测试方法进行说明。
图1为本申请实施例提供的回归测试方法的流程示意图一,本实施例的执行主体可以为电子设备,如服务器、终端设备等具备数据处理能力的设备。
如图1所示,该方法包括:
S101、获取业务系统在生产环境下的多个客户请求。
其中,该业务系统例如可以为金融类业务系统,生产环境可以为业务系统对外提供服务、且用户生产使用版本的系统环境,业务系统在生产环境下的多个客户请求为在生产环境下访问业务系统的多个客户请求,例如,委托请求、理财请求等,其中,该多个客户请求可以为预设历史时间段内的客户请求,预设历史时间段可以为周一至周五的时间段。
S102、对多个客户请求进行排序。
获取到业务系统在生成环境下的多个客户请求,对多个客户请求进行排序,这样多个客户请求即有唯一序号标识。
在一些实施例中,可以按照多个客户请求的访问时间,对多个客户请求进行排序,访问时间越早,排序可以越靠前,序号越小;访问时间越晚,排序可以越靠后,序号越大,例如,周一的客户请求排序靠前,序号越小;周二的客户请求排序靠后,序号越大,这样可以按照真实的客户请求的时序进行回归测试,提高了回归测试准确度。
S103、采用生产环境,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果。
S104、采用业务系统的待发布环境,依次对排序后的多个客户请求进行处理,得到待发布环境下的多个第二处理结果。
其中,业务系统的待发布环境可以为业务系统的生产环境的下一个版本的系统环境,如准备升级或测试版本的环境,即待发布环境为待发布的新版本,生产环境为旧版本。
采用生产环境,按照多个客户请求的排序,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果,一个第一处理结果对应一个客户请求,采用业务系统的待发布环境,按照多个客户请求的排序,依次对排序后的多个客户请求进行处理,得到待发布生产环境下的多个第二处理结果,一个第二处理结果对应一个客户请求。
也即,分别采用业务系统的生产系统和待发布系统,对排序后的多个客户请求同时进行并行处理,得到多个客户请求的多个第一处理结果和多个第二处理结果,其中,第一处理结果可以为生产环境对客户请求的响应结果,如委托成功,第二处理结果可以为待发布环境对客户请求的响应结果,如委托成功、委托失败。
需要说明的是,在步骤S103中,可以先将生产环境切换为临时测试环境,在临时测试环境下对多个客户请求进行处理,例如在周六至周日将生产环境切换为临时测试环境。
S105、根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果。
根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,其中,各第一处理结果和各第二处理结果可以设有对应客户请求的序号标识,因此可以比对多个第一处理结果和多个第二处理结果中具有相同序号标识的第一处理结果和第二处理结果,若具有相同序号标识的第一处理结果和第二处理结果相同,则确定待发布环境的回归测试结果为测试通过,若具有任意相同序号标识的第一处理结果和第二处理结果不相同,则确定待发布环境的回归测试结果为测试不通过,其中,认为生产环境下的多个第一处理结果为标准结果,因此通过与第一处理结果进行比对可以判断待发布环境和业务的正确性。
需要说明的是,对比同一客户请求的第一处理结果和第二处理结果时可以比对第一处理结果和第二处理结果中的状态字段,该状态字段可以用于指示委托成功或委托失败,也即,若同一客户请求的第一处理结果和第二处理结果中均包含有该状态字段,则确定同一客户请求的第一处理结果和第二处理结果相同。
在本实施例的回归测试方法中,获取业务系统在生产环境下的多个客户请求,对多个客户请求进行排序,采用生产环境,按顺序对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果,采用业务系统的待发布环境,按顺序对排序后的多个客户请求进行处理,得到待发布环境下的多个第二处理结果,根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果。在本申请中,采集真实的生产环境下的客户请求,在业务系统的生产环境和待发布环境按顺序并行对客户请求进行处理,通过比对处理结果,得到回归测试结果,从而能够同时判断系统环境和业务的正确性。
图2为本申请实施例提供的回归测试方法的流程示意图二,如图2所示,根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果,包括:
S201、若多个第一处理结果中同一客户请求的第一处理结果和多个第二处理结果中同一客户请求的第二处理结果相同,则比对生产环境的第一数据库和待发布环境的第二数据库,得到回归测试结果。
采用生产环境对多个客户请求进行处理,得到多个第一处理结果,采用待发布环境对多个客户请求进行处理,得到多个第二处理结果,若多个第一处理结果中同一客户请求的第一处理结果和多个第二处理结果中同一客户请求的第二处理结果相同,则比对生产环境的第一数据库和待发布环境的第二数据库,得到待发布环境的回归测试结果。
其中,第一数据库用于存储生产环境下多个客户请求对应的操作数据,第二数据库用于存储待发布环境下多个客户请求对应的操作数据。
生产环境下多个客户请求对应的操作数据为采用生产环境对多个客户请求进行处理后台的操作记录,例如,三个客户请求分别为委托100笔、撤销委托300笔、委托100笔,则生产环境对这三个客户请求进行处理,所产生的操作数据可以存储在第一数据库的数据表中,即数据表中记录了委托100笔、撤销委托300笔、委托100笔这三个操作记录。
类似地,待发布环境下多个客户请求对应的操作数据为采用待发布环境对多个客户请求进行处理后台的操作记录,例如,三个客户请求分别为委托100笔、撤销委托300笔、委托100笔,则待发布环境对这三个客户请求进行处理,所产生的操作数据可以存储在第二数据库的数据表中,即数据表中记录了委托100笔、撤销委托300笔、委托100笔这三个操作记录。
在本实施例中,若同一客户请求的第一处理结果和第二处理结果相同,为避免由于待发布环境故障,导致待发布环境对应的第二处理结果与生产环境的第一处理结果相同,则进一步比对生产环境的第一数据库和待发布环境的第二数据库,若第一数据库中的数据内容与第二数据库中的数据内容相同,说明待发布环境的回归测试结果为测试通过。
S202、若多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入目标客户请求是否为可忽略客户请求的判断信息。
S203、根据输入的针对目标客户请求的判断信息,得到回归测试结果。
采用生产环境对多个客户请求进行处理,得到多个第一处理结果,采用待发布环境对多个客户请求进行处理,得到多个第二处理结果,若在处理过程中,存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,用于提示输入目标客户请求是否为可忽略客户请求的判断信息,也即,由人工判断目标客户请求是否为可忽略客户请求,其中,不可忽略客户请求例如可以为委托类的客户请求等对数据库中的数据内容有变更的客户请求,可忽略客户请求例如可以为密码登录请求等对数据库中的数据内容没有变更的客户请求。
基于推送的判断信息,用户可以输入针对目标客户请求的判断信息,然后基于输入的判断信息得到回归测试结果,例如,若输入的判断信息为目标客户请求为可忽略客户请求,说明目标客户请求的第一处理结果和第二处理结果不一致的问题可以忽略,则不以目标客户请求的处理结果来判断待发布环境的回归测试是否通过,这是因为在并行处理时登录生产环境的登录请求和登录待发布环境的登录请求可能使用不同的登录密码。
若输入的判断信息为目标客户请求为不可忽略客户请求,则说明待发布环境的回归测试不通过,例如,生产环境对目标客户请求的第一处理结果为委托失败,待发布环境对目标客户请求的第二处理结果为委托成功,说明待发布环境的回归测试结果为测试不通过。
在本实施例的回归测试方法中,若多个第一处理结果中同一客户请求的第一处理结果和多个第二处理结果中同一客户请求的第二处理结果相同,则比对生产环境的第一数据库和待发布环境的第二数据库,得到回归测试结果;若多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入目标客户请求是否为可忽略客户请求的判断信息,根据输入的针对目标客户请求的判断信息,得到回归测试结果。在第一处理结果和第二处理结果相同的情况下,通过数据库比对判断回归测试结果;在第一处理结果和第二处理结果不相同的情况下,由人工参与,以确定回归测试结果,从而能够同时判断系统环境和业务的正确性,提高了回归测试准确度。
图3为本申请实施例提供的回归测试方法的流程示意图三,如图3所示,根据输入的针对目标客户请求的判断信息,得到回归测试结果,包括:
S301、若判断信息指示目标客户请求为可忽略客户请求,则采用生产环境对目标客户请求之后的其它客户请求进行处理,得到其它客户请求的第一处理结果,并采用待发布环境对其它客户请求进行处理,得到其它客户请求的第二处理结果。
S302、根据其它客户请求的第一处理结果和其它客户请求的第二处理结果,得到回归测试结果。
若用户输入的判断信息指示目标客户请求为可忽略客户请求,则忽略目标客户请求,采用生成环境对目标客户请求之后的其它客户请求进行处理,得到其它客户请求的第一处理结果,并采用待发布环境对其它客户请求进行处理,得到其它客户请求的第二处理结果,也即,在处理过程中,依次对同一客户请求的第一处理结果和第二处理结果进行比对,在目标客户请求的第一处理结果和第二处理结果不相同时,若用户确定目标客户请求为可忽略客户请求,则继续对目标客户请求之后的其它客户请求进行处理。
然后比对其它客户请求的第一处理结果和其它客户请求的第二处理结果,得到回归测试结果,其中,若其它客户请求的第一处理结果和其它客户请求的第二处理结果相同,则可以参见步骤S201,比对生产环境的第一数据库和待发布环境的第二数据库,得到回归测试结果,若其它客户请求的第一处理结果和其它客户请求的第二处理结果不相同,则可参见步骤S202-S203得到回归测试结果。
S303、若判断信息指示目标客户请求为不可忽略客户请求,则中止对其它客户请求进行处理,并确定回归测试结果为测试不通过。
若判断信息指示目标客户请求为不可忽略客户请求,则确定回归测试结果为测试不通过,并中止对目标客户请求之后的其它客户请求进行处理,也即,生产环境和待发布环境停止对其它客户请求进行处理。
在本实施例的回归测试方法中,若判断信息指示目标客户请求为可忽略客户请求,则采用生产环境对目标客户请求之后的其它客户请求进行处理,得到其它客户请求的第一处理结果,并采用待发布环境对其它客户请求进行处理,得到其它客户请求的第二处理结果,根据其它客户请求的第一处理结果和其它客户请求的第二处理结果,得到回归测试结果,若判断信息指示目标客户请求为不可忽略客户请求,则中止对其它客户请求进行处理,并确定回归测试结果为测试不通过。通过人工判断是否继续对其它客户请求进行处理,提高了回归测试准确度,并且在确定不处理时中止处理,节省了处理资源。
图4为本申请实施例提供的回归测试方法的流程示意图四,如图4所示,采用生产环境,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果之前,该方法还包括:
S401、将第一数据库中的数据内容进行备份,得到第二数据库。
其中,第一数据库中存储有业务系统在生产环境下的数据,在对比第一数据库和第二数据库之前,首先将第一数据库中的数据内容进行备份得到第二数据库,以保证在相同数据基准下,进行多个客户请求的处理,以更新第一数据库和第二数据库,第一数据库用于存储生产环境下多个客户请求对应的操作数据,第二数据库用于存储待发布环境下多个客户请求对应的操作数据。
相应地,比对生产环境的第一数据库和待发布环境的第二数据库,得到回归测试结果,包括:
S402、若第一数据库中的数据内容与第二数据库中的数据内容相同,则确定回归测试结果为测试通过。
S403、若第一数据库中的数据内容与第二数据库中的数据内容不同,则确定回归测试结果为测试不通过。
若第一数据库中的数据内容与第二数据库中的数据内容相同,则确定待发布环境的回归测试结果为测试通过,若第一数据库中的数据内容与第二数据库中的数据内容不同,则确定待发布环境的回归测试结果为测试不通过。
在本实施例的回归测试方法中,将第一数据库中的数据内容进行备份,得到第二数据库,若第一数据库中的数据内容与第二数据库中的数据内容相同,则确定回归测试结果为测试通过,若第一数据库中的数据内容与第二数据库中的数据内容不同,则确定回归测试结果为测试不通过。通过数据备份保证了在同一个基准下数据库比对,提高了数据库比对的准确度,进而提高了回归测试准确度。
图5为本申请实施例提供的回归测试方法的流程示意图五,如图5所示,获取业务系统在生产环境下的多个客户请求之前,该方法还包括:
S501、获取生产环境的全链路日志。
其中,全链路日志为多个客户请求所对应的日志,通过客户请求访问业务系统的生产环境时,后台可以记录客户请求所对应的日志。
相应地,获取业务系统在生产环境下的多个客户请求,包括:
S502、根据全链路日志,得到多个客户请求。
若需要对业务系统的待发布环境进行回归测试,则可以获取生产环境的全链路日志,该全链路日志可以为预设历史时间段的全链路日志,然后对全链路日志进行日志组装,得到多个客户请求。
在一些实施例中,还可以根据自定义筛选条件,从全链路日志中确定满足自定义筛选条件的目标日志,然后对目标日志进行组装,得到多个客户请求,自定义筛选条件包括但不限于日期、业务功能号、业务类型等条件,其中,不同功能业务对应有不同的业务功能号,功能业务例如可以包括基金业务、债券业务、委托业务,业务类型例如可以包括现金类型、理财类型。
也即,根据日期、业务功能号、业务类型可以对全链路日志进行筛选,然后根据定制的筛选后的日志进行组装得到多个客户请求,以使获得的多个客户请求为满足筛选条件的客户请求。
在上述图1至图5实施例的基础上,下面结合图6-图7实施例对本申请提供的回归测试方法进行说明。
图6为本申请实施例提供的回归测试方法的架构示意图,该架构可以通过电子设备实现。如图6所示,该架构包括:
生产环境:正式对外提供服务、且用户生产使用版本的分布式系统环境。
其中,生产环境设有多个服务,用于将生产环境下的操作数据存储至生产环境的数据库(即第一数据库)。
日志中心系统:设有收集服务、预处理服务、查询服务。
其中,收集服务用于收集生产环境的系统日志(如全链路日志、系统错误日志、业务记录日志),并存储至日志中心系统的数据库,预处理服务用于对第三数据库的全链路日志进行预处理,查询服务用于从日志中心系统的数据库查询日志。日志中心系统的数据库可以为第一数据库。
日志重放服务:从日志中心系统获取全链路日志的服务,可以通过一些定制条件,如日期、业务功能号、业务类型等方式查询,并组装日志得到多个客户请求并发送给消息序号排序服务。
消息序号排序服务:将日志重放服务发送的多个客户请求进行排序并保存,使得各客户请求按照唯一的顺序方式发送给下游的同步调用反馈服务,其中,同步调用反馈服务有两个,分别对应生产环境和待发布环境。通常会给每个消息设置一个唯一序号,同时使用可靠地、一对多的传递方式发送给两个同步调用反馈模块。
同步调用反馈模块:接收消息序号排序服务发送的多个客户请求,按照发送过来的顺序同步调用生产环境和待发布环境对多个客户请求进行处理,并将请求排队序号、第一处理结果和第二处理结果发送给请求结果比对中止模块。在该过程中,可以将生产环境切换为临时测试环境。
请求结果比对中止模块:将同一请求排队序号的第一处理结果和第二处理结果进行比对,将比对结果反馈给同步调用反馈模块,若比对结果不一致,则同步调用反馈模块停止继续执行,等待排查问题。
待发布环境:准备升级或测试版本的环境,一般为测试业务正确性,可以不与生产环境规模一致。
其中,待发布环境设有多个服务,用于将待发布环境下的操作数据存储至待发布环境数据库。
数据库(data base,DB)比对服务:指可以将生产环境的第一数据库和待发布环境的第二数据库中数据表进行数据比对的服务,可以进行一些个性化设置,如基于人工排查忽略某些字段等。
图7为本申请实施例提供的一种具体的回归测试方法的示意图,如图7所示,执行步骤如下:
第一步、对生产环境的第一数据库中的数据内容进行备份,得到待发布环境的第二数据库。
第二步、准备生产环境和待发布环境。
第三步、从日志中心系统提取全链路日志。
第四步、通过日志重放服务根据自定义筛选条件对全链路日志进行日志筛选。
根据筛选后的日志确定重放的多个客户请求(即用于回归测试的多个客户请求),并发送给消息序号排序服务。
第五步、消息序号排序服务将多个客户请求进行排序并进行统一编号。
一般按照递增进行编号,并保存,然后通过可靠地方式转发给生产环境的同步调用反馈模块和待发布环境的同步调用反馈模块。
第六步、生产环境的同步调用反馈模块和待发布环境的同步调用反馈模块分别调用生产环境和待发布环境对多个客户请求进行处理,并将请求排队序号、第一处理结果和第二处理结果发送给请求结果比对中止模块。
第七步、请求结果比对中止模块将同一请求排队序号的第一处理结果和第二处理结果进行比对,将比对结果反馈给同步调用反馈模块,若一致,则判断重放是否结束(即回归测试是否结束),若没有结束,则继续第六步,否则由DB比对服务进行数据表比对,再结束;若不一致,则同步调用反馈模块中止工作。
第八步、若第七步中不一致问题被用户确认可以忽略后,由请求结果比对中止模块通知同步调用反馈模块继续第六步,否则结束。
下面结合图8对上述方法实施例对应的回归测试装置进行说明。
图8为本申请实施例提供的回归测试装置的结构示意图,该装置可以集成在电子设备中。如图8所示,该装置包括:
获取模块601,用于获取业务系统在生产环境下的多个客户请求;
排序模块602,用于对多个客户请求进行排序;
处理模块603,用于采用生产环境,依次对排序后的多个客户请求进行处理,得到生产环境下的多个第一处理结果;
处理模块603,还用于采用业务系统的待发布环境,依次对排序后的多个客户请求进行处理,得到待发布环境下的多个第二处理结果;
测试模块604,用于根据多个第一处理结果和多个第二处理结果,对待发布环境进行回归测试,得到待发布环境的回归测试结果。
在一可选的实施方式中,测试模块604,具体用于:
若多个第一处理结果中同一客户请求的第一处理结果和多个第二处理结果中同一客户请求的第二处理结果相同,则比对生产环境的第一数据库和待发布环境的第二数据库,得到回归测试结果;
其中,第一数据库用于存储生产环境下多个客户请求对应的操作数据,第二数据库用于存储待发布环境下多个客户请求对应的操作数据。
在一可选的实施方式中,该装置还包括:
备份模块605,用于将第一数据库中的数据内容进行备份,得到第二数据库;
测试模块604,具体用于:
若第一数据库中的数据内容与第二数据库中的数据内容相同,则确定回归测试结果为测试通过;
若第一数据库中的数据内容与第二数据库中的数据内容不同,则确定回归测试结果为测试不通过。
在一可选的实施方式中,测试模块604,具体用于:
若多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入目标客户请求是否为可忽略客户请求的判断信息;
根据输入的针对目标客户请求的判断信息,得到回归测试结果。
在一可选的实施方式中,测试模块604,具体用于:
若判断信息指示目标客户请求为可忽略客户请求,则采用生产环境对目标客户请求之后的其它客户请求进行处理,得到其它客户请求的第一处理结果,并采用待发布环境对其它客户请求进行处理,得到其它客户请求的第二处理结果;
根据其它客户请求的第一处理结果和其它客户请求的第二处理结果,得到回归测试结果。
在一可选的实施方式中,测试模块604,具体用于:
若判断信息指示目标客户请求为不可忽略客户请求,则中止对其它客户请求进行处理,并确定回归测试结果为测试不通过。
在一可选的实施方式中,获取模块601,还用于:
获取生产环境的全链路日志,全链路日志为多个客户请求所对应的日志;
获取模块601,具体用于:
根据全链路日志,得到多个客户请求。
需要说明的是,本实施例中的获取模块可以通过上述日志中心系统、日志重放服务实现,排序模块可以通过上述消息序号排序服务实现,处理模块可以通过上述同步调用反馈模块,测试模块可以通过上述DB比对服务、请求结果比对中止模块实现。
在本实施例的回归测试装置中,实现原理和实现过程可以参见上述回归测试方法,在此不再赘述。
图9为本申请实施例提供的电子设备的结构示意图,如图9所示,该设备包括:处理器701、存储器702和总线703,存储器702存储有处理器701可执行的机器可读指令,当电子设备运行时,处理器701与存储器702之间通过总线703通信,处理器701执行机器可读指令,以执行上述方法实施例提供的回归测试方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,处理器执行上述方法实施例提供的回归测试方法。
在本申请实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种回归测试方法,其特征在于,包括:
获取业务系统在生产环境下的多个客户请求;
对所述多个客户请求进行排序;
采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果;
采用所述业务系统的待发布环境,依次对所述排序后的多个客户请求进行处理,得到所述待发布环境下的多个第二处理结果;
根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果,包括:
若所述多个第一处理结果中同一客户请求的第一处理结果和所述多个第二处理结果中所述同一客户请求的第二处理结果相同,则比对所述生产环境的第一数据库和所述待发布环境的第二数据库,得到所述回归测试结果;
其中,所述第一数据库用于存储所述生产环境下所述多个客户请求对应的操作数据,所述第二数据库用于存储所述待发布环境下所述多个客户请求对应的操作数据。
3.根据权利要求2所述的方法,其特征在于,所述采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果之前,所述方法还包括:
将所述第一数据库中的数据内容进行备份,得到所述第二数据库;
所述比对所述生产环境的第一数据库和所述待发布环境的第二数据库,得到所述回归测试结果,包括:
若所述第一数据库中的数据内容与所述第二数据库中的数据内容相同,则确定所述回归测试结果为测试通过;
若所述第一数据库中的数据内容与所述第二数据库中的数据内容不同,则确定所述回归测试结果为测试不通过。
4.根据权利要求2所述的方法,其特征在于,所述根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果,还包括:
若所述多个客户请求中存在第一处理结果和第二处理结果不相同的目标客户请求,则推送判断提示,以提示输入所述目标客户请求是否为可忽略客户请求的判断信息;
根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果。
5.根据权利要求4所述的方法,其特征在于,所述根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果,包括:
若所述判断信息指示所述目标客户请求为所述可忽略客户请求,则采用所述生产环境对所述目标客户请求之后的其它客户请求进行处理,得到所述其它客户请求的第一处理结果,并采用所述待发布环境对所述其它客户请求进行处理,得到所述其它客户请求的第二处理结果;
根据所述其它客户请求的第一处理结果和所述其它客户请求的第二处理结果,得到所述回归测试结果。
6.根据权利要求5所述的方法,其特征在于,所述根据输入的针对所述目标客户请求的判断信息,得到所述回归测试结果,还包括:
若所述判断信息指示所述目标客户请求为不可忽略客户请求,则中止对所述其它客户请求进行处理,并确定所述回归测试结果为测试不通过。
7.根据权利要求1所述的方法,其特征在于,所述获取业务系统在生产环境下的多个客户请求之前,所述方法还包括:
获取所述生产环境的全链路日志,所述全链路日志为所述多个客户请求所对应的日志;
所述获取业务系统在生产环境下的多个客户请求,包括:
根据所述全链路日志,得到所述多个客户请求。
8.一种回归测试装置,其特征在于,包括:
获取模块,用于获取业务系统在生产环境下的多个客户请求;
排序模块,用于对所述多个客户请求进行排序;
处理模块,用于采用所述生产环境,依次对排序后的多个客户请求进行处理,得到所述生产环境下的多个第一处理结果;
所述处理模块,还用于采用所述业务系统的待发布环境,依次对所述排序后的多个客户请求进行处理,得到所述待发布环境下的多个第二处理结果;
测试模块,用于根据所述多个第一处理结果和所述多个第二处理结果,对所述待发布环境进行回归测试,得到所述待发布环境的回归测试结果。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行权利要求1-7任一项所述的回归测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1-7任一项所述的回归测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210926491.7A CN115292175A (zh) | 2022-08-03 | 2022-08-03 | 回归测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210926491.7A CN115292175A (zh) | 2022-08-03 | 2022-08-03 | 回归测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292175A true CN115292175A (zh) | 2022-11-04 |
Family
ID=83825489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210926491.7A Pending CN115292175A (zh) | 2022-08-03 | 2022-08-03 | 回归测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292175A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115587048A (zh) * | 2022-12-07 | 2023-01-10 | 平安银行股份有限公司 | 回归测试方法、终端设备及计算机可读存储介质 |
-
2022
- 2022-08-03 CN CN202210926491.7A patent/CN115292175A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115587048A (zh) * | 2022-12-07 | 2023-01-10 | 平安银行股份有限公司 | 回归测试方法、终端设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822790B1 (en) | Data processing method and device | |
CN107402880B (zh) | 一种测试方法及电子设备 | |
US6941361B1 (en) | Method and apparatus for obtaining inventory and user information for a remote computer device | |
CN101661584B (zh) | 动态订单工作流模板实例器和解耦合器 | |
CN106844730B (zh) | 文件内容的显示方法及装置 | |
CN103077108B (zh) | 一种对浏览器崩溃进行预警的方法和系统 | |
US8214508B2 (en) | Support apparatus, program, information processing system and support method | |
JPH01243135A (ja) | コンピュータ・システムにおける問題解決方法 | |
US20120005520A1 (en) | Simplifying automated software maintenance of data centers | |
US7853651B2 (en) | Method for tracking transport requests and computer system with trackable transport requests | |
US20080177711A1 (en) | Build Automation and Verification for Modular Servers | |
CN115292175A (zh) | 回归测试方法、装置、设备及存储介质 | |
CN109388420A (zh) | 应用升级测试方法、装置、计算机设备及存储介质 | |
CN116204438A (zh) | 测试用例生成方法、自动化测试方法和相关装置 | |
US7840673B1 (en) | Method and apparatus for management of hosted applications | |
CN110489208B (zh) | 虚拟机配置参数核查方法、系统、计算机设备和存储介质 | |
CN110096226B (zh) | 磁盘阵列部署方法和装置 | |
CN111324612A (zh) | 订单信息的存储方法、系统、装置、设备及存储介质 | |
CN112419052B (zh) | 交易测试方法、装置、电子设备及可读存储介质 | |
CN109324925A (zh) | 分布式框架的事务处理方法及装置 | |
CN113656088A (zh) | 互联网数据中心服务器自助管理方法、装置和存储介质 | |
CN112181802A (zh) | 测试方法及装置 | |
CN112667506A (zh) | 一种接口测试方法及相关装置 | |
CN110609790A (zh) | 解析程序测试方法、装置、介质和计算机设备 | |
CN118245385B (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 |