CN116775463A - 测试方法、装置、存储介质及电子设备 - Google Patents
测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116775463A CN116775463A CN202310588617.9A CN202310588617A CN116775463A CN 116775463 A CN116775463 A CN 116775463A CN 202310588617 A CN202310588617 A CN 202310588617A CN 116775463 A CN116775463 A CN 116775463A
- Authority
- CN
- China
- Prior art keywords
- test
- version
- data
- preset
- task
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000010998 test method Methods 0.000 title claims description 18
- 238000012360 testing method Methods 0.000 claims abstract description 555
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000004519 manufacturing process Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000012423 maintenance Methods 0.000 claims abstract description 43
- 238000012795 verification Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000005856 abnormality Effects 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
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
技术领域
本公开涉及计算机技术领域,具体地,涉及一种测试方法、装置、存储介质及电子设备。
背景技术
随着计算机技术的不断发展,出现了各种业务系统,比如时序数据处理系统等。其中,时序数据处理系统是由SDK(Software Development Kit,软件开发工具包)和后端服务组件组成的服务端业务系统。
相关技术中,针对例如时序数据处理系统的服务端业务系统的测试,通常采用自动化测试,但是由于对应的SDK和后端服务组件的功能复杂,可能导致自动化测试的覆盖率低,从而导致业务系统上线后出现质量问题。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种测试方法,所述方法包括:
响应于针对被测对象的测试指令,基于测试数据执行所述被测对象对应的预设测试任务,得到第一测试结果,其中,所述测试数据是通过调用数据生产服务获取的,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者;
获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果;
基于所述第一测试结果和所述第二测试结果得到目标测试结果。
第二方面,本公开提供一种测试装置,所述装置包括:
第一测试模块,用于响应于针对被测对象的测试指令,基于测试数据执行所述被测对象对应的预设测试任务,得到第一测试结果,其中,所述测试数据是通过调用数据生产服务获取的,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者;
第二测试模块,用于获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息确定第二测试结果;
目标测试模块,用于基于所述第一测试结果和所述第二测试结果得到目标测试结果。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,响应于针对被测对象的测试指令,基于测试数据执行被测对象对应的预设测试任务,得到第一测试结果,并且获取被测对象对应的目标线上集群的后端处理服务的版本信息,根据版本信息进行版本校验测试,得到第二测试结果,最后基于第一测试结果和第二测试结果得到目标测试结果。其中,测试数据是通过调用数据生产服务获取的,预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者,从而可以根据测试需求覆盖测试过程的数据生产、版本管理、运维验收中一个或多个测试维度,提高测试覆盖率,减少产品上线后的质量问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开一示例性实施例示出的一种测试方法的流程示意图;
图2是根据本公开一示例性实施例示出的一种不同测试流程的对比示意图;
图3是根据本公开一示例性实施例示出的一种针对租户的测试流程示意图;
图4是根据本公开一示例性实施例示出的一种历史版本校验的示意图;
图5是根据本公开一示例性实施例示出的一种运维场景的测试流程示意图;
图6是根据本公开一示例性实施例示出的一种运维场景的校验点示意图;
图7是根据本公开一示例性实施例示出的一种服务版本校验的示意图;
图8是根据本公开一示例性实施例示出的一种测试方法的流程示意图;
图9是根据本公开一示例性实施例示出的一种自动化召回率的对比图;
图10是根据本公开一示例性实施例示出的一种测试装置的框图;
图11是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
相关技术中,针对例如时序数据处理系统的服务端业务系统的测试,通常采用自动化测试,但是对应的SDK和后端服务组件的功能复杂,尤其是针对数据生产类SDK的测试时,需要构造大量不同场景不同格式的测试数据,目前主要通过编写数据生产服务中的内置代码获取测试数据,若需要对不同应用场景的SDK进行测试,需要修改代码并重新发布服务,时间成本和人工成本较高。并且,SDK和后端链路组件存在多个版本,容易存在版本不兼容问题。此外,SDK不同功能的参数组合可能性较多,以及面对包括配置变更、服务扩缩容等等的运维场景,自动化测试难以覆盖,进而导致产品上线后出现质量问题。
有鉴于此,本公开提供一种测试方法、装置、存储介质及电子设备,以解决上述技术问题。
图1是根据本公开一示例性实施例示出的一种测试方法的流程图。参照图1,该方法包括:
步骤11,响应于针对被测对象的测试指令,基于测试数据执行被测对象对应的预设测试任务,得到第一测试结果。
其中,测试数据是通过调用数据生产服务获取的,预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者。
需说明的是,可以响应于针对被测对象的测试指令,先调用数据生产服务获取测试数据后,再基于测试数据执行预设测试任务,也可以预先调用数据生产服务获取测试数据后进行存储,进而响应于针对被测对象的测试指令,获取存储的测试数据执行预设测试任务,本公开对此不作限制。
步骤12,获取被测对象对应的目标线上集群的后端处理服务的版本信息,根据版本信息进行版本校验测试,得到第二测试结果。
步骤13,基于第一测试结果和第二测试结果得到目标测试结果。
示例地,目标测试结果可以是结合第一测试结果和第二测试结果输出的测试报告。
上述技术方案中,测试数据是通过调用数据生产服务获取的,预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者,从而可以根据测试需求覆盖测试过程的数据生产、版本管理、运维验收中一个或多个测试维度,提高测试覆盖率,减少产品上线后的质量问题。并且,不仅可以针对被测对象进行测试,例如SDK,还可以针对SDK对应的后端处理服务进行版本校验,避免SDK与后端处理服务不兼容。
需说明的是,本公开实施例中被测对象以Metrics系统中的数据生产类SDK进行举例说明,Metrics系统属于时序数据处理系统,主要用于性能监控,测试数据可以是性能监控所需的数据,具体可以根据需求和实际应用场景确定,本公开对此不作限制。此外,被测对象还可以是其他时序数据处理系统的SDK,或者用于日志监控的数据处理系统中的SDK,本公开对此不作限制。
在可能的方式中,数据生产服务配置有统一的测试数据格式,测试数据是通过如下方式获取的:根据被测对象对应的预设测试任务,调用数据生产服务从配置管理平台获取预设配置文件,根据预设配置文件获取测试数据。或者,根据被测对象对应的预设测试任务,调用数据生产服务对应的预设数据获取接口获取测试数据。或者,根据被测对象对应的预设测试任务,调用数据生产服务对应的预设数据获取代码获取测试数据。
示例地,针对提供配置管理平台的数据处理系统,可以根据需求在配置管理平台设置预设配置文件,预设配置文件可以是代码文件,设置有打点类型、打点频率、Metricsname、Metrics tag等属性,具体的代码格式和配置属性可以根据需求确定,本公开对此不作限制。通过调用数据生产服务使用SDK获取预设配置文件,进而执行预设配置文件中的代码,根据预设配置文件中设置的属性进行打点触发得到打点数据,即测试数据。根据配置管理平台的预设配置文件获取测试数据,不仅可以观察打点内容,且一次配置长期有效。如果对预设配置文件进行修改,只需要发布预设配置文件即可,无需重新发布数据生产服务。由于数据生产服务的发布时长(1h左右)远小于配置文件的发布时长(30s),可以大大减少测试时间。此外,该方式可以作为巡检的打点数据源,例如需要长时间(例如4小时以上)数据累积的场景。
示例地,可以为数据生产服务编写HTTP(Hyper Text Transfer Protocol,超文本传输协议)API,即预设数据获取接口,通过调用预设数据获取接口启动数据生产任务获取测试数据,该方式灵活且实时性强,尤其适用于临时测试的数据源,例如5分钟内的打点查询场景或研发自测场景,测试数据获取完成后,即可回收进程资源,减少资源占用。
示例地,预设数据获取代码是将打点配置写在数据生产服务的代码逻辑中,在发布数据生产服务时自动启动数据生产任务,打点配置可以参考上述预设配置文件,具体的代码格式和配置属性可以根据需求确定,本公开对此不作限制。该方式可以为不同的打点实例部署不同的服务端代码,满足特定需求的测试,例如使用不同的SDK版本,还可以针对特定场景进行单独配置,例如未提供配置管理平台的数据处理系统。
示例地,可以以json为载体实现场景配置,在此基础上开发数据生产服务,通过上述多种测试数据的生产手段,可以满足不同场景下的测试需求,并且数据生产服务可以配置统一的测试数据格式,从而提高测试数据的复用率。
值得说明的是,所有的自动化测试任务均会绑定对应服务的发布流水线,自动化程序运行基于自动化框架,例如Tesla-Java自动化框架,本公开对此不作限制。参考图2,针对自动化测试,可以在服务发布流水线时触发测试流程,也可以设置定时触发测试流程,本公开对此不作限制。对于使用静态配置的测试用例(测试case),在自动化测试时可以直接执行测试任务,无需等待数据生产,而使用动态配置的测试任务,则会在执行测试任务之前,通过API(接口)调用数据生产服务,提前准备好测试数据。并且还可以在测试数据生产完成之后,停止打点结束生产测试数据,回收进程资源,或自动化测试结束之后停止自动化测试所需的进程资源,从而减少占用资源。本公开实施例提供的测试方法主要应用于动态配置的自动化测试流程,但是生产的测试数据也可以用于手工测试和研发自测的场景,本公开对此不作限制。
在可能的方式中,被测对象的运行环境包括新创建的独立用户环境,根据被测对象对应的预设测试任务,调用数据生产服务获取测试数据可以是:根据被测对象对应的运行环境测试任务,调用独立用户环境的数据生产服务对应的预设数据获取接口,获取运行环境测试任务对应的运行环境测试数据。基于测试数据执行预设测试任务,得到第一测试结果可以是:基于运行环境测试数据执行运行环境测试任务,得到第一测试结果。
示例地,常规的测试用例可以将测试数据以json的形式保存在工程的预设路径(如resource路径)下,在执行测试任务时请求测试数据。而对于需要长周期的数据物料的测试场景,则会使用参数化的测试数据方式来选择对应的线上测试环境,基于环境内准备好的测试数据执行测试任务。例如针对Metrics的租户,每次创建新租户相当于新建一套私有化独立环境,即新创建的独立用户环境,由于新环境内没有任何历史数据,无法验证SDK的可用性,因此可以采用上述调用数据生产服务对应的预设数据获取接口的方式,向新创建的独立用户环境内输入测试数据,从而执行标准化回归用例,即运行环境测试任务。
示例地,参照图3,首先创建新租户,进而对新租户的独立环境进行配置,在环境配置完成后发出测试请求,根据测试请求对应的测试场景编辑测试参数(可以实现自动填充),可以根据测试参数用于指示获取的测试数据的具体内容,进而通过调用API(预设数据获取接口)触发新租户的独立环境生产测试数据,再通过WebHook(相当于一种触发请求)调用运行环境测试任务,进而执行运行环境测试任务(例如Tesla-Java自动化框架对应的Tesla-Java任务),得到测试结果后发送给用户或测试人员,进而回收测试资源,减少资源占用。
在可能的方式中,所述方法还包括:在响应于针对被测对象的测试指令,根据被测对象对应的预设测试任务,调用数据生产服务获取测试数据之前,将被测对象对应产品的多个版本分别部署在多个独立集群中,并根据每一版本产品的被测对象对应的预设测试任务,确定版本兼容性测试任务。基于测试数据执行预设测试任务,得到第一测试结果可以是:针对每一独立集群对应的目标被测对象,基于测试数据执行目标被测对象对应的预设测试任务,得到版本测试结果,根据多个独立集群的版本测试结果,确定版本兼容性测试任务的测试结果,并将版本兼容性测试任务的测试结果作为第一测试结果。
示例地,Metrics系统作为一个SDK产品,线上会同时存在多个历史版本,为了在系统迭代时保持服务稳定,可以将多个历史版本分别部署在不同的测试用的独立集群中,进而验证SDK是否存在旧版本兼容性问题,即针对历史版本设置测试链路进行回归测试,具体可以根据需求确定需要验证的历史版本,例如使用量最大的1个或多个历史版本、上一次发布的历史版本等等,本公开对此不作限制。
示例地,参照图4,以覆盖以下三种历史版本的测试场景为例:
1、针对线上使用量最大的3个历史版本,将这3个历史版本分别部署到不同的独立集群中,定时执行自动化回归用例,防止SDK更新导致历史版本无法使用。
2、针对开发中的最新版本,由于需要跟随研发人员的Commit动态变化,Commit表示提交代码操作,部署最新的SDK产物,也可以配置独立集群用于自动化测试,该独立集群可以进行服务发布流程和自动化测试流程,即用于进行SDK上线前的测试流程。
3、对线上最新发布的稳定版本,通过部署测试用的独立集群,定时进行自动化回归巡检。
需说明的是,独立集群可以理解为独立环境。不同应用场景可以设置对应的测试用例,例如旧版本功能可能少于新版本的功能,可以选择性的针对不同历史版本设置对应的测试用例,本公开对此不作限制,具体可以根据需求设置。最后,得到多个独立集群中执行测试用例的测试结果,进而得到被测对象针对不同历史版本的Metrics系统的版本兼容性测试的测试结果。
在可能的方式中,基于测试数据执行预设测试任务,得到第一测试结果可以是:基于测试数据执行运维测试任务,得到第一测试子结果,执行预设原子任务,基于测试数据执行运维测试任务,得到第二测试子结果,其中,预设原子任务是将预设运维操作进行封装得到的,基于第一测试子结果和第二测试子结果,确定运维测试任务对应的第一测试结果。
示例地,Metrics系统除了需求发布外,还存在线上运维操作,例如配置变更、服务扩缩容等等,对于这类运维场景,可以在自动化测试的过程中,通过RPC(Remote ProcedureCall,远程过程调用)接口将运维操作封装成原子任务,可以将原子任务加入到服务发布流水线中,待服务发布时被动触发原子任务进行执行运维测试任务,也可以将原子任务加入到搭建的定时流水线,主动在测试环境内触发服务的发布,串行成真实的变更场景,从而将在线上场景中因为运维操作被动发现问题,转化为在测试阶段主动发现问题。图5以服务扩容验证SDK的查询功能的测试流程图,图6为与图5所示测试流程对应的测试任务具体的测试内容以及校验点。此外,还可以同时验证多个功能,即在原子任务执行前执行多个功能对应的测试用例,再原子任务执行后再执行多个功能对应的测试用例,获取前后两次的测试结果进行对比,得到测试结果,本公开对此不作限制。
在可能的方式中,获取被测对象对应的目标线上集群的后端处理服务的版本信息,根据版本信息进行版本校验测试,得到第二测试结果可以是:获取被测对象对应的目标线上集群的后端处理服务的镜像版本,在目标线上集群的后端处理服务的镜像版本不一致的情况下,确定后端处理服务的镜像版本中最新发布的目标镜像版本,针对每一目标后端处理服务,在目标后端处理服务的镜像版本与目标镜像版本不一致的情况下,分别获取目标后端处理服务的镜像版本与目标镜像版本的更新时间,在目标后端处理服务的镜像版本与目标镜像版本的更新时间间隔大于预设时间间隔的情况下,获取目标后端处理服务的第一代码版本以及目标镜像版本对应的后端处理服务的第二代码版本,在第一代码版本和第二代码版本不一致的情况下,确定表征目标后端处理服务存在版本异常的第二测试结果。
值得说明的是,Metrics系统作为一个海量数据处理系统,除代码内直接依赖的SDK外,后端处理链路也非常复杂,存在大量的组件(后端处理服务)和集群。由于组件和版本数量较多,发布时容易出现服务版本不一致的问题,容易引发系统故障。其中,多个后端处理服务的上线顺序存在依赖时,若后端处理服务的上线状态不一致,容易导致后端处理服务之间的沟通异常。并且,后端处理服务升级时一般会按集群或者区域逐个灰度(逐个升级),可能会存在有遗漏。
并且,由于后端处理服务的数量以及集群部署的数量过多,通过人工定时检查难以实现,因此可以搭建定时提醒机器人进行版本校验测试,通过接口获取显示所有的后端处理服务的信息,进行计算和校验,检查服务近期的升级历史,实现对后端处理服务的全链路测试,对存在版本异常的后端处理服务进行标记,进而通知运维人员进行维护跟进。
示例地,目标线上集群可以是所有部署后端处理服务的线上集群,如图7所示,可以通过接口查询后端处理服务信息,例如不同部署区域的后端处理服务信息,同一部署区域包括一个或多个线上集群。进而获取所有线上集群中后端处理服务的镜像版本,假设存在线上集群1、线上集群2和线上集群3,后端处理服务包括A、B和C,则所有线上集群中后端处理服务的镜像版本包括A1、A2、A3、B1、B2、B3、C1、C2和C3。若镜像版本A1、A2、A3一致(可以通过版本号或其他预设唯一标识符进行对比确定,本公开对此不作限制),则所有线上集群中的后端处理服务A无版本异常问题,无需同步(更新),否则,确定镜像版本A1、A2、A3中最新发布的镜像版本,可以通过对比版本号或最近一次的发布时间(更新时间)确定,以最新镜像版本为A1(这时可以确定线上集群1的后端处理服务A无版本异常问题,无需同步)为例,再对比A1与A2的镜像版本以及A1和A3的镜像版本,若A1与A2的镜像版本一致,A1和A3的镜像版本不一致,则线上集群2中的后端处理服务A无版本异常问题,无需同步,并获取A1和A3的更新时间。若A1和A3的更新时间间隔小于或等于预设时间间隔(例如一个月,本公开对此不作限制),则线上集群3中的后端处理服务A也没有版本异常问题,无需同步。
进一步地,继续参照如7,若A1和A3的更新时间间隔大于预设时间间隔,则获取A1的代码版本和A3的代码版本,其中,代码版本包括编译产物版本和代码commit版本。具体地,可以先对比A1和A3的编译产物版本,若编译产物版本一致则线上集群3中的后端处理服务A无版本异常问题,无需同步,若A1和A3的编译产物版本不一致则对比A1和A3的代码commit版本,若编译产物版本一致则线上集群3中的后端处理服务A无版本异常问题,无需同步,否则线上集群3中的后端处理服务A存在版本异常问题,需要进行同步更新。
需说明的是,图7中所示的版本校验测试流程可以根据需求进行调整,例如可以在镜像版本A1、A2、A3不一致的情况下,确定存在后端处理服务存在版本异常,通知运维人员对所有线上集群的后端处理服务A进行同步更新,本公开对此不作限制。当然,版本校验测试流程设置的判断条件越多,对版本异常的后端处理服务的定位精度也越高,从而减少服务同步更新,避免浪费资源。
此外,后端处理服务的自动化版本校验测试可以在后端处理服务发布后进行,也可以搭建定时机器人对线上集群的后端处理服务的定时自动化版本校验测试,从而减少人工检查的成本,也减少后端处理服务版本因异常导致的系统故障。并且在自动化版本校验测试结束后,及时回收自动化版本校验测试所需的资源,减少资源的占用。
在可能的方式中,该方法还包括:在确定表征目标后端处理服务存在版本异常的第二测试结果之后,对目标后端处理服务进行标记并生成提示信息,提示信息用于告知运维人员对目标后端处理服务进行服务升级。
示例地,若目标后端处理服务版本异常,则对目标后端处理服务进行标记并生成提示信息,以提示运维人员对目标后端处理服务进行服务升级,并且可以根据标记及时定位版本异常的目标后端处理服务。
在可能的方式中,基于测试数据执行预设测试任务,得到第一测试结果,可以是:获取预设测试任务对应的测试参数取值列表,将测试参数取值列表中所有测试参数的不同取值进行组合,得到多组测试参数取值组合,并基于多组测试参数取值组合生成预设测试任务对应的多个测试用例,基于测试数据执行预设测试任务对应的多个测试用例,得到第一测试结果。
示例地,由于SDK测试存在大量的参数组合场景,尤其是数据生产SDK的查询场景下,需要对时间、维度、精度、算子等等多个元素进行组合测试,常规的通过手工编写自动化测试的方式,难以实现快速且全面的自动化覆盖。面对复杂的参数组合场景,可以先获取预设测试任务对应的测试参数取值列表,再根据测试参数取值列表所有测试参数的不同取值进行循环遍历组合,得到所有测试参数的不同取值的全部且不重复的测试参数取值组合,当然,也可以根据需求进行简化,选择部分测试参数取值组合,本公开对此不作限制。然后根据多组测试参数取值组合生成对应的多个测试用例,进而执行多个测试用例,得到第一测试结果,实现快速且全面的自动化覆盖。
值得说明的是,不管是环境测试任务、版本兼容性测试任务还是运维测试任务,都以功能测试为基础,例如针对独立用户环境,通过功能测试验证在独立测试环境中SDK的功能是否正常,进而确定SDK在独立用户环境中的可用性。再如,版本兼容性测试任务的测试结果,也是通过功能测试验证不同版本的SDK功能是否正常确定。还比如,运维测试任务的测试结果,也是通过功能测试验证运维操作前后的SDK功能是否正常确定,功能测试的测试用例可以根据需求设定,本公开对此不作限定。
在可能的方式中,该方法还包括:在基于测试数据执行预设测试任务,得到第一测试结果之后,回收执行预设测试任务所需的进程资源和/或环境资源。
示例地,可以在测试数据生产结束后收回数据生产所需的进程资源,也可以在测试任务执行结束后,回收执行测试任务所需的进程资源和环境资源,还可以在版本校验测试结束后回收版本校验测试所需的进程资源和环境资源,从而减少资源占用以及资源成本。
需说明的是,本公开实施例提供的测试方法可以应用于服务端的数据生产类SDK,也可以应用于客户端的数据生产类SDK,当然,应用于客户端的数据生产类SDK时,数据生产方式可以根据客户端的场景进行调整,本公开对此不作限制。
下面结合图8对本公开实施例的测试方法的完整过程进行说明,如图8所示,数据准备相当于调用数据生产服务生产测试数据,数据生产服务配置有统一的测试数据格式,远程配置读取方式相当于根据被测对象对应的预设测试任务,调用数据生产服务从配置管理平台获取预设配置文件,根据预设配置文件获取测试数据。API快速生成方式相当于根据被测对象对应的预设测试任务,调用数据生产服务对应的预设数据获取接口获取测试数据。本地配置读取相当于根据被测对象对应的预设测试任务,调用数据生产服务对应的预设数据获取代码获取测试数据。
继续参照图8,生成的测试数据通过RPC通信上传到预设位置进行数据存储,可以通过相应的API向自动化测试、研发自测或手工测试提供测试数据,即数据消费。其中,所有的自动化测试任务均会绑定对应服务的发布流水线,发布自动化卡点包括发布流水线卡点和租户创建卡点,自动化测试可以校验数据格式、数值区间、接口稳定性、打点频率、聚合计算、黑名单或白名单策略,等等,具体根据测试需求确定,本公开对此不作限制。在自动化测试任务执行之前,通过测试请求确定测试参数,包括用于确定发布流水线卡点的流水线执行表单,或者用于调用针对租户的测试任务的WebHook请求参数。进一步地,还可以对线上已发布的SDK进行版本兼容性测试,还可以模拟线上运维场景执行运维测试任务。此外,还可以对后端处理服务进行版本校验测试。上述过程可以参考本公开提供的测试方法的实施例,本公开在此不再赘述。
采用上述方法,可以在数据生产阶段,通过多种数据生产方式,满足不同场景下的测试需求,同时使用标准化的参数格式定义,使得测试数据资产可以无缝复用。还可以在发布测试阶段,通过对测试结果的数值、频率、稳定性等参数的校验,实现SDK业务准出拦截卡点,并利用便捷的数据生产能力,实现新建私有环境(独立用户环境)的数据快速生成和交付测试验证。进而还可以在线上回归阶段,搭建SDK多版本兼容性测试链路,实现SDK类业务向上兼容性的保障,并且模拟后端服务链路的运维操作,使得自动化测试能够脱离静态的回归场景和传统的发布场景,面向动态模型进行校验。此外,对应服务端链路组件较多的情况下,部署复杂的场景,使用定时检测脚本校验线上编译产物,以及对应的代码提交版本,确保多区域下所有集群运行的程序版本一致。
示例地,通过多次模拟SDK上线的发布过程,在SDK的测试过程,数据生产阶段用时大大缩减,且能够发现后端处理服务的集群升级遗漏问题,避免线上事故隐患,参照图9,第一次发布未采用本公开实施例提供的测试方法,第二次发布、第三次发布和第四次发布采用了本公开实施例提供的测试方法,可以看出采用了本公开实施例提供的测试方法,自动化测试发现bug的数量增多,自动化召回率大幅提升。
基于同一发明构思,本公开实施例提供一种测试装置,参照图10,所述装置100包括:
第一测试模块101,用于响应于针对被测对象的测试指令,基于测试数据执行所述被测对象对应的预设测试任务,得到第一测试结果,其中,所述测试数据是通过调用数据生产服务获取的,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者。
第二测试模块102,用于获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果。
目标测试模块103,用于基于所述第一测试结果和所述第二测试结果得到目标测试结果。
可选地,所述数据生产服务配置有统一的测试数据格式,所述第一测试模块101用于:
根据所述被测对象对应的预设测试任务,调用所述数据生产服务从配置管理平台获取预设配置文件,根据所述预设配置文件获取所述测试数据;或,
根据所述被测对象对应的预设测试任务,调用所述数据生产服务对应的预设数据获取接口获取所述测试数据;或,
根据所述被测对象对应的预设测试任务,调用所述数据生产服务对应的预设数据获取代码获取所述测试数据。
可选地,所述被测对象的运行环境包括新创建的独立用户环境,所述第一测试模块101用于:
根据所述被测对象对应的运行环境测试任务,调用所述独立用户环境的数据生产服务对应的预设数据获取接口,获取所述运行环境测试任务对应的运行环境测试数据;
所述基于所述测试数据执行所述预设测试任务,得到第一测试结果,包括:
基于所述运行环境测试数据执行所述运行环境测试任务,得到所述第一测试结果。
可选地,所述装置100还包括部署模块,所述部署模块用于:
在所述响应于针对被测对象的测试指令,根据所述被测对象对应的预设测试任务,调用数据生产服务获取测试数据之前,将所述被测对象对应产品的多个版本分别部署在多个独立集群中,并根据每一版本产品的被测对象对应的预设测试任务,确定版本兼容性测试任务;
所述第一测试模块101用于:
针对每一所述独立集群对应的目标被测对象,基于所述测试数据执行所述目标被测对象对应的预设测试任务,得到版本测试结果;
根据所述多个独立集群的版本测试结果,确定所述版本兼容性测试任务的测试结果,并将所述版本兼容性测试任务的测试结果作为所述第一测试结果。
可选地,所述第一测试模块101用于:
基于所述测试数据执行所述运维测试任务,得到第一测试子结果,执行预设原子任务,基于所述测试数据执行所述运维测试任务,得到第二测试子结果,其中,所述预设原子任务是将预设运维操作进行封装得到的;
基于所述第一测试子结果和所述第二测试子结果,确定所述运维测试任务对应的第一测试结果。
可选地,所述第二测试模块102用于:
获取所述被测对象对应的目标线上集群的后端处理服务的镜像版本;
在所述目标线上集群的后端处理服务的镜像版本不一致的情况下,确定所述后端处理服务的镜像版本中最新发布的目标镜像版本;
针对每一目标后端处理服务,在所述目标后端处理服务的镜像版本与所述目标镜像版本不一致的情况下,分别获取所述目标后端处理服务的镜像版本与所述目标镜像版本的更新时间;
在所述目标后端处理服务的镜像版本与所述目标镜像版本的更新时间间隔大于预设时间间隔的情况下,获取所述目标后端处理服务的第一代码版本以及所述目标镜像版本对应的后端处理服务的第二代码版本;
在所述第一代码版本和所述第二代码版本不一致的情况下,确定表征所述目标后端处理服务存在版本异常的第二测试结果。
可选地,所述装置100还包括提示模块,所述提示模块用于:
在所述确定表征所述目标后端处理服务存在版本异常的第二测试结果之后,对所述目标后端处理服务进行标记并生成提示信息,所述提示信息用于告知运维人员对所述目标后端处理服务进行服务升级。
可选地,所述第一测试模块101用于:
获取所述预设测试任务对应的测试参数取值列表;
将所述测试参数取值列表中所有测试参数的不同取值进行组合,得到多组测试参数取值组合,并基于所述多组测试参数取值组合生成所述预设测试任务对应的多个测试用例;
基于所述测试数据执行所述预设测试任务对应的多个测试用例,得到所述第一测试结果。
可选地,所述装置100还包括回收模块,所述回收模块用于:
在所述基于所述测试数据执行所述预设测试任务,得到第一测试结果之后,回收执行所述预设测试任务所需的进程资源和/或环境资源。
基于同一构思,本公开还提供一种非临时性计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现上述测试方法的步骤。
基于同一构思,本公开还提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现上述基于同一构思,本公开还提供一种非临时性计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现上述测试方法的步骤。
下面参考图11,其示出了适于用来实现本公开实施例的电子设备1100的结构示意图。本公开实施例中的电子设备可以是一服务器,图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储装置1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有电子设备1100操作所需的各种程序和数据。处理装置1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
通常,以下装置可以连接至I/O接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备1100与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备1100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从ROM 1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的测试方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,服务器可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于针对被测对象的测试指令,根据所述被测对象对应的预设测试任务,调用数据生产服务获取测试数据,并基于所述测试数据执行所述预设测试任务,得到第一测试结果,其中,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者;获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果;基于所述第一测试结果和所述第二测试结果得到目标测试结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一测试模块还可以被描述为“用于响应于针对被测对象的测试指令,根据所述被测对象对应的预设测试任务,调用数据生产服务获取测试数据,并基于所述测试数据执行所述预设测试任务,得到第一测试结果的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (12)
1.一种测试方法,其特征在于,所述方法包括:
响应于针对被测对象的测试指令,基于测试数据执行所述被测对象对应的预设测试任务,得到第一测试结果,其中,所述测试数据是通过调用数据生产服务获取的,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者;
获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果;
基于所述第一测试结果和所述第二测试结果得到目标测试结果。
2.根据权利要求1所述的方法,其特征在于,所述数据生产服务配置有统一的测试数据格式,所述测试数据是通过如下方式获取的:
根据所述被测对象对应的预设测试任务,调用所述数据生产服务从配置管理平台获取预设配置文件,根据所述预设配置文件获取所述测试数据;或,
根据所述被测对象对应的预设测试任务,调用所述数据生产服务对应的预设数据获取接口获取所述测试数据;或,
根据所述被测对象对应的预设测试任务,调用所述数据生产服务对应的预设数据获取代码获取所述测试数据。
3.根据权利要求1所述的方法,其特征在于,所述被测对象的运行环境包括新创建的独立用户环境,所述根据所述被测对象对应的预设测试任务,调用数据生产服务获取测试数据,包括:
根据所述被测对象对应的运行环境测试任务,调用所述独立用户环境的数据生产服务对应的预设数据获取接口,获取所述运行环境测试任务对应的运行环境测试数据;
所述基于所述测试数据执行所述预设测试任务,得到第一测试结果,包括:
基于所述运行环境测试数据执行所述运行环境测试任务,得到所述第一测试结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述响应于针对被测对象的测试指令,根据所述被测对象对应的预设测试任务,调用数据生产服务获取测试数据之前,将所述被测对象对应产品的多个版本分别部署在多个独立集群中,并根据每一版本产品的被测对象对应的预设测试任务,确定版本兼容性测试任务;
所述基于所述测试数据执行所述预设测试任务,得到第一测试结果,包括:
针对每一所述独立集群对应的目标被测对象,基于所述测试数据执行所述目标被测对象对应的预设测试任务,得到版本测试结果;
根据所述多个独立集群的版本测试结果,确定所述版本兼容性测试任务的测试结果,并将所述版本兼容性测试任务的测试结果作为所述第一测试结果。
5.根据权利要求1所述的方法,其特征在于,所述基于所述测试数据执行所述预设测试任务,得到第一测试结果,包括:
基于所述测试数据执行所述运维测试任务,得到第一测试子结果,执行预设原子任务,基于所述测试数据执行所述运维测试任务,得到第二测试子结果,其中,所述预设原子任务是将预设运维操作进行封装得到的;
基于所述第一测试子结果和所述第二测试子结果,确定所述运维测试任务对应的第一测试结果。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果,包括:
获取所述被测对象对应的目标线上集群的后端处理服务的镜像版本;
在所述目标线上集群的后端处理服务的镜像版本不一致的情况下,确定所述后端处理服务的镜像版本中最新发布的目标镜像版本;
针对每一目标后端处理服务,在所述目标后端处理服务的镜像版本与所述目标镜像版本不一致的情况下,分别获取所述目标后端处理服务的镜像版本与所述目标镜像版本的更新时间;
在所述目标后端处理服务的镜像版本与所述目标镜像版本的更新时间间隔大于预设时间间隔的情况下,获取所述目标后端处理服务的第一代码版本以及所述目标镜像版本对应的后端处理服务的第二代码版本;
在所述第一代码版本和所述第二代码版本不一致的情况下,确定表征所述目标后端处理服务存在版本异常的第二测试结果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述确定表征所述目标后端处理服务存在版本异常的第二测试结果之后,对所述目标后端处理服务进行标记并生成提示信息,所述提示信息用于告知运维人员对所述目标后端处理服务进行服务升级。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述基于所述测试数据执行所述预设测试任务,得到第一测试结果,包括:
获取所述预设测试任务对应的测试参数取值列表;
将所述测试参数取值列表中所有测试参数的不同取值进行组合,得到多组测试参数取值组合,并基于所述多组测试参数取值组合生成所述预设测试任务对应的多个测试用例;
基于所述测试数据执行所述预设测试任务对应的多个测试用例,得到所述第一测试结果。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
在所述基于所述测试数据执行所述预设测试任务,得到第一测试结果之后,回收执行所述预设测试任务所需的进程资源和/或环境资源。
10.一种测试装置,其特征在于,所述装置包括:
第一测试模块,用于响应于针对被测对象的测试指令,基于测试数据执行所述被测对象对应的预设测试任务,得到第一测试结果,其中,所述测试数据是通过调用数据生产服务获取的,所述预设测试任务包括运行环境测试任务、版本兼容性测试任务以及运维测试任务中的至少一者;
第二测试模块,用于获取所述被测对象对应的目标线上集群的后端处理服务的版本信息,根据所述版本信息进行版本校验测试,得到第二测试结果;
目标测试模块,用于基于所述第一测试结果和所述第二测试结果得到目标测试结果。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-9中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310588617.9A CN116775463A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310588617.9A CN116775463A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775463A true CN116775463A (zh) | 2023-09-19 |
Family
ID=87986977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310588617.9A Pending CN116775463A (zh) | 2023-05-23 | 2023-05-23 | 测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775463A (zh) |
-
2023
- 2023-05-23 CN CN202310588617.9A patent/CN116775463A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN110083543B (zh) | 回归测试方法、装置、电子设备及存储介质 | |
CN105164644B (zh) | 钩子框架 | |
CN112650685B (zh) | 自动化测试方法、装置、电子设备及计算机存储介质 | |
CN110674047B (zh) | 软件测试方法、装置及电子设备 | |
US20170097812A1 (en) | Automated and heuristically managed solution to quantify cpu and path length cost of instructions added, changed or removed by a service team | |
CN110532021B (zh) | 分布式控制系统的组态文件的处理方法、客户端及服务装置 | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
CN110795331A (zh) | 软件测试的方法和装置 | |
CN107621963A (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
CN116225886A (zh) | 测试用例生成方法、装置、设备、存储介质及程序产品 | |
CN107193582B (zh) | 发布方法及系统 | |
CN111625291B (zh) | 数据处理模型自动迭代方法、装置及电子设备 | |
CN110443034B (zh) | 风险程序文件的识别方法、装置、计算设备以及介质 | |
CN113360365A (zh) | 一种流程测试方法和流程测试系统 | |
CN116521530A (zh) | 单元测试方法、装置、设备、存储介质和产品 | |
CN116450511A (zh) | 信息更新方法、装置、电子设备和计算机可读介质 | |
CN105339974B (zh) | 模拟传感器 | |
CN116775463A (zh) | 测试方法、装置、存储介质及电子设备 | |
CN112882921B (zh) | 故障模拟方法和装置 | |
CN114610322A (zh) | 一种基于DevSecOps平台的软件处理方法与系统 | |
CN109960659B (zh) | 用于检测应用程序的方法和装置 | |
CN113434382A (zh) | 数据库性能监控方法、装置、电子设备及计算机可读介质 | |
CN113760768A (zh) | 一种测试方法、监控平台、电子设备及存储介质 | |
CN112346994A (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 |