CN114490419B - 异质架构的跨云测试方法、***和计算机设备 - Google Patents
异质架构的跨云测试方法、***和计算机设备 Download PDFInfo
- Publication number
- CN114490419B CN114490419B CN202210143296.7A CN202210143296A CN114490419B CN 114490419 B CN114490419 B CN 114490419B CN 202210143296 A CN202210143296 A CN 202210143296A CN 114490419 B CN114490419 B CN 114490419B
- Authority
- CN
- China
- Prior art keywords
- test
- task
- cloud
- control center
- environment
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 318
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000001787 Wald–Wolfowitz test Methods 0.000 claims abstract description 5
- 238000010998 test method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000003491 array Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 7
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims 2
- 238000013522 software testing Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 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
-
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种异质架构的跨云测试方法、***和计算机设备。所述方法包括:接收云集群发送的测试任务,并对测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将测试任务分发至对应的测试云;工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,以提供对外访问接口;工作终端通过所述外部访问接口接收测试任务,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对结果进行异步回收;控制中心根据结果展现形式进行结果展示。采用本方法能够满足对互联网上海量软件测试任务的运行调度需求。
Description
技术领域
本申请涉及软件测试技术领域,特别是涉及一种异质架构的跨云测试方法、***和计算机设备。
背景技术
软件测试作为软件应用正常稳定运行的保障,随着应用上云的趋势逐渐火热,云上测试的需求也日渐强烈。传统的测试是直接给测试人员提供一套物理设备及配套的设备环境,存在这一些固有的弊端:无法复用,无法规模化,测试结束后无法及时释放带来额外资源成本等。与传统的测试相比,云上测试可以随时随地创建和部署,可复用,并可及时释放,提供了更多的灵活性和方便性。但同时,由于不同的测试任务具有迥异的测试架构,在运行环境,运行资源需求,运行方式等各方面均存在较大的差异,云上测试也面临着很大的挑战。
对于上述挑战,现有的云测试支撑方法、技术和服务尚不成熟,特别是存在分配给测试用户的环境资源不能与测试需求精准匹配,导致测试任务无法高效完成的问题。同时,时下各云服务提供商提供的服务已经较为完备,对不同的技术架构的支持良好,但各服务商的资源、服务、价格各有特色,分别适应不同的软件应用场景,市面上的测试平台产品暂未做到很好的结合这些云服务提供商各自的优势。因此,云测试场景下,如何建立测试任务与不同云服务的有效连接,充分利用各云服务资源特色,对测试任务的精准匹配及成本控制具有重大的实际价值。
发明内容
基于此,有必要针对上述技术问题,提供一种异质架构的跨云测试方法、***和计算机设备。
一种异质架构的跨云测试方法,所述方法包括:
控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组;
接收云集群发送的测试任务,并对所述测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云;其中,所述测试任务是通过控制中心预先定义的五元组,所述五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式;
工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入;
工作终端通过所述外部访问接口接收所述测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对所述测试环境进行异步回收;
控制中心根据结果展现形式进行结果展示。
在其中一个实施例中,所述测试代码为待测试的程序代码及同语言类型的测试程序代码,存储于版本库中;所述测试集为多组输入数组及预期输出数组;其中,所述测试集的构建无需对应的交互式输入采集环境;所述测试方法为通用的输出比对;所述运行环境包括:镜像定义、运行主机架构需求以及运行时的资源限定;其中,镜像定义为安装有运行环境的容器镜像,运行主机架构需求为运行任务所依赖的宿主机架构,运行时的资源限定为CPU上限、内存上限以及运行时长上限。
在其中一个实施例中,还包括:控制中心开启监听线程,监听工作终端向控制中心发起的注册请求,以请求加入测试云集群组;控制中心接收到所述注册请求,进行鉴权校验,不通过予以丢弃,通过则将云集群加入测试云集群组。
在其中一个实施例中,还包括:根据负载的筛选打分策略,将测试任务提交到控制中心运行;测试云的负载由工作终端调用容器及集群的通用监控采集组件采集返回,控制中心查询工作终端实时返回的集群负载情况;根据负载情况对测试云集群各节点进行排序,根据排序结果确定测试云中节点为分发目标。
在其中一个实施例中,还包括:工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入。
在其中一个实施例中,还包括:工作终端在Jupyter Notebook环境中运行待测程序,获取待测程序输出,然后运行测试程序代码,根据所述测试方法对应的模型评估算法,测试获得测试结果,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心,同时将启动任务容器标记为待回收状态,异步进行回收。
在其中一个实施例中,还包括:工作终端在测试容器环境中运行待测程序,获取待测程序输出,然后运行测试程序代码,根据所述测试方法对应的模型评估算法,测试获得测试结果,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心,同时将启动任务容器标记为待回收状态,异步进行回收。
一种异质架构的跨云测试***,所述***包括:
控制中心、测试云集群组以及云集群部署的工作终端;
控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组;接收云集群发送的测试任务,并对所述测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云;其中,所述测试任务是通过控制中心预先定义的五元组,所述五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式;
工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入;通过所述外部访问接口接收所述测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对所述测试环境进行异步回收;
控制中心根据结果展现形式进行结果展示。
上述异质架构的跨云测试方法、***、计算机设备和存储介质,通过对测试任务进行抽象拆解予以特征定义,拆分出的五元组为可标识可调度指标,能广泛兼容不同技术架构及云资源架构,并且提供分发策略的自定义集成拓展,有效的将不同的测试云环境与用户测试需求相连接,避免了测试平台测试资源分配与测试需求不匹配的问题,能够满足对互联网上海量软件测试任务的运行调度需求。
附图说明
图1为一个实施例中异质架构的跨云测试方法的流程示意图;
图2为另一个实施例中异质架构的跨云测试方法的流程示意图;
图3为一个实施例中异质架构的跨云测试***的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种异质架构的跨云测试方法,包括以下步骤:
步骤102,控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组。
本实施例中,测试云集群组中包括大量的测试云集群,云集群上部署的工作终端发送注册请求,鉴权成功后,云集群即可以加入测试云集群组,进行云测试。
步骤104,接收云集群发送的测试任务,并对测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将测试任务分发至对应的测试云。
测试任务是通过控制中心预先定义的五元组,五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式,通过对测试任务进行抽象拆解予以特征定义,拆分出的五元组为可标识可调度指标,能广泛兼容不同技术架构及云资源架构,并且提供分发策略的自定义集成拓展。
步骤106,工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入。
步骤108,工作终端通过外部访问接口接收所述测试任务用户输入,并且在测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对测试环境进行异步回收。
步骤110,控制中心根据结果展现形式进行结果展示。
上述异质架构的跨云测试方法中,通过对测试任务进行抽象拆解予以特征定义,拆分出的五元组为可标识可调度指标,能广泛兼容不同技术架构及云资源架构,并且提供分发策略的自定义集成拓展,有效的将不同的测试云环境与用户测试需求相连接,避免了测试平台测试资源分配与测试需求不匹配的问题,能够满足对互联网上海量软件测试任务的运行调度需求。
在其中一个实施例中,测试代码为待测试的程序代码及同语言类型的测试程序代码,存储于版本库中;测试集为多组文本输入数组及预期输出数组;其中,测试集的构建无需对应的交互式输入采集环境;测试方法为通用的输出比对;运行环境包括:镜像定义、运行主机架构需求以及运行时的资源限定;其中,镜像定义为安装有运行环境的容器镜像,运行主机架构需求为运行任务所依赖的宿主机架构,运行时的资源限定为CPU上限、内存上限以及运行时长上限。
为了方便表述,采用标记进行标识,五元组组成包括:
TC:待测试的程序代码Code1及同语言类型的测试程序代码TestCode1,存储于版本库Repo1中;
TS:输入及输出均为纯文本,为多组文本输入数组Input1及预期输出数组ExpectedOutput1,无需对应的交互式输入采集环境;
TM:测试检测的方法为通用的输出比对;
RE:镜像定义为安装有T1的运行环境的容器镜像Image1,运行主机架构需求为Architecture1,运行时的资源限定为CPU上限CpuLimit1,内存上限MemLimit1,运行时长上限TimeLimit1;
RP:结果展现形式为文本比对,展示测试程序实际运行输出与预期输出的差异。
测试人员在所述***中以可视化组件的形式完成对T1的特征定义。
在其中一个实施例中,控制中心开启监听线程,监听工作终端向控制中心发起的注册请求,以请求加入测试云集群组;控制中心接收到所述注册请求,进行鉴权校验,不通过予以丢弃,通过则将云集群加入测试云集群组。
在其中一个实施例中,根据负载的筛选打分策略,将测试任务提交到控制中心运行;测试云的负载由工作终端调用容器及集群的通用监控采集组件采集返回,控制中心查询工作终端实时返回的集群负载情况;根据负载情况对测试云集群各节点进行排序,根据排序结果确定测试云中节点为分发目标。
具体的,控制中心查询工作终端实时返回的集群负载情况,对测试云集群各节点进行排序,选择空闲度为FreeRate1的云集群Cluster1中的节点Node1作为分发目标。
在其中一个实施例中,工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入。
具体的,测试任务分发到Node1后,由Cluster1中部署的工作终端从私有镜像仓库拉取测试镜像Image1,启动任务容器Container1作为测试任务运行载体,而后通过私有版本库管理服务接口拉取用户代码仓库Repo1,及预先定义的多组文本测试输入Input1,以及构建Jupyter Notebook测试环境。
在其中一个实施例中,工作终端在测试容器环境中运行待测程序,获取待测程序输出,然后运行测试程序代码,根据测试方法对应的模型评估算法,测试获得测试结果,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心,同时将启动任务容器标记为待回收状态,异步进行回收。
具体的。Cluster1工作终端检测到本地环境为架构Architecture1,***OperatingSystem1,运行用户测试程序代码TestCode1,调用T1在对应***下的语言启动命令,运行用户测试程序代码TestCode1,运行选择的测试框架Framework1,Framework1运行待测试程序Code1,给定测试输入并获取封装测试结果Result1,回传给控制中心,同时将Container1标记为待回收状态,异步进行回收。
在其中一个实施例中,控制中心收到回传的测试结果后,调用提取实际输出文件中的文本及图片分别做对比,以展示本次测试的结果、测试过程中的资源消耗统计,并对测试程序生成的图片进行渲染展示。
以下以一个具体实施例,对本发明的有益效果进行进一步说明:
步骤202、控制中心开启监听线程,监听云集群注册请求。工作终端部署到具体的测试云端,向控制中心发起注册,请求加入测试云集群。控制中心接收到注册请求,进行鉴权校验,不通过予以丢弃,通过则将集群加入测试云集群组。
步骤204、对于一个典型的人工智能类测试任务T2,由以下五元组组成:
TC:待测试的程序代码Code2及测试程序代码TestCode2,存储于版本库Repo2中;
TS:输入形式为Jupyter Notebook交互式环境,数据集存储于上述版本库中,预期输出为文件形式,包含文本及图片,为Jupyter Notebook中操作预期获得的程序输出;
TM:测试的方法为模型评估算法Assess2,考量模型准确率,错误率等指标;
RE:镜像定义为安装有T2的运行环境的容器镜像Image2,运行主机架构需求为Architecture2,运行时的资源限定为GPU上限GPULimit2,CPU上限CpuLimit2,内存上限MemLimit2,运行时长上限TimeLimit2;
RP:结果展示包含程序代码Code2各步骤产生的文本输出比对,及模型训练产生的图片展示比对。
测试人员在所述***中以可视化组件的形式完成对T2的特征定义。
步骤206、测试人员选择测试任务分发策略为基于自定义标签的分发策略,将测试任务提交到***运行。测试任务选择的节点标签为Tags2,可选地,Tags2可包含“是否为GPU节点”,“是否挂载SSD”等标签,控制中心随机选取满足标签筛选条件的某集群Cluster2及节点Node2进行分发。
步骤208、测试任务分发到Node2后,由Cluster2中部署的工作终端从私有镜像仓库拉取测试镜像Image2,启动任务容器Container2作为测试任务运行载体,而后通过私有版本库管理服务接口拉取测试代码仓库Repo2,将Container2中的Jupyter Notebook环境暴露对外访问端口,采集测试输入。
步骤210、测试人员在Jupyter Notebook环境中运行待测程序Code2,获取待测程序输出ActualOutput2,而后运行测试程序代码TestCode2,根据选择的模型评估算法Assess2,测试获得测试结果Result2,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心,同时将Container2标记为待回收状态,异步进行回收。
步骤212、控制中心收到回传的测试结果Result2后,调用测试结果处理模块提取实际输出文件中的文本及图片分别做对比,提示测试人员本次测试的结果,给出测试过程中的资源消耗统计,并对测试程序Code2生成的图片进行渲染展示。
应该理解的是,虽然图1和2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种异质架构的跨云测试***,包括:控制中心302、测试云集群组304和工作终端306,其中:
控制中心302开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组304;
控制中心302接收云集群发送的测试任务,并对所述测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云;其中,所述测试任务是通过控制中心预先定义的五元组,所述五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式;
工作终端306工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入;
工作终端306工作终端通过所述外部访问接口接收所述测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对所述测试环境进行异步回收;
控制中心302根据结果展现形式进行结果展示。
在其中一个实施例中,所述测试代码为待测试的程序代码及同语言类型的测试程序代码,存储于版本库中;所述测试集为多组文本输入数组及预期输出数组;其中,所述测试集的构建无需对应的交互式输入采集环境;所述测试方法为通用的输出比对;所述运行环境包括:镜像定义、运行主机架构需求以及运行时的资源限定;其中,镜像定义为安装有运行环境的容器镜像,运行主机架构需求为运行任务所依赖的宿主机架构,运行时的资源限定为CPU上限、内存上限以及运行时长上限。
在其中一个实施例中,控制中心302开启监听线程,监听工作终端306向控制中心302发起的注册请求,以请求加入测试云集群组;控制中心302接收到所述注册请求,进行鉴权校验,不通过予以丢弃,通过则将云集群加入测试云集群组。
在其中一个实施例中,控制中心302根据负载的筛选打分策略,将测试任务提交到控制中心运行;测试云的负载由工作终端调用容器及集群的通用监控采集组件采集返回,控制中心查询工作终端实时返回的集群负载情况;根据负载情况对测试云集群各节点进行排序,根据排序结果确定测试云中节点为分发目标。
在其中一个实施例中,工作终端306从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建Jupyter Notebook环境暴露对外访问端口用于采集测试任务。
在其中一个实施例中,工作终端306在Jupyter Notebook环境中运行待测程序,获取待测程序输出,然后运行测试程序代码,根据所述测试方法对应的模型评估算法,测试获得测试结果,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心302,同时将启动任务容器标记为待回收状态,异步进行回收。
在其中一个实施例中,控制中心302收到回传的测试结果后,调用提取实际输出文件中的文本及图片分别做对比,以展示本次测试的结果、测试过程中的资源消耗统计,并对测试程序生成的图片进行渲染展示。
关于异质架构的跨云测试***的具体限定可以参见上文中对于异质架构的跨云测试方法的限定,在此不再赘述。上述异质架构的跨云测试***中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储私有镜像仓库、任务容器等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种异质架构的跨云测试方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种异质架构的跨云测试方法,其特征在于,所述方法包括:
控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组;
接收云集群发送的测试任务,并对所述测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云;其中,所述测试任务是通过控制中心预先定义的五元组,所述五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式;所述测试代码为待测试的程序代码及同语言类型的测试程序代码,存储于版本库中;所述测试集为多组输入数组及预期输出数组;其中,所述测试集的构建无需对应的交互式输入采集环境;所述测试方法为通用的输出比对;所述运行环境包括:镜像定义、运行主机架构需求以及运行时的资源限定;其中,镜像定义为安装有运行环境的容器镜像,运行主机架构需求为运行任务所依赖的宿主机架构,运行时的资源限定为CPU上限、内存上限以及运行时长上限;
工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过外部访问接口采集用户输入;
工作终端通过所述外部访问接口接收测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对所述测试环境进行异步回收;
云集群工作终端检测到本地环境的架构和***,调用测试任务在对应***下的语言启动命令,运行用户测试程序代码,运行选择的测试框架,在选择的测试框架中运行待测试程序,给定测试输入并获取封装测试结果,回传给控制中心;
控制中心根据结果展现形式进行结果展示。
2.根据权利要求1所述的方法,其特征在于,所述控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组,包括:
控制中心开启监听线程,监听工作终端向控制中心发起的注册请求,以请求加入测试云集群组;
控制中心接收到所述注册请求,进行鉴权校验,不通过予以丢弃,通过则将云集群加入测试云集群组。
3.根据权利要求1所述的方法,其特征在于,根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云,包括:
根据负载的筛选打分策略,将测试任务提交到控制中心运行;
测试云的负载由工作终端调用容器及集群的通用监控采集组件采集返回,控制中心查询工作终端实时返回的集群负载情况;
根据负载情况对测试云集群各节点进行排序,根据排序结果确定测试云中节点为分发目标。
4.根据权利要求1所述的方法,其特征在于,工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入,包括:
工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过对外提供访问接口采集用户输入。
5.根据权利要求4所述的方法,其特征在于,工作终端通过所述外部访问接口接收所述测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对测试环境进行异步回收,包括:
工作终端在测试容器环境中运行待测程序 ,获取待测程序输出,然后运行测试程序代码,根据所述测试方法对应的模型评估算法,测试获得测试结果,将整个操作序列中产生的文本及图片存储到文件,回传给控制中心,同时将启动任务容器标记为待回收状态,异步进行回收。
6.根据权利要求1至5所述的方法,其特征在于,控制中心根据结果展现形式进行结果展示,包括:
控制中心收到回传的测试结果后,调用提取实际输出文件中的文本及图片分别做对比,以展示本次测试的结果、测试过程中的资源消耗统计,并对测试程序生成的图片进行渲染展示。
7.一种异质架构的跨云测试***,其特征在于,所述***包括:控制中心、测试云集群组以及云集群部署的工作终端;
控制中心开启监听线程,监听云集群注册请求,以使云集群注册在测试云集群组;接收云集群发送的测试任务,并对所述测试任务的云服务信息进行识别,以根据预先设置的任务分发策略配置,将所述测试任务分发至对应的测试云;其中,所述测试任务是通过控制中心预先定义的五元组,所述五元组中的元素包括:测试代码、测试集、测试方法、运行环境以及结果展现形式;所述测试代码为待测试的程序代码及同语言类型的测试程序代码,存储于版本库中;所述测试集为多组输入数组及预期输出数组;其中,所述测试集的构建无需对应的交互式输入采集环境;所述测试方法为通用的输出比对;所述运行环境包括:镜像定义、运行主机架构需求以及运行时的资源限定;其中,镜像定义为安装有运行环境的容器镜像,运行主机架构需求为运行任务所依赖的宿主机架构,运行时的资源限定为CPU上限、内存上限以及运行时长上限;
工作终端从私有镜像仓库拉取测试镜像,启动任务容器作为测试任务运行载体,并且通过私有文件管理服务接口拉取测试代码仓库,以此构建测试环境,测试环境通过外部访问接口采集用户输入;通过所述外部访问接口接收测试任务用户输入,并且在所述测试环境中进行程序测试,运行测试代码获取测试结果,并回传至控制中心,并对所述测试环境进行异步回收;
云集群工作终端检测到本地环境的架构和***,调用测试任务在对应***下的语言启动命令,运行用户测试程序代码,运行选择的测试框架,在选择的测试框架中运行待测试程序,给定测试输入并获取封装测试结果,回传给控制中心;
控制中心根据结果展现形式进行结果展示。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143296.7A CN114490419B (zh) | 2022-02-16 | 2022-02-16 | 异质架构的跨云测试方法、***和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210143296.7A CN114490419B (zh) | 2022-02-16 | 2022-02-16 | 异质架构的跨云测试方法、***和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490419A CN114490419A (zh) | 2022-05-13 |
CN114490419B true CN114490419B (zh) | 2024-02-13 |
Family
ID=81482182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210143296.7A Active CN114490419B (zh) | 2022-02-16 | 2022-02-16 | 异质架构的跨云测试方法、***和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490419B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114841298B (zh) * | 2022-07-06 | 2022-09-27 | 山东极视角科技有限公司 | 一种训练算法模型的方法、装置、电子设备和存储介质 |
CN115297111B (zh) * | 2022-07-15 | 2023-10-24 | 东风汽车集团股份有限公司 | 一种车联网漏洞管理及提交的***、方法和介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度*** |
CN109271233A (zh) * | 2018-07-25 | 2019-01-25 | 上海数耕智能科技有限公司 | 基于Kubernetes组建Hadoop集群的实现方法 |
CN109542791A (zh) * | 2018-11-27 | 2019-03-29 | 长沙智擎信息技术有限公司 | 一种基于容器技术的程序大规模并发评测方法 |
CN111651357A (zh) * | 2020-06-03 | 2020-09-11 | 厦门力含信息技术服务有限公司 | 一种基于云计算的软件自动化测试方法 |
CN112000567A (zh) * | 2019-12-04 | 2020-11-27 | 国网河北省电力有限公司 | 一种基于云平台的调控软件测试服务方法 |
CN112711522A (zh) * | 2019-10-24 | 2021-04-27 | 中国科学院深圳先进技术研究院 | 一种基于docker的云测试方法、***及电子设备 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
CN113568791A (zh) * | 2021-07-14 | 2021-10-29 | 麒麟软件有限公司 | 一种基于多cpu架构的服务器操作***自动化测试工具及方法 |
CN113691583A (zh) * | 2021-07-15 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 一种基于蓝绿部署的多媒体服务***、方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8104049B2 (en) * | 2007-08-02 | 2012-01-24 | International Business Machines Corporation | Accessing a compatible library for an executable |
US11366744B2 (en) * | 2017-04-07 | 2022-06-21 | Microsoft Technology Licensing, Llc | Partitioning and orchestrating infrastructure software deployments for safety and agility across diverse configurations and hardware types |
US10635476B2 (en) * | 2017-05-09 | 2020-04-28 | Microsoft Technology Licensing, Llc | Cloud architecture for automated testing |
US20190188116A1 (en) * | 2017-12-20 | 2019-06-20 | 10546658 Canada Inc. | Automated software testing method and system |
US10628290B2 (en) * | 2018-01-30 | 2020-04-21 | Red Hat, Inc. | Generating an inner cloud environment within an outer cloud environment for testing a microservice application |
US11314627B2 (en) * | 2018-04-20 | 2022-04-26 | Sap Se | Test automation system for distributed heterogenous environments |
-
2022
- 2022-02-16 CN CN202210143296.7A patent/CN114490419B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678133A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种用于应用软件云测试的任务调度*** |
CN109271233A (zh) * | 2018-07-25 | 2019-01-25 | 上海数耕智能科技有限公司 | 基于Kubernetes组建Hadoop集群的实现方法 |
CN109542791A (zh) * | 2018-11-27 | 2019-03-29 | 长沙智擎信息技术有限公司 | 一种基于容器技术的程序大规模并发评测方法 |
CN112711522A (zh) * | 2019-10-24 | 2021-04-27 | 中国科学院深圳先进技术研究院 | 一种基于docker的云测试方法、***及电子设备 |
CN112000567A (zh) * | 2019-12-04 | 2020-11-27 | 国网河北省电力有限公司 | 一种基于云平台的调控软件测试服务方法 |
CN111651357A (zh) * | 2020-06-03 | 2020-09-11 | 厦门力含信息技术服务有限公司 | 一种基于云计算的软件自动化测试方法 |
CN112860572A (zh) * | 2021-03-12 | 2021-05-28 | 网易(杭州)网络有限公司 | 移动终端的云测试方法、装置、***、介质、电子设备 |
CN113568791A (zh) * | 2021-07-14 | 2021-10-29 | 麒麟软件有限公司 | 一种基于多cpu架构的服务器操作***自动化测试工具及方法 |
CN113691583A (zh) * | 2021-07-15 | 2021-11-23 | 上海浦东发展银行股份有限公司 | 一种基于蓝绿部署的多媒体服务***、方法 |
Non-Patent Citations (1)
Title |
---|
尼恩.Java高并发核心编程 NIO Netty Redis ZooKeeper 卷1.北京机械工业出版社,2021,(第1版),3. * |
Also Published As
Publication number | Publication date |
---|---|
CN114490419A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114490419B (zh) | 异质架构的跨云测试方法、***和计算机设备 | |
CN111340237B (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN111209310B (zh) | 基于流计算的业务数据处理方法、装置和计算机设备 | |
CN111400189A (zh) | 代码覆盖率监测方法、装置、电子设备及存储介质 | |
CN111459621B (zh) | 云仿真集成与调度方法、装置、计算机设备和存储介质 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN112416488B (zh) | 一种用户画像实现的方法、装置、计算机设备及计算机可读存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN107679198B (zh) | 信息的查询方法及装置 | |
CN113542073B (zh) | 基于p2p的产品测试方法、***、程序产品及存储介质 | |
CN116225911A (zh) | 一种可观测性平台的功能测试方法及装置 | |
US20230049322A1 (en) | Information processing method, device, system, and computer-readable storage medium | |
CN115080401A (zh) | 一种自动化测试方法和相关装置 | |
CN112181443B (zh) | 服务的自动化部署方法、装置及电子设备 | |
CN112579426B (zh) | 一种对待测试对象的测试方法及装置 | |
CN111782688A (zh) | 基于大数据分析的请求处理方法、装置、设备及存储介质 | |
Eismann et al. | Teastore: A micro-service reference application for cloud researchers | |
CN113535540A (zh) | 一种数据测试方法、装置、***、设备及存储介质 | |
US7937356B2 (en) | Apparatus, and associated method, for assessing viability of communication system arrangement transformation | |
CN106528577B (zh) | 一种设置待清理文件的方法和装置 | |
CN115129610B (zh) | 一种飞机工程算法的测试方法及*** | |
CN111813694B (zh) | 测试方法、测试装置、电子设备及可读存储介质 | |
CN117271352A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN115357496A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |