CN116225911A - 一种可观测性平台的功能测试方法及装置 - Google Patents
一种可观测性平台的功能测试方法及装置 Download PDFInfo
- Publication number
- CN116225911A CN116225911A CN202310045082.0A CN202310045082A CN116225911A CN 116225911 A CN116225911 A CN 116225911A CN 202310045082 A CN202310045082 A CN 202310045082A CN 116225911 A CN116225911 A CN 116225911A
- Authority
- CN
- China
- Prior art keywords
- test
- case
- observability
- version
- platform
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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/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
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种可观测性平台的功能测试方法及装置,所述方法包括:S1、编写并存储自定义的测试用例;S2、输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;S3、根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;S4、在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;S5、读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。本发明的方法将测试过程中产生的可观测性数据和结果与可观测性平台集成,通过标准化的数据格式,输出到可观测性平台,进行二次加工和分析。
Description
技术领域
本发明属于软件测试技术领域,具体而言属于一种可观测性平台的功能测试方法及装置。
背景技术
可观测性平台是一种基于云原生的开放式平台,提供一系列的可观测性功能,包括日志、指标、追踪、调试等,这些功能可以帮助用户快速定位问题,提高***的稳定性和可用性。
可观测性平台的功能测试是指通过API接口,对可观测性平台的各项功能进行黑盒测试,已验证可观测性平台的功能是否正常。
传统的API功能测试方法,需要开发人员编写包含有一个或多个API调用顺序、参数和响应预期的测试用例,然后通过测试框架执行测试用例,验证可观测性平台的功能是否正常。
现有的可观测性平台的功能测试方法存在以下局限性:
1)与编程语言集成的测试框架往往需要开发与测试人员全程协同,编写测试用例的成本较高,且测试用例的编写和维护工作量较大,不利于测试用例的快速迭代;
2)带有图形化界面的客户端测试编排工具提高了测试编写的效率,但由于需要在客户端安装工具,触发执行,因此不适用于持续测试的场景。例如当一个版本回归测试被触发时,往往需要执行千百个不同的测试用例,此时单一的客户端完成该项任务往往需要数十个小时之久;
3)在测试过程中产生的可观测性数据和结果往往在平台内部流转,难以别外部的可观测性平台使用,因此不完全适用于可观测性平台的测试与集成。
有鉴于此,特提出本发明。
发明内容
有鉴于此,本发明公开了一种可观测性平台的功能测试方法及装置,实现测试用例在服务器端的集中管理和分布式执行,提高测试用例的执行效率;将测试过程中产生的可观测性数据和结果与可观测性平台集成,通过标准化的数据格式,输出到外部的可观测性平台,进行二次加工和分析。
具体的,本发明是通过以下技术方案实现的:
第一方面,本发明公开了一种可观测性平台的功能测试方法,包括如下步骤:
S1、编写并存储自定义的测试用例;
具体地,测试用例可以用常见的客户端图形化工具来编写,JMeter的测试用例可以通过JMeter的GUI工具进行编写,以JMX文件的形式提交并进行集中存储和计算。
S2、输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
S3、根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
S4、在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
S5、读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。
具体地,数据采用InfluxDB兼容的行协议格式进行传输,输出到外部的可观测性平台进行二次加工,在此过程中,数据采集模块会采集每一个API调用的请求地址、参数、状态码、响应时间和错误提示等信息,与此同时,数据采集模块并对采集的数据添加额外的标记,包括测试用例的名称,执行环境所属的计算实例以及自定义标签等信息。
进一步地,所述S3步骤中,所述申请计算资源的方法包括动态调用Kubernetes的Virtual Kubelet申请计算资源。
进一步地,所述S3步骤中,所述测试资源包括测试资源的名称、测试资源的类型、测试资源的配置和测试资源的环境信息。
其中,测试资源的名称是测试资源的唯一标识;
测试资源的类型包括Kubernetes的Pod、Deployment等;
测试资源的配置包括Pod的CPU、内存、磁盘等;
测试资源的环境信息包括Pod的镜像、镜像版本等。
进一步地,所述S1步骤中,所述测试用例的定义信息包括测试装置、测试用例信息、版本控制信息和自定义标签。
其中,测试装置为多个测试用例的集合;
测试用例信息包括测试用例的名称、测试用例的唯一标识、API的地址、参数和响应预期;
版本控制信息包括测试用例本身的版本信息以及测试用例对应可观测性平台的版本信息;
自定义标签为用户传递的自定义标签,用于区分不同的测试用例与应用场景。
进一步地,所述测试相关信息包括所述测试用例的定义信息、所述测试用例的运行环境信息和所述测试用例的执行信息。
进一步地,所述S4步骤中,所述测试结果包括API地址、参数、错误消息、响应时间以及是否符合预期。
进一步地,所述S5步骤中,所述二次加工和分析包括通过调用API验证所述可观测性平台的功能是否正常。
第二方面,本发明公开了一种可观测性平台的功能测试装置,包括:
测试用例管理模块:存储自定义的测试用例;
回归用例计算模块:输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
Pod调度模块:根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
测试结果处理模块:在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
数据输出模块:读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。
第三方面,本发明公开了一种计算机可读存储介质,其上存储有计算机程序所述程序被处理器执行时实现如第一方面所述功能测试方法的步骤。
第四方面,本发明公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述功能测试方法的步骤。
与现有技术相比,本发明的有益效果在于:
本发明提出的可观测性平台的功能测试方法,实现可观测性平台的功能测试,通过调用API验证可观测性平台的功能是否异常,测试人员在无需开发者干预的情况下,即可完成测试用例的编写、测试用例的执行、测试结果的收集和测试结果的分析;测试用例可以在服务端分布式执行,使大规模的版本回归测试无需人工值守,节约了人力;测试过程中产生的可观测性数据和结果将自动化地输出到可观测性平台,解除了与测试平台的依赖锁定。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的可观测性平台的功能测试方法流程图;
图2为本发明实施例提供的可观测性平台的功能测试装置示意图;
图3为本发明实施例提供的资源配置流程示意图;
图4为本发明实施例提供的回归测试交互示意图;
图5为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合附图和具体实施方式对本发明的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本发明一部分实施例,而不是全部的实施例,仅用于说明本发明,而不应视为限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更加清晰的对本发明中的技术方案进行阐述,下面以具体实施例的形式进行说明。
实施例
参照图1所示,本发明公开了一种可观测性平台的功能测试方法,包括如下步骤:
S1、编写并存储自定义的测试用例;
S2、输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
S3、根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
S4、在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
S5、读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。
本发明实际操作按照如下流程,具体表现为:
用户使用JMeter客户端工具编写如下测试用例,参阅图4所示:
1.向可观测性平台的`/write/metrics`接口发送一条指标数据,其中,指标值为:vcpu=1,vmem=10Mb,标签为:somekey=somevalue。
2.从可观测性平台查询指标数据,查询条件为:somekey=somevalue。
3.测试用例版本为生成哈希ais8a9sd,关联的可观测性平台版本为v1.0.0,联合版本号为v1.0.0-ais8a9sd。
用户将测试用例提交到测试装置中,并输入待回归的版本v1.0.0,测试装置根据版本的版本信息和测试用例计算v1.0.0下所有符合条件的回归用例,并形成回归用例集合,根据回归用例集合申请计算资源,调用Kubernetes Virtual Kubelet,为测试用例分配独立的运行环境,并启动执行,参阅图3所示。测试用例执行完成后,测试装置会将测试结果上传到缓存文件中,用户在可观测性平台上可以筛选版本为v1.0.0的测试用例,查看测试结果,最终完成版本回归测试。
测试结果包含以下内容:
1)测试用例的定义信息,包括测试用例的名称、测试用例的版本、关联的可观测性平台版本、联合版本号和自定义标签;
2)测试用例的运行环境信息,包括测试用例的运行环境的名称、类型、CPU、内存、磁盘、网格;
3)测试用例的执行信息,包括测试用例的执行结果、执行时间、执行日志等。
本发明还提供了可观测性平台的功能测试装置,如图2所示,具体包括:
测试用例管理模块:存储自定义的测试用例;
回归用例计算模块:输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
Pod调度模块:根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
测试结果处理模块:在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
数据输出模块:读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。。
该装置主要由上述五个模块构成,通过该***的搭建很好的实现同时挂载同一个文件***可实现并行操作的目的。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
图5为本发明公开的一种计算机设备的结构示意图。参考图5所示,该计算机设备400,至少包括存储器402和处理器401;所述存储器402通过通信总线403和处理器连接,用于存储所述处理器401可执行的计算机指令,所述处理器401用于从所述存储器402读取计算机指令以实现上述实施例所述功能测试方法的步骤。
对于上述装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部磁盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
最后应说明的是:虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明公开的较佳实施例而已,并不用以限制本公开,凡在本发明公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明公开保护的范围之内。
Claims (10)
1.一种可观测性平台的功能测试方法,其特征在于,包括以下步骤:
S1、编写并存储自定义的测试用例;
S2、输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
S3、根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
S4、在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
S5、读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。
2.根据权利要求1所述的功能测试方法,其特征在于,所述S3步骤中,所述申请计算资源的方法包括动态调用Kubernetes的VirtualKubelet申请计算资源。
3.根据权利要求1所述的功能测试方法,其特征在于,所述S3步骤中,所述测试资源包括测试资源的名称、测试资源的类型、测试资源的配置和测试资源的环境信息。
4.根据权利要求1所述的功能测试方法,其特征在于,所述S1步骤中,所述测试用例的定义信息包括测试装置、测试用例信息、版本控制信息和自定义标签。
5.根据权利要求4所述的功能测试方法,其特征在于,所述测试相关信息包括所述测试用例的定义信息、所述测试用例的运行环境信息和所述测试用例的执行信息。
6.根据权利要求1所述的功能测试方法,其特征在于,所述S4步骤中,所述测试结果包括API地址、参数、错误消息、响应时间以及是否符合预期。
7.根据权利要求1所述的功能测试方法,其特征在于,所述S5步骤中,所述二次加工和分析包括通过调用API验证所述可观测性平台的功能是否正常。
8.一种可观测性平台功能测试的装置,使用如权利要求1-7任一项所述的方法,其特征在于,包括:
测试用例管理模块:存储自定义的测试用例;
回归用例计算模块:输入待回归的版本,根据所述版本的版本信息和所述测试用例计算所述版本的回归用例,并形成回归用例集合;
Pod调度模块:根据所述回归用例集合申请计算资源,根据所述计算测试资源实时创建Pod;
测试结果处理模块:在所述Pod中执行所述回归用例,并对所述回归用例进行测试,得到测试结果并缓存;
数据输出模块:读取所述测试结果并汇总测试相关信息,转换成行协议格式并输出到可观测性平台进行二次加工和分析。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序执行时实现权利要求1-7任一项所述的功能测试方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述的功能测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310045082.0A CN116225911A (zh) | 2023-01-30 | 2023-01-30 | 一种可观测性平台的功能测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310045082.0A CN116225911A (zh) | 2023-01-30 | 2023-01-30 | 一种可观测性平台的功能测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225911A true CN116225911A (zh) | 2023-06-06 |
Family
ID=86583678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310045082.0A Pending CN116225911A (zh) | 2023-01-30 | 2023-01-30 | 一种可观测性平台的功能测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743181A (zh) * | 2023-12-25 | 2024-03-22 | 杭州云掣科技有限公司 | 一种构建可观测控制面的*** |
-
2023
- 2023-01-30 CN CN202310045082.0A patent/CN116225911A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117743181A (zh) * | 2023-12-25 | 2024-03-22 | 杭州云掣科技有限公司 | 一种构建可观测控制面的*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083027B2 (en) | Systems and methods for managing software development environments | |
CN108287694B (zh) | 应用程序构建方法、***、计算机设备和存储介质 | |
US9294296B2 (en) | Automated test execution in a shared virtualized resource pool | |
Singh et al. | Comparison of different CI/CD tools integrated with cloud platform | |
US9098364B2 (en) | Migration services for systems | |
US10073683B2 (en) | System and method for providing software build violation detection and self-healing | |
US8037360B2 (en) | Software testing framework for multiple operating system, hardware, and software configurations | |
US8074204B2 (en) | Test automation for business applications | |
US7870169B2 (en) | Method for enabling traceability and recovery from errors during migration of software applications | |
US20170123777A1 (en) | Deploying applications on application platforms | |
US10387295B1 (en) | Application testing using multiple context-aware threads | |
CN111290941A (zh) | 多个接口的测试方法、装置、计算设备和介质 | |
US10552280B2 (en) | In-band monitor in system management mode context for improved cloud platform availability | |
CN113448678A (zh) | 应用信息生成方法、部署方法及装置、***、存储介质 | |
JP5400873B2 (ja) | ソフトウェア問題を識別するための方法、システム、およびコンピュータ・プログラム | |
US11698829B2 (en) | Identifying root causes of software defects | |
US11068487B2 (en) | Event-stream searching using compiled rule patterns | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
US9354962B1 (en) | Memory dump file collection and analysis using analysis server and cloud knowledge base | |
CN116225911A (zh) | 一种可观测性平台的功能测试方法及装置 | |
KR20170122874A (ko) | 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치 | |
Haeri et al. | VNE-Sim: a virtual network embedding simulator | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
US10481993B1 (en) | Dynamic diagnostic data generation | |
CN115237441A (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 |