CN112416767A - 一种分布式系统测试方法、装置和设备 - Google Patents
一种分布式系统测试方法、装置和设备 Download PDFInfo
- Publication number
- CN112416767A CN112416767A CN202011312151.2A CN202011312151A CN112416767A CN 112416767 A CN112416767 A CN 112416767A CN 202011312151 A CN202011312151 A CN 202011312151A CN 112416767 A CN112416767 A CN 112416767A
- Authority
- CN
- China
- Prior art keywords
- test
- tested
- component
- interface
- case
- 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
- 238000010998 test method Methods 0.000 title description 6
- 238000012360 testing method Methods 0.000 claims abstract description 429
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 87
- 238000011990 functional testing Methods 0.000 claims description 29
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 11
- 230000000712 assembly Effects 0.000 claims 1
- 238000000429 assembly Methods 0.000 claims 1
- 238000012986 modification Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 13
- 230000010354 integration Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000005553 drilling Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000003908 quality control method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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/3692—Test management for test results 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
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是根据本说明书实施例提供的分布式系统测试设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
请参阅图1,本实施方式可以提供一种分布式系统测试方法。该分布式系统测试方法可以用于对待测分布式系统中的多个待测组件进行接口测试和功能测试,从而有效地确定各个组件案例执行状态和通过情况。上述分布式系统测试方法可以包括以下步骤。
S101:确定待测分布式系统中的多个待测组件。
在本实施方式中,将目标系统改造为分布式系统的过程中必然会涉及多个组件的调整,例如,将组件A调整至节点A中运行等。上述待测分布式系统可以为对目标系统改造后的分布式系统,对待测分布式系统的测试就是对改造过程中被调整的多个组件的测试。
在一个实施方式中,如果上述目标系统为核心银行系统,那么对组件的调整可以包括:将某服务下移至分行、更改交易处理链路等。上述组件(Component)是对数据和方法的简单封装,组件可以有自己的属性和方法,属性是组件数据的简单访问者。
S102:在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,交易码用于表征不同的业务。
在本实施方式中,可以在对上述多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,交易码用于表征不同的业务,不同业务的交易码是不同的,例如:银行卡取现业务的代码为4213、现金存入的代码为CHS,当然,交易码不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述功能测试是对待测组件的各功能进行验证,根据功能测试案例,逐项测试,检查待测组件是否达到预期的功能。根据待测组件特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定是否满足设计需求。
在本实施方式中,可以通过监听器监控各个待测组件的后端服务系统接收及发送的HTTP请求报文,并对报文进行解析,从而可以得到各个待测组件在功能测试中产生的交易码。其中,各个待测组件在功能测试中产生的交易码可以表征各个待测组件可以覆盖的业务。
S103:根据多个待测组件特性,确定测试结果比对依据。
在本实施方式中,为了准确地判断测试是否通过,可以预先根据多个待测组件特性设置测试结果比对依据。其中,由于不同的组件可以用于实现不同的业务,而不同的业务必然会具备不同的特征,使得不同的业务对于测试的要求也会不同,例如:高频业务的交易码通过率要求为100%,因此,可以针对多个待测组件特性,确定测试结果比对依据。
在本实施方式中,上述预先设置的测试结果比对依据可以为测试通过的标准,不符合测试结果比对依据则说明组件的质量没有达到预期还需要进一步改进和完善。上述预先设置的测试结果比对依据可以包含多条标准,每条标准都可以包含至少一个规则要素。上述规则要素可以包括:交易码类型、交易码清单、组件类型(主组件、配套改造组件)、主要业务场景清单、测试案例清单、业务场景与测试案例映射关系、测试案例与组件映射清单、测试案例与交易码映射清单、交易码改造类型(交易路径改变、内部逻辑改变)。
在本实施方式中,可以针对每条标准利用标准要素进行定义,例如,对于标准“主要业务场景全覆盖”,标准要素组合可以为:主要业务场景清单+业务场景关联的测试案例清单+测试案例与交易码映射清单+交易码成功次数>0+测试案例执行通过。当然,测试结果比对依据不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,功能测试的测试结果比对依据可以包括:下移分行的服务整合交易端到端全覆盖;未下移分行的重点及高频交易全覆盖;配套改造组件或系统的改造交易或数据集成全覆盖;主要业务场景全覆盖;针对访问路径变更的交易,进行接口测试验证交易路径的正确性,针对内部代码逻辑变更的交易进行全量的功能回归,覆盖代码逻辑分支;测试案例要有执行记录,发现问题需提交缺陷,案例通过率100%,缺陷解决率100%。
S104:对多个待测组件进行接口测试,得到各个待测组件的接口测试结果。
在本实施方式中,可以对多个待测组件进行接口测试,并采集各个待测组件的接口测试结果。其中,上述接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。可以模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理返回响应报文,以确定程序是否能适当地接收输入数据而产生正确的输出信息。
在本实施方式中,针对访问路径变更的交易,需要进行接口测试验证交易路径的正确性,针对内部代码逻辑变更的交易进行全量的功能回归,覆盖代码逻辑分支。上述接口测试结果中可以包括:组件信息、响应码等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,如果多个交易码都需要测试且有一定的关联关系,为了保证测试的连贯性以及覆盖率可以将接口测试组合成场景测试,以便打通接口与接口之间的关联关系,从而防止漏测。
S105:获取功能测试案例和接口测试案例。
在本实施方式中,为了确定功能测试和接口测试的具体情况,可以获取功能测试案例和接口测试案例。上述测试案例(Test Case),也可称为测试用例,是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容可以包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
在本实施方式中,获取功能测试案例和接口测试案例的方式可以包括:从预设数据库中拉取得到,或者,可以按照预设路径查询得到。当然可以理解的是,还可以采用其它可能的方式获取上述功能测试案例和接口测试案例,例如,接收用户输入的功能测试案例和接口测试案例,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S106:根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果;其中,测试结果用于表征待测组件的测试案例执行结果和是否符合测试结果比对依据。
在本实施方式中,由于根据功能测试案例和接口测试案例的原始数据确定出功能测试和接口测试案例预期结果,因此,根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码可以确定出实际执行的情况与期望执行的情况之间的匹配关系。进一步的,可以根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果。
在本实施方式中,上述测试结果可以用于表征待测组件的案例执行状态和通过情况,测试结果可以包括以下至少之一:交易码执行次数、交易码成功次数、交易码失败次数、交易码成功率、代码行覆盖率、交易码对应的案例执行率、关键响应码覆盖率。例如:组件A,交易码1类型为下移服务整合,交易码1应执行次数3次,实际执行3次,成功执行2次,功能测试通过。当然,测试结果不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在一个实施方式中,根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果,可以包括:根据能测试案例和接口测试案例设置测试案例预期结果;将在功能测试中监控到的交易码和响应码、各个待测组件的接口测试结果与测试案例预期结果进行匹配,得到接口测试案例执行结果和功能测试案例执行结果;根据接口测试案例执行结果、功能测试案例执行结果和测试结果比对依据确定测试通过情况;其中,测试通过情况用于表征接口测试和功能测试是否通过;将接口测试案例执行结果、功能测试案例执行结果和测试通过情况作为各个待测组件的测试结果。
在一个实施方式中,为了便于将各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码与功能测试案例、接口测试案例进行匹配,可以将功能测试案例和接口测试案例分解为与测试案例关联的多个特征数据。其中,上述特征数据可以包括:测试范围类型、测试案例编号、测试案例名称、序号、目录、所属应用/系统、案例性质、案例类型、案例设计人、测试概述、操作步骤序号、步骤描述、测试数据需求、预期结果、运行结果、是否体验相关、体验结果验证人、周期、使用测试数据需求属性、业务规则编号、界面规则编号、营业日期或自然日、案例对应数据类型、指标类型、指标名称等。
在本实施方式中,对各个待测组件的接口测试结果、在功能测试中监控到的交易码的分析可以通过BI工具(商业智能分析工具)实现,主要的分析维度可以包括但不限于:交易码类型(下移服务整合、未下移高频、未下移重要等)、交易码执行次数、交易码成功次数、交易码失败次数、交易码成功率(成功次数/执行次数)、代码行覆盖率、交易码对应案例执行率、关键响应码覆盖率。可以通过多维联动查询监控测试进展,例如,质控人员想查看未下移高频交易已经全部覆盖的组件,可通过如下组合维度查询:交易码类型为未下移高频+交易码成功次数>0+交易码对应案例执行率=100%。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个实施方式中,可以根据测试结果生成多维度统计报表,多维度统计报表用于从多个维度展示各个待测组件的测试情况。其中,上述测试结果的默认粒度可以为组件。在一个实施例中,上述多维度统计报表可以如表1中所示。
表1
序号 | 组件名称 | 组件所属机构 | 覆盖情况 |
1 | 组件A | xx事业群 | 未覆盖 |
2 | 组件B | xx事业群 | 覆盖 |
在本实施方式中,对于测试结果质控人员可以进行数据下钻和上卷,如果是数据下钻,下钻后显示该组件的所有交易码执行明细,包括:执行次数、成功次数、失败次数、执行成功率等。如果是数据上卷,则显示该组件上一级各机构对于本标准的执行情况。其中,对表1进行数据下钻可以得到表2,对表1进行上卷可以得到表3。
表2
序号 | 组件 | 交易码 | 类型 |
1 | 组件A | 交易码1 | 下移服务整合 |
2 | 组件A | 交易码2 | 下移服务整合 |
表3
序号 | 机构 | 监控标准 | 是否通过 |
1 | XX事业群 | 下移分行服务整合交易端到端全覆盖 | 否 |
2 | XX事业群 | 下移分行服务整合交易端到端全覆盖 | 是 |
在一个实施方式中,可以对质量监控结果较差的项目进行辅助性的分析。例如,交易码覆盖率偏低的情况,会显示建议的排查方法:对比监控工具部署环境和交易环境的差异、报文格式不规范等,从而可以有效提高测试的质量。
在一个实施方式中,确定待测系统中的多个待测组件,可以包括:获取待测分布式系统中各个组件的组件信息;其中,组件信息包括:是否下移分行、主项目、协同项目、组件名称、组件功能描述、组件协同信息、组件部署环境、涉及的交易码和响应码。进一步的,可以根据待测分布式系统中各个组件的组件信息,确定出多个待测组件。
在本实施方式中,将目标系统改造为分布式系统的过程中必然会涉及多个组件的调整,例如,将组件A调整至节点A中运行等。因此,可以将被改造的组件作为待测组件。当然可以理解的是,一个完整的业务链路可能会涉及多个组件,可能不是涉及每个组件都被改造,而这些组件之间具有相互关联关系,因此,还可以将涉及的其它组件也作为待测组件,从而可以完整、准确地确定整个业务的情况。
在本实施方式中,可以获取待测分布式系统中各个组件的组件信息,上述待测分布式系统中各个组件的组件信息可以是预先录入系统的。进一步的,还可以设置各个组卷的测试类型,上述测试类型可以包括:功能测试、性能测试、界面测试、接口测试等。
在一个实施方式中,在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中产生的交易码,可以包括:设置测试配置参数;其中,测试配置参数包括:环境配置参数、平台配置参数、报文配置参数、监控系统配置参数。可以根据测试配置参数和功能测试案例对多个待测组件进行功能测试,并利用监控系统采集在功能测试过程中各个待测组件接收和发送的请求报文。进一步的,可以根据各个待测组件接收和发送的请求报文,确定各个待测组件在功能测试中产生的交易码。
在本实施方式中,可以先设置测试配置参数,包括:设置组件名称、英文名称、所属平台、环境配置、平台配置;通用字段提取配置报文(IP、端口、请求长度等);应用请求和响应报文的解析规则配置(例如,XML、JSON、Form表单、字符串等);入库配置(表明、字段名);丢弃设置,将符合某些条件的异常报文丢弃(丢弃规则、丢弃表达式);监控系统配置(系统的信息、管理的报文解析规则、组件信息等);监控系统服务器配置,每个系统所有的服务器信息(IP、端口、所属环境等)。其中,IP为网际协议,XML为可扩展标记语言(ExtensibleMarkup Language),JSON是一种轻量级的数据交换格式。
在本实施方式中,对多个待测组件进行接口测试,得到各个待测组件的接口测试结果,可以包括:根据接口测试案例涉及的交易的特点设置前置动作和后置动作,设置接口测试的检查点。并根据设置的检查点、前置动作和后置动作,对多个待测组件进行接口测试,从而可以得到各个待测组件的接口测试结果。
在本实施方中,在接口测试执行前,可以根据接口测试案例涉及的设置前置动作和后置动作。例如:组件A修改XX节点,就需要系统中有可以修改的节点,则新增节点数据就是前置动作;组件A新增XX树节点,XX节点具有唯一性,节点被增加后就不能重复添加,因此为了重复添加该数据,则在接口测试完成后需要将已增加节点删除,那么清理数据就是后置动作。
在本实施方式中,设置接口测试的检查点可以包括:对于基本状态码和返回码加上响应报文实体中的一些必须要返回的字段,例如金额等,以避免漏测结果数据不正确的情况。上述检查点就是系统根据用户的输入,按照业务要求的逻辑处理后产生的输出,不同的业务场景、不同的结果(成功或者失败)会有不一样的要求。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:可以通过确定待测分布式系统中的多个待测组件,在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码,其中,上述交易码可以用于表征不同的业务。进一步的,可以对多个待测组件进行接口测试,得到各个待测组件的接口测试结果,并根据多个待测组件的特性,确定测试结果比对依据。可以获取功能测试案例和接口测试案例,以根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果,其中,上述测试结果可以用于表征待测组件的案例执行状态和通过情况。从而可以通过对各个待测组件进行功能测试和接口测试,并根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例确定案例执行状态和通过情况,有效的解决了分布式改造项目场景复杂、集成业务繁多,测试环境复杂导致测试监控不到位的问题,提高了测试效率和准确性。
基于同一发明构思,本说明书实施例中还提供了一种分布式系统测试装置,如下面的实施例。由于分布式系统测试装置解决问题的原理与分布式系统测试方法相似,因此分布式系统测试装置的实施可以参见分布式系统测试方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是本说明书实施例的分布式系统测试装置的一种结构框图,如图2所示,可以包括:第一确定模块201、功能测试模块202、第二确定模块203、接口测试模块204、获取模块205和第三确定模块206,下面对该结构进行说明。
第一确定模块201,可以用于确定待测系统中的多个待测组件;
功能测试模块202,可以用于对多个待测组件进行功能测试,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,交易码用于表征不同的业务;
第二确定模块203,用于根据多个待测组件特性,确定测试结果比对依据;
接口测试模块204,可以用于对多个待测组件进行接口测试,得到各个待测组件的接口测试结果;
获取模块205,可以用于获取功能测试案例和接口测试案例;
第三确定模块206,可以用于根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、所述测试结果比对依据、功能测试案例和接口测试案例,确定所述各个待测组件的测试结果;其中,所述测试结果用于表征待测组件的测试案例执行结果和是否符合所述测试结果比对依据。
本说明书实施例实施方式还提供了一种电子设备,具体可以参阅图3所示的基于本说明书实施例提供的分布式系统测试方法的电子设备组成结构示意图,电子设备具体可以包括输入设备31、处理器32、存储器33。其中,输入设备31具体可以用于输入多个待测组件的组件信息。处理器32具体可以用于确定待测分布式系统中的多个待测组件;在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,交易码用于表征不同的业务;根据多个待测组件特性,确定测试结果比对依据;对多个待测组件进行接口测试,得到各个待测组件的接口测试结果;获取功能测试案例和接口测试案例;根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果;其中,测试结果用于表征待测组件的测试案例执行结果和是否符合测试结果比对依据。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例实施方式中还提供了一种基于分布式系统测试方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:确定待测分布式系统中的多个待测组件;在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,交易码用于表征不同的业务;根据多个待测组件特性,确定测试结果比对依据;对多个待测组件进行接口测试,得到各个待测组件的接口测试结果;获取功能测试案例和接口测试案例;根据各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、测试结果比对依据、功能测试案例和接口测试案例,确定各个待测组件的测试结果;其中,测试结果用于表征待测组件的测试案例执行结果和是否符合测试结果比对依据。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
虽然本说明书实施例提供了如上述实施例或流程图所述的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本说明书实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书实施例的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书实施例的优选实施例而已,并不用于限制本说明书实施例,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (11)
1.一种分布式系统测试方法,其特征在于,包括:
确定待测分布式系统中的多个待测组件;
在对所述多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,所述交易码用于表征不同的业务;
根据所述多个待测组件特性,确定测试结果比对依据;
对所述多个待测组件进行接口测试,得到所述各个待测组件的接口测试结果;
获取功能测试案例和接口测试案例;
根据所述各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、所述测试结果比对依据、功能测试案例和接口测试案例,确定所述各个待测组件的测试结果;其中,所述测试结果用于表征待测组件的测试案例执行结果和是否符合所述测试结果比对依据。
2.根据权利要求1所述的方法,其特征在于,确定待测系统中的多个待测组件,包括:
获取所述待测分布式系统中各个组件的组件信息;其中,所述组件信息包括但不限于:是否下移分行、主项目、协同项目、组件名称、组件功能描述、组件协同信息、组件部署环境、涉及的交易码和响应码;
根据所述组件信息,确定所述多个待测组件。
3.根据权利要求1所述的方法,其特征在于,在对多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码,包括:
设置测试配置参数;其中,所述测试配置参数包括:环境配置参数、平台配置参数、报文配置参数、监控系统配置参数;
根据所述测试配置参数和所述功能测试案例对所述多个待测组件进行功能测试;
利用所述监控系统采集在功能测试过程中所述各个待测组件接收和发送的请求报文;
根据所述各个待测组件接收和发送的请求报文,确定各个待测组件在功能测试中产生的交易码和响应码。
4.根据权利要求1所述的方法,其特征在于,对所述多个待测组件进行接口测试,得到所述各个待测组件的接口测试结果,包括:
根据所述接口测试案例涉及的交易的特点设置前置动作和后置动作;
设置接口测试的检查点;
根据设置的检查点、前置动作和后置动作,对所述多个待测组件进行接口测试;
采集所述各个待测组件的接口测试结果。
5.根据权利要求1所述的方法,其特征在于,根据所述各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、所述测试结果比对依据、功能测试案例和接口测试案例,确定所述各个待测组件的测试结果,包括:
根据所述能测试案例和接口测试案例设置测试案例预期结果;
将在功能测试中监控到的交易码和响应码、所述各个待测组件的接口测试结果与所述测试案例预期结果进行匹配,得到接口测试案例执行结果和功能测试案例执行结果;
根据所述接口测试案例执行结果、功能测试案例执行结果和所述测试结果比对依据确定测试通过情况;其中,所述测试通过情况用于表征所述接口测试和所述功能测试是否通过;
将所述接口测试案例执行结果、功能测试案例执行结果和所述测试通过情况作为所述各个待测组件的测试结果。
6.根据权利要求5所述的方法,其特征在于,所述测试结果包括:交易码执行次数、交易码成功次数、交易码失败次数、交易码成功率、代码行覆盖率、交易码对应的案例执行率、关键响应码覆盖率。
7.根据权利要求6所述的方法,其特征在于,根据所述测试结果生成多维度统计报表,所述多维度统计报表用于从多个维度展示所述各个待测组件的测试情况。
8.根据权利要求5所述的方法,其特征在于,在将所述各个待测组件的接口测试结果、在功能测试中产生的交易码与功能测试案例、接口测试案例和所述测试结果比对依据进行匹配之前,还包括:
将所述功能测试案例和接口测试案例分解为与测试案例关联的多个特征数据;其中所述特征数据包括:测试范围类型、测试案例编号、测试案例名称、测试案例序号、测试案例目录、测试案例所属应用或系统、案例性质、案例类型、案例设计人、测试概述、操作步骤序号、步骤描述、测试数据需求、预期结果、运行结果、是否体验相关、体验结果验证人、测试周期、使用测试数据需求属性、业务规则编号、界面规则编号、营业日期或自然日、案例对应数据类型、指标类型、指标名称。
9.一种分布式系统测试装置,其特征在于,包括:
第一确定模块,用于确定待测系统中的多个待测组件;
功能测试模块,用于在对所述多个待测组件进行功能测试过程中,采集各个待测组件在功能测试中监控到的交易码和响应码;其中,所述交易码用于表征不同的业务;
第二确定模块,用于根据所述多个待测组件特性,确定测试结果比对依据;
接口测试模块,用于对所述多个待测组件进行接口测试,得到所述各个待测组件的接口测试结果;
获取模块,用于获取功能测试案例和接口测试案例;
第三确定模块,用于根据所述各个待测组件的接口测试结果、在功能测试中监控到的交易码和响应码、所述测试结果比对依据、功能测试案例和接口测试案例,确定所述各个待测组件的测试结果;其中,所述测试结果用于表征待测组件的测试案例执行结果和是否符合所述测试结果比对依据。
10.一种分布式系统测试设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312151.2A CN112416767A (zh) | 2020-11-20 | 2020-11-20 | 一种分布式系统测试方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011312151.2A CN112416767A (zh) | 2020-11-20 | 2020-11-20 | 一种分布式系统测试方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416767A true CN112416767A (zh) | 2021-02-26 |
Family
ID=74777075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011312151.2A Pending CN112416767A (zh) | 2020-11-20 | 2020-11-20 | 一种分布式系统测试方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416767A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993747B1 (en) * | 1999-08-30 | 2006-01-31 | Empirix Inc. | Method and system for web based software object testing |
CN104516809A (zh) * | 2013-09-26 | 2015-04-15 | 方正宽带网络服务股份有限公司 | 一种自动化测试系统及方法 |
CN106201894A (zh) * | 2016-07-21 | 2016-12-07 | 浪潮电子信息产业股份有限公司 | 一种软件测试装置和方法 |
CN108446221A (zh) * | 2018-03-05 | 2018-08-24 | 平安普惠企业管理有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN110413507A (zh) * | 2019-06-21 | 2019-11-05 | 平安科技(深圳)有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN111367818A (zh) * | 2020-03-30 | 2020-07-03 | 中国建设银行股份有限公司 | 基于动态数据返回的系统组件测试方法及装置 |
-
2020
- 2020-11-20 CN CN202011312151.2A patent/CN112416767A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993747B1 (en) * | 1999-08-30 | 2006-01-31 | Empirix Inc. | Method and system for web based software object testing |
CN104516809A (zh) * | 2013-09-26 | 2015-04-15 | 方正宽带网络服务股份有限公司 | 一种自动化测试系统及方法 |
CN106201894A (zh) * | 2016-07-21 | 2016-12-07 | 浪潮电子信息产业股份有限公司 | 一种软件测试装置和方法 |
CN108446221A (zh) * | 2018-03-05 | 2018-08-24 | 平安普惠企业管理有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN110413507A (zh) * | 2019-06-21 | 2019-11-05 | 平安科技(深圳)有限公司 | 系统测试方法、装置、计算机设备和存储介质 |
CN111367818A (zh) * | 2020-03-30 | 2020-07-03 | 中国建设银行股份有限公司 | 基于动态数据返回的系统组件测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11188619B2 (en) | Single click delta analysis | |
US11314723B1 (en) | Anomaly detection | |
US20220206889A1 (en) | Automatic correlation of dynamic system events within computing devices | |
US8095507B2 (en) | Automated topology-based statistics monitoring and performance analysis | |
US9633106B1 (en) | Log data analysis | |
US10452625B2 (en) | Data lineage analysis | |
US7673291B2 (en) | Automatic database diagnostic monitor architecture | |
EP3864516B1 (en) | Veto-based model for measuring product health | |
US11526422B2 (en) | System and method for troubleshooting abnormal behavior of an application | |
US9479414B1 (en) | System and method for analyzing computing performance | |
US20190317834A1 (en) | Using and Updating Topological Relationships Amongst a Set of Nodes in Event Clustering | |
CN112035415A (zh) | 针对用户访问数据的处理系统、方法、设备及存储介质 | |
EP3657347A1 (en) | Machine learning based database anomaly prediction | |
CN110096411A (zh) | 基于关联分析和时间窗的日志模板快速提取方法及系统 | |
US20220245120A1 (en) | Automated generation of audit log with application-level metadata using replication log of a database | |
CN117221148A (zh) | 多类型网络应用服务质量评估系统和方法 | |
Zhao et al. | SpaceSaving $^\pm $: An Optimal Algorithm for Frequency Estimation and Frequent items in the Bounded Deletion Model | |
CN111382071A (zh) | 一种用户行为数据测试方法及系统 | |
CN109559121A (zh) | 交易路径调用异常分析方法、装置、设备及可读存储介质 | |
CN112416767A (zh) | 一种分布式系统测试方法、装置和设备 | |
US10003492B2 (en) | Systems and methods for managing data related to network elements from multiple sources | |
Li et al. | Generic and robust root cause localization for multi-dimensional data in online service systems | |
CN116089490A (zh) | 数据分析方法、装置、终端和存储介质 | |
CN115509851A (zh) | 页面监控方法、装置及设备 | |
CN111444156A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |