一种异构环境的软件测试方法、装置及系统制造方法及图纸

技术编号:37764240 阅读:10 留言:0更新日期:2023-06-06 13:22
本发明专利技术提供一种异构环境的软件测试方法、装置及系统,所述软件测试方法包括:S1、根据构建的测试任务的请求创建测试执行器;S2、根据所述测试执行器创建异构环境并在所述异构环境中启动多个所述测试执行器对被测对象执行所述测试任务;S3、所述测试执行器收集所述测试任务产生的测试数据和测试结果并上传到可观测性平台进行统计、分析和展示。本发明专利技术的方法通过构建不同的测试环境,便于测试可观测性工具在异构环境下的兼容能力,动态地收集可观测性工具的测试负载所产生的观测数据和测试结果,并且上传到可观测性平台,进行统计、分析和展示。和展示。和展示。

【技术实现步骤摘要】
一种异构环境的软件测试方法、装置及系统


[0001]本专利技术属于软件测试
,具体而言属于一种异构环境的软件测试方法、装置及系统。

技术介绍

[0002]在传统的软件测试过程中,测试负载通常由2个部分组成,即测试用例和被测软件。测试工程师通过执行测试用例,调用被测软件的功能接口,来完成黑盒或者白盒测试。一般情况下,测试用例和被测软件在同一个环境下被部署和执行。
[0003]在典型的可观测性工具测试场景下,测试负载由3部分组成,分别是可观测性工具、被观测对象和待执行的测试用例。他们分别有各自独立的生命周期以及不同的运行环境。
[0004]但是,传统的软件测试方法难以对异构、分布式环境下,测试负载的生命周期和可观测性结果进行统一调度和管理;传统软件测试技术缺少对可观测性工具动态性的抽象。
[0005]现有技术中,软件测试技术缺少对异构环境的统一调度和管理,可观测性工具可能运行在不同的环境中,例如不同的操作系统或硬件体系结构等;可观测性工具与被观测的对象可能运行在不同的环境中,例如可观测性工具在集群内,而被观测对象在外部的集群中,但它们都作为测试负载的一部分被统一调度和管理;
[0006]传统的软件测试技术缺少对可观测性工具动态性的抽象,可观测性工具与被观测对象可能有不同的生命周期,例如被观测对象可能在测试开始前就已经存在,也可能在可观测性工具启动后才被部署,传统的测试方法难以将被测对象的生命周期纳入调度和管理范围中;在一次可观测性工具测试的过程中,测试负载往往会分布在多个集群、服务、节点上,测试过程中会产生两类结果,一类是观测结果,一类是测试结果,如何将这两类结果动态地合并和规约,是传统测试工具未能关注的领域。
[0007]有鉴于此,特提出本专利技术。

技术实现思路

[0008]有鉴于此,本专利技术公开了一种异构环境的软件测试方法、装置及系统,通过构建不同的测试环境,便于测试可观测性工具在异构环境下的兼容能力,动态地收集可观测性工具的测试负载所产生的观测数据和测试结果,并且上传到可观测性平台,进行统计、分析和展示。
[0009]具体的,本专利技术是通过以下技术方案实现的:
[0010]第一方面,本专利技术公开了一种异构环境的软件测试方法,包括如下步骤:
[0011]S1、根据构建的测试任务的请求创建测试执行器;
[0012]S2、根据所述测试执行器创建异构环境并在所述异构环境中启动多个所述测试执行器对被测对象执行所述测试任务;
[0013]S3、所述测试执行器收集所述测试任务产生的测试数据和测试结果并上传到可观
测性平台进行统计、分析和展示。
[0014]进一步地,所述S2步骤中,若所述被测对象不存在,则根据所述测试任务中定义的Docker Compose或Kubernetes Manifest文件,自动创建新被测对象;
[0015]若所述被测对象存在,则记录所述被测对象的排它锁,并标记为共享被测对象。
[0016]进一步地,所述S3步骤中,所述测试结果上传的方法包括:所述测试执行器将所述测试结果转换为JUnit格式并上传至兼容S3协议的对象存储。
[0017]进一步地,所述S1步骤中,所述测试执行器的创建方法包括:根据所述测试任务请求的OS和Arch列表计算测试执行的OS/Arch矩阵,创建所述测试执行器。
[0018]进一步地,所述被测对象在被标记为所述共享被测对象后,其他所述测试任务不能调用,直至所述测试执行器的生命周期结束。
[0019]进一步地,所述被测对象在测试结束后,所述测试执行器删除所述新被测对象或释放所述共享被测对象的所述排它锁实现对所述被测对象的处理。
[0020]第二方面,本专利技术公开了一种异构环境的软件测试装置,包括:
[0021]测试执行器创建模块:根据构建的测试任务的请求创建测试执行器;
[0022]测试执行器执行模块:根据所述测试执行器创建异构环境并在所述异构环境中启动多个所述测试执行器对被测对象执行所述测试任务;
[0023]结果展示模块:所述测试执行器收集所述测试任务产生的测试数据和测试结果并上传到可观测性平台进行统计、分析和展示。
[0024]第三方面,本专利技术公开了一种异构环境的软件测试系统,包括:
[0025]负载调度器:测试负载的启动入口,对所述测试负载和制品进行管理,动态创建或引入若干个所述测试负载;负载调度器本身不作为测试负载,而是测试负载的构建者,每当新的测试任务到来时,动态创建或引入若干个新的测试负载;
[0026]测试执行器:所述测试负载的具体执行环境;通常在虚拟机、容器等环境中启动,一个测试执行器中通常会有多个不同的测试负载,测试负载可以在测试执行器启动时被创建,也可以从外部引入;测试负载可以在测试执行器关闭时被销毁,也可以仅删除对实例的引用;
[0027]测试负载:测试过程中具体运行的实例;其中包括可观测性工具、被观测对象和测试用例;
[0028]可观测性平台:用于收集、分析和展示所述测试负载产生的观测数据和测试结果的平台;可观测性平台是一个外部平台,也可以作为被测对象的一种。
[0029]第四方面,本专利技术公开了一种计算机可读存储介质,其上存储有计算机程序所述程序被处理器执行时实现如第一方面所述软件测试方法的步骤。
[0030]第五方面,本专利技术公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述软件测试方法的步骤。
[0031]与现有技术相比,本专利技术的有益效果在于:
[0032]本专利技术提出的异构环境的软件测试方法、装置及系统,通过动态创建测试执行器,可以在异构环境下执行测试负载,从而实现对异构环境的测试,丰富测试场景;通过动态地调度测试负载,在同一测试批次中混合编排多个不同生命周期的测试负载,从而实现对多
个测试负载的充分并行,提高测试效率;通过对测试负载的动态调度和规约,将观测结果和测试结果与可观测性平台集成,是的测试结果的收集、分析和展示更加方便。
附图说明
[0033]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0034]图1为本专利技术实施例提供的异构环境的软件测试方法流程图;
[0035]图2为本专利技术实施例提供的异构环境的软件测试装置示意图;
[0036]图3为本专利技术实施例提供的三种测试负载之间的关系示意图;
[0037]图4为本专利技术实施例提供的异构环境的软件测试系统示意图;
[0038]图5为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0039]下面将结合附图和具体实施方式对本专利技术的技术方案进行清楚、完整地描本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异构环境的软件测试方法,其特征在于,包括以下步骤:S1、根据构建的测试任务的请求创建测试执行器;S2、根据所述测试执行器创建异构环境并在所述异构环境中启动多个所述测试执行器对被测对象执行所述测试任务;S3、所述测试执行器收集所述测试任务产生的测试数据和测试结果并上传到可观测性平台进行统计、分析和展示。2.根据权利要求1所述的软件测试方法,其特征在于,所述S2步骤中,若所述被测对象不存在,则根据所述测试任务中定义的Docker Compose或Kubernetes Manifest文件,自动创建新被测对象;若所述被测对象存在,则记录所述被测对象的排它锁,并标记为共享被测对象。3.根据权利要求1所述的软件测试方法,其特征在于,所述S3步骤中,所述测试结果上传的方法包括:所述测试执行器将所述测试结果转换为JUnit格式并上传至兼容S3协议的对象存储。4.根据权利要求1所述的软件测试方法,其特征在于,所述S1步骤中,所述测试执行器的创建方法包括:根据所述测试任务请求的OS和Arch列表计算测试执行的OS/Arch矩阵,创建所述测试执行器。5.根据权利要求2所述的软件测试方法,其特征在于,所述被测对象在被标记为所述共享被测对象后,其他所述测试任务不能调用,直至所述测试执行器的生命周期结束。6.根据权利要求2所述的软件测试方法,其特征在于,所述被测对象在测试结束后,所述测试执行器删除所述新被测对象...

【专利技术属性】
技术研发人员:李宇飞谭彪蒋烁淼
申请(专利权)人:上海观测未来信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1