CN116049019B - 一种基于测试芯片对软件进行测试的方法及系统 - Google Patents
一种基于测试芯片对软件进行测试的方法及系统 Download PDFInfo
- Publication number
- CN116049019B CN116049019B CN202310317658.4A CN202310317658A CN116049019B CN 116049019 B CN116049019 B CN 116049019B CN 202310317658 A CN202310317658 A CN 202310317658A CN 116049019 B CN116049019 B CN 116049019B
- Authority
- CN
- China
- Prior art keywords
- service
- service node
- node
- target
- test
- 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 385
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000013522 software testing Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 21
- 230000003139 buffering effect Effects 0.000 claims description 4
- 230000001737 promoting effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000012085 test solution Substances 0.000 description 1
- 238000012956 testing procedure 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/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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- 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
技术领域
本发明涉及芯片技术领域,并且更具体地,涉及一种基于测试芯片对软件进行测试的方法及系统。
背景技术
目前,针对软件进行测试的方式通常采用集中式测试,并且通常在特定服务器中进行测试。这种集中式测试方式没有充分利用系统内的大量空闲计算资源,导致计算资源的浪费。
此外,由于部分用户不但需要获取软件测试结果,还可能需要获取软件测试的中间状态以及中间数据等。为此,测试服务器与用户的物理距离或网络距离都可能会影响收据获取时的网络延迟。
为此,现有技术需要一种针对于软件的高效率且低延迟的网络测试方案。
发明内容
为了解决现有技术中的问题,本申请利用基于位置因素来选择用于进行软件测试的服务节点的技术方案,以满足用户对于高效测试和低延迟测试的需求。
根据本发明的一个方面,提供一种基于测试芯片对软件进行测试的方法,所述方法包括:
在当前服务区域内的第一服务节点接收到来自用户终端的软件测试请求时,由所述第一服务节点的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息;
第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离;
所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,并且促使第一服务节点将所述软件测试请求发送给所述第二服务节点;
所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;
所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点;以及
第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果;
其中,所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内的多个服务节点中选择第二服务节点,包括:
第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;
第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;
第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数;
第一测试芯片基于状态参数和距离参数,确定每个服务节点的软件测试参数;以及
基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点。
优选地,其中,所述第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,包括:
第一测试芯片从第一服务节点的存储单元中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;
第一测试芯片确定所述目标地理位置所在的区域范围,并且将与目标地理位置所位于的区域范围相对应的服务区域,确定为所述目标地理位置所归属的目标服务区域。
优选地,其中,获取目标服务区域内每个服务节点的节点状态信息,包括:
第一服务节点向边缘服务系统发送节点查询请求,以促使所述边缘服务系统根据节点查询请求中的目标服务区域的区域标识,获取目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置,并将目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置返回给第一服务节点。
优选地,其中,确定目标服务区域内每个服务节点与所述目标地理位置的距离,包括:
基于目标服务区域内每个服务节点的节点地理位置和目标地理位置,确定每个服务节点与所述目标地理位置的距离。
优选地,其中,第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数,包括:
第一测试芯片从目标服务区域内每个服务节点的节点状态信息中获取设备性能数据和历史运行数据;以及
基于设备性能数据和历史运行数据,确定每个服务节点的状态参数。
优选地,其中,基于设备性能数据和历史运行数据,确定每个服务节点的状态参数,包括:
从所述设备性能数据中获取每个服务节点的处理器数量和高速缓存的容量;
从所述历史运行数据中获取每个服务节点在过去的设定时间区间内的多个过载时间段,其中所述过载时间段是服务节点的系统负载率持续大于负载率阈值并且持续时间长度大于第一时间长度阈值的一段时间;
基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数。
优选地,其中,基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数,包括:
基于处理器数量,计算每个服务节点的处理器参数;
基于高速缓存的容量,计算每个服务节点的缓存参数;
基于多个过载时间段,计算每个服务节点的过载参数;以及
基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数。
优选地,其中,基于处理器数量,计算每个服务节点的处理器参数,包括:
基于以下公式计算每个服务节点的处理器参数:
其中,为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的处理器数量,/>为目标服务区域内多个服务节点的处理器数量的平均值;/>,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,其中,基于高速缓存的容量,计算每个服务节点的缓存参数,包括:
基于以下公式计算每个服务节点的缓存参数:
,/>为目标服务区域内多个服务节点的高速缓存的容量中的最大值,/>为目标服务区域内多个服务节点的高速缓存的容量中的最小值,为目标服务区域内多个服务节点的高速缓存的容量的中位数,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,其中,基于多个过载时间段,计算每个服务节点的过载参数,包括:
基于以下公式计算每个服务节点的过载参数:
其中,为目标服务区域内第i个服务节点的过载参数,/>为目标服务区域内第i个服务节点的第j个过载时间段的持续时间长度,TimePeriod为过去的设定时间区间的时间长度,/>为目标服务区域内第i个服务节点的持续时间长度大于第二时间长度阈值的过载时间段的数量,其中第二时间长度阈值大于第一时间长度阈值;
优选地,其中,基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数,包括:
基于以下公式确定每个服务节点的状态参数:
其中,为目标服务区域内第i个服务节点的状态参数,/>为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的缓存参数以及/>为目标服务区域内第i个服务节点的缓存参数,其中/>为缓存调节参数并且/>。
优选地,其中,第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数,包括:
基于以下公式计算每个服务节点的距离参数:
其中,为目标服务区域内第i个服务节点的距离参数,/>为目标服务区域内第i个服务节点与所述目标地理位置的距离,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最大值,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最小值,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,其中,第一测试芯片基于状态参数和距离参数,确定每个服务节点的软件测试参数,包括:
第一测试芯片基于以下公式确定每个服务节点的软件测试参数:
优选地,其中,基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点,包括:
将目标服务区域内的多个服务节点中,软件测试参数最大的服务节点确定为第二服务节点。
优选地,其中,所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,包括:
所述第二服务节点向所述目标服务区域中除第二服务节点之外的每个服务节点发送状态查询请求,以使得除第二服务节点之外的每个服务节点基于状态查询请求生成状态响应消息,并将状态响应消息发送给所述第二服务节点;
所述第二服务节点的第二测试芯片从状态响应消息中获取除第二服务节点之外的每个服务节点的任务信息,所述任务信息包括:当前并行处理的任务的数量以及能够并行处理的任务的最大数量;
基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点。
优选地,其中,基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点,包括:
确定目标服务区域中除第二服务节点之外的每个服务节点的任务数量比率:
其中,为目标服务区域中除第二服务节点之外的第m个服务节点的任务数量比率,/>为目标服务区域中除第二服务节点之外的第m个服务节点的当前并行处理的任务的数量,/>为目标服务区域中除第二服务节点之外的第m个服务节点能够并行处理的任务的最大数量;/>,m和w为自然数,并且w为目标服务区域中除第二服务节点之外的服务节点的数量;
优选地,其中,基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档,包括:
基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度;
基于每个辅助服务节点的定制测试时间长度和软件测试请求中的测试信息,为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。
优选地,其中,基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度,包括:
确定预先设定的基准测试时间长度;
基于每个辅助服务节点的任务数量比率和预先设定的基准测试时间长度,确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度,包括:
优选地,其中,每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点,包括:
每个辅助服务节点对各自的定制测试文档进行解析,以获取定制测试时间长度和软件测试请求中的测试信息;
获取测试信息中的待测试的软件的描述信息、关联软件列表和系统配置信息,所述描述信息包括:待测试的软件的标识符和版本号,关联软件列表包括:每个关联软件的标识符和版本号,所述系统配置信息包括操作系统版本和系统配置参数;
每个辅助服务节点生成虚拟机,基于操作系统版本和系统配置参数设置虚拟机以模拟待测试的软件在用户终端中的运行环境,基于待测试的软件的标识符和版本号,在所述虚拟机中安装待测试的软件,并且基于每个关联软件的标识符和版本号,在所述虚拟机中安装每个关联软件;
每个辅助服务节点的虚拟机在运行每个关联软件情况下,对待测试的软件进行运行测试,直到定制测试时间长度期满为止;以及
每个辅助服务节点基于待测试的软件在定制测试时间长度的运行数据生成测试结果数据,所述测试结果数据包括:辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据。
根据本发明的另一方面,提供一种基于测试芯片对软件进行测试的系统,所述系统包括:
第一服务节点,位于当前服务区域内,在接收到来自用户终端的软件测试请求时,由所述第一服务节点的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息;第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离;所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,将所述软件测试请求发送给所述第二服务节点;
第二服务节点,促使第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点;第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果;
其中,第一服务节点的第一测试芯片进一步用于,基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数; 基于状态参数和距离参数,确定每个服务节点的软件测试参数;以及基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点。
根据本发明的再一方面,提供一种基于测试芯片对软件进行测试的系统,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明任意实施例的方法。
根据本申请的技术方案,将目标地理位置以及测试信息作为对软件进行测试的基础。基于目标地理位置确定标服务区域,并且在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离。随后,基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,并且促使第二服务节点在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。基于定制测试文档进行测试生成所述待测试的软件的测试结果。
本申请的技术方案,通过多个辅助服务节点参与软件测试,提升了软件测试的效率和准确性,并且通过目标地理位置所选择的测试方案能够满足用户获取软件测试的中间状态以及中间数据等的低网络延迟的需求。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的基于测试芯片对软件进行测试的方法的流程图;
图2为根据本发明实施方式的软件测试系统的结构示意图;
图3为根据本发明实施方式的基于测试芯片对软件进行测试的系统的结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为根据本发明实施方式的基于测试芯片对软件进行测试的方法的流程图。
步骤101,在当前服务区域内的第一服务节点接收到来自用户终端的软件测试请求时,由所述第一服务节点的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息。图2为根据本发明实施方式的软件测试系统的结构示意图。如图2所示,多个服务节点位于不同的服务区域内。在本申请中,为了便于为用户设备或用户终端提供服务,将多个服务节点划分为多个服务区域。为了清楚起见,图2中仅示出了当前服务区域和目标服务区域。其中当前服务区域为接收到软件测试请求的服务节点所在或所归属的服务区域。目标服务区域是目标地理位置所在或所归属的服务区域。当前服务区域和目标服务区域仅是为了说明的目的进行区分,实质上,当前服务区域和目标服务区域均是服务区域。例如,基于服务节点的地理位置将位置相近的多个服务节点划分在相同的服务区域内。为此,每个服务区域内包括多个服务节点。第一服务节点和第二服务节点也是为了说明的目的进行区分,实质上,第一服务节点和第二服务节点均是服务节点。
优选地,在当前服务区域内的第一服务节点接收到来自用户终端的软件测试请求之前,还包括,当用户终端希望对软件进行测试时,确定目标地理位置、测试信息以及用户终端的当前地理位置,并将所述当前地理位置、目标地理位置和测试信息添加到软件测试请求中。其中,当前地理位置可以用于确定用户终端所在或所归属的服务区域,即当前服务区域。目标地理位置例如是用户的目的地,例如,办公场所、居住场所或要去的场所等。测试信息可以是与软件进行测试相关的各种类型的信息。
用户终端将所述软件测试请求发送给边缘服务系统,以促使所述边缘服务系统根据所述软件测试请求中的当前地理位置为所述用户终端确定当前服务区域,并且根据所述软件测试请求中的当前地理位置确定所述当前服务区域中与用户终端距离最近的第一服务节点。其中,与用户终端距离最近的第一服务节点可以是与用户终端的物理距离、直线距离、路程距离或路径距离等最近的服务节点。将所述软件测试请求发送给所述当前服务区域内的第一服务节点。此外,在当前服务区域中存在与用户终端距离最近的至少一个服务节点时,边缘服务系统可以从距离最近的至少一个服务节点中随机选择一个服务节点,以用作第一服务节点。
优选地,边缘服务系统根据所述软件测试请求中的当前地理位置为所述用户终端确定当前服务区域,包括:所述边缘服务系统从本地存储设备中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;所述边缘服务系统将与所述软件测试请求中的当前地理位置所位于的区域范围相对应的服务区域,确定为当前服务区域。
优选地,根据所述软件测试请求中的当前地理位置确定所述当前服务区域中与用户终端距离最近的第一服务节点,包括:所述边缘服务系统从本地存储设备获取当前服务区域中每个服务节点的节点地理位置;将节点地理位置与所述软件测试请求中的当前地理位置的距离最近的服务节点,确定为所述当前服务区域中与用户终端距离最近的第一服务节点。在特定情况下,在当前服务区域中存在与用户终端距离最近的至少一个服务节点时,边缘服务系统可以从距离最近的至少一个服务节点中随机选择一个服务节点,以用作第一服务节点。
步骤102,第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离。
优选地,所述第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,包括:第一测试芯片从第一服务节点的存储单元中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;第一测试芯片确定所述目标地理位置所在的区域范围,并且将与目标地理位置所位于的区域范围相对应的服务区域,确定为所述目标地理位置所归属的目标服务区域。
优选地,获取目标服务区域内每个服务节点的节点状态信息,包括:第一服务节点向边缘服务系统发送节点查询请求,以促使所述边缘服务系统根据节点查询请求中的目标服务区域的区域标识,获取目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置,并将目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置返回给第一服务节点。
优选地,确定目标服务区域内每个服务节点与所述目标地理位置的距离,包括:基于目标服务区域内每个服务节点的节点地理位置和目标地理位置,确定每个服务节点与所述目标地理位置的距离。优选地,所述距离可以是物理距离、直线距离、路程距离或路径距离等。
步骤103,所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,并且促使第一服务节点将所述软件测试请求发送给所述第二服务节点。
优选地,第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内的多个服务节点中选择第二服务节点,包括:第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数; 第一测试芯片基于状态参数和距离参数,确定每个服务节点的软件测试参数。距离参数用于体现所选择的第二服务节点与目标地理位置的距离因素,并且软件测试参数用于体现服务节点的提供软件测试的能力。这种能力包括对用户终端的状态查询请求的实时响应、提供图形化测试状态等。基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点。
优选地,第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数,包括:第一测试芯片从目标服务区域内每个服务节点的节点状态信息中获取设备性能数据和历史运行数据;以及基于设备性能数据和历史运行数据,确定每个服务节点的状态参数。
优选地,基于设备性能数据和历史运行数据,确定每个服务节点的状态参数,包括:从所述设备性能数据中获取每个服务节点的处理器数量和高速缓存的容量;从所述历史运行数据中获取每个服务节点在过去的设定时间区间内的多个过载时间段,其中所述过载时间段是服务节点的系统负载率持续大于负载率阈值并且持续时间长度大于第一时间长度阈值的一段时间;基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数。
优选地,基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数,包括:基于处理器数量,计算每个服务节点的处理器参数;基于高速缓存的容量,计算每个服务节点的缓存参数;基于多个过载时间段,计算每个服务节点的过载参数;以及基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数。
优选地,基于处理器数量,计算每个服务节点的处理器参数,包括:
基于以下公式计算每个服务节点的处理器参数:
其中,为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的处理器数量,/>为目标服务区域内多个服务节点的处理器数量的平均值;/>,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,基于高速缓存的容量,计算每个服务节点的缓存参数,包括:
基于以下公式计算每个服务节点的缓存参数:
,/>为目标服务区域内多个服务节点的高速缓存的容量中的最大值,/>为目标服务区域内多个服务节点的高速缓存的容量中的最小值,/>为目标服务区域内多个服务节点的高速缓存的容量的中位数,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,其中,基于多个过载时间段,计算每个服务节点的过载参数,包括:
基于以下公式计算每个服务节点的过载参数:
其中,为目标服务区域内第i个服务节点的过载参数,/>为目标服务区域内第i个服务节点的第j个过载时间段的持续时间长度,TimePeriod为过去的设定时间区间的时间长度,/>为目标服务区域内第i个服务节点的持续时间长度大于第二时间长度阈值的过载时间段的数量,其中第二时间长度阈值大于第一时间长度阈值;
优选地,基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数,包括:
基于以下公式确定每个服务节点的状态参数:
其中,为目标服务区域内第i个服务节点的状态参数,/>为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的缓存参数以及/>为目标服务区域内第i个服务节点的缓存参数,其中/>为缓存调节参数并且/>。
优选地,第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数,包括:
基于以下公式计算每个服务节点的距离参数:
其中,为目标服务区域内第i个服务节点的距离参数,/>为目标服务区域内第i个服务节点与所述目标地理位置的距离,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最大值,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最小值,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,第一测试芯片基于状态参数和距离参数,确定每个服务节点的软件测试参数,包括:
第一测试芯片基于以下公式确定每个服务节点的软件测试参数:
优选地,基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点,包括:将目标服务区域内的多个服务节点中,软件测试参数最大的服务节点确定为第二服务节点。在特定情况下,当存在软件测试参数最大的至少一个服务节点时,将软件测试参数最大的至少一个服务节点中与目标地理位置距离最近的服务节点确定为第二服务节点。当存在软件测试参数最大并且与目标地理位置距离最近的至少一个服务节点时,从软件测试参数最大并且与目标地理位置距离最近的至少一个服务节点随机选择一个服务节点,以作为第二服务节点。
步骤104,所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。
优选地,所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,包括:所述第二服务节点向所述目标服务区域中除第二服务节点之外的每个服务节点发送状态查询请求,以使得除第二服务节点之外的每个服务节点基于状态查询请求生成状态响应消息,并将状态响应消息发送给所述第二服务节点;所述第二服务节点的第二测试芯片从状态响应消息中获取除第二服务节点之外的每个服务节点的任务信息,所述任务信息包括:当前并行处理的任务的数量以及能够并行处理的任务的最大数量;基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点。第二服务节点作为对软件进行测试的服务节点,能够为用户提供软件测试的实时查询功能,并且能够对测试结果进行处理,从而为用户提供结果查询等服务。
优选地,基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点,包括:
确定目标服务区域中除第二服务节点之外的每个服务节点的任务数量比率:
其中,为目标服务区域中除第二服务节点之外的第m个服务节点的任务数量比率,/>为目标服务区域中除第二服务节点之外的第m个服务节点的当前并行处理的任务的数量,/>为目标服务区域中除第二服务节点之外的第m个服务节点能够并行处理的任务的最大数量;/>,m和w为自然数,并且w为目标服务区域中除第二服务节点之外的服务节点的数量;
优选地,多个辅助服务节点中的每个能够创建于用户终端相同的运行环境、安装相同的多个关联软件并对待测试的软件进行测试。通过这种方式,可以在多个辅助服务节点中并行地对待测试的软件进行测试,提升了测试效率,并且可以发现更多的运行问题。此外,通过在辅助服务节点中进行完全仿真的测试,能够获得正确的测试结果。
优选地,基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档,包括:基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度;基于每个辅助服务节点的定制测试时间长度和软件测试请求中的测试信息,为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。根据不同的辅助服务节点的实际情况,确定不同的定制测试文档,从而在不影响辅助服务节点自身运行的情况下完成测试。
优选地,基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度,包括:
确定预先设定的基准测试时间长度。其中,基准的测试时间长度可以是预先设置的任意合理的数值。
基于每个辅助服务节点的任务数量比率和预先设定的基准测试时间长度,确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度,包括:
其中,为目标服务区域中第q个辅助服务节点的任务数量比率,T为预先设定的基准测试时间长度,/>为目标服务区域中第q个辅助服务节点的定制测试时间长度;其中,,/>和/>为自然数,/>为目标服务区域中辅助服务节点的数量。
优选地,每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点,包括:每个辅助服务节点对各自的定制测试文档进行解析,以获取定制测试时间长度和软件测试请求中的测试信息;获取测试信息中的待测试的软件的描述信息、关联软件列表和系统配置信息,所述描述信息包括:待测试的软件的标识符和版本号,关联软件列表包括:每个关联软件的标识符和版本号,所述系统配置信息包括操作系统版本和系统配置参数;每个辅助服务节点生成虚拟机,基于操作系统版本和系统配置参数设置虚拟机以模拟待测试的软件在用户终端中的运行环境,基于待测试的软件的标识符和版本号,在所述虚拟机中安装待测试的软件,并且基于每个关联软件的标识符和版本号,在所述虚拟机中安装每个关联软件;每个辅助服务节点的虚拟机在运行每个关联软件情况下,对待测试的软件进行运行测试,直到定制测试时间长度期满为止;以及每个辅助服务节点基于待测试的软件在定制测试时间长度的运行数据生成测试结果数据,所述测试结果数据包括:辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据。通过在辅助服务节点中模拟真实的运行环境,能够最为准确地获得测试结果。
步骤105,所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点。优选地,每个辅助服务节点基于各自的定制测试文档,模拟待测试的软件在用户终端内的运行环境,对待测试的软件进行测试,以生成测试结果。此外,每个辅助服务节点可以将测试结果进行存储,从而便于后续对于测试结果的查询或数据加工。
步骤106,第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果,具体包括:第二服务节点的第二测试芯片在从每个辅助服务节点接收的测试结果数据中获取辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据;基于辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数,生成用于显示所述待测试的软件的测试结果的图形化呈现内容;以及在所述图形化呈现内容中添加用于访问每个辅助服务节点的虚拟机运行数据的链接。
优选地,在生成所述待测试的软件的测试结果之后,还包括,所述第二服务节点从所述来自用户终端的软件测试请求中提取所述用户终端的网络地址;基于所述用户终端的网络地址,将用于指示所述待测试的软件的测试结果已经生成的软件测试响应发送给所述用户终端。
优选地,在促使第一服务节点将所述软件测试请求发送给所述第二服务节点之后还包括,将第一服务节点的标识信息(标识符)发送给所述第二服务节点;将包括所述第二服务节点的网络地址和第一服务节点的标识信息的应答消息发送给所述用户终端,使得所述用户终端能够基于第二服务节点的网络地址和第一服务节点的标识信息访问第二服务节点。
优选地,使得所述用户终端能够基于第二服务节点的网络地址和第一服务节点的标识信息访问第二服务节点,包括:当用户终端希望查询软件测试的测试进度时,基于第一服务节点的标识信息和待测试的软件的描述信息生成认证信息;基于第二服务节点的网络地址,将包括认证信息的进度查询请求发送给第二服务节点;第二服务节点对进度查询请求中的认证信息进行身份验证,当认证信息通过身份验证时,将进度查询请求所涉及的软件测试的测试进度发送给所述用户终端。
优选地,还包括,响应于接收到用于指示所述待测试的软件的测试结果已经生成的软件测试响应,所述用户终端基于第一服务节点的标识信息和待测试的软件的描述信息生成认证信息;基于第二服务节点的网络地址,将包括认证信息的访问请求发送给第二服务节点;第二服务节点对访问请求中的认证信息进行身份验证,当认证信息通过身份验证时,允许所述用户终端访问所述第二服务节点以获取所述待测试的软件的测试结果。
由此可知,本申请通过选择第二服务节点,并且将第二服务节点作为对待测试的软件进行测试的核心服务节点,能够通过在用户终端的目标地理位置处以近距离且低延迟的网络服务提供测试过程。通过第二服务节点来调度多个辅助服务节点进行测试,能够通过并行测试来获得更好的测试效果。
图3为根据本发明实施方式的基于测试芯片对软件进行测试的系统的结构示意图。系统包括:第一服务节点301和第二服务节点302。
第一服务节点301,位于当前服务区域内,在接收到来自用户终端的软件测试请求时,由所述第一服务节点301的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息;第一服务节点301的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离;所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点302,将所述软件测试请求发送给所述第二服务节点302。
第一服务节点301的第一测试芯片进一步用于,基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数; 基于状态参数和距离参数,确定每个服务节点的软件测试参数;以及基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点302。
优选地,当用户终端希望对软件进行测试时,确定目标地理位置、测试信息以及用户终端的当前地理位置,并将所述当前地理位置、目标地理位置和测试信息添加到软件测试请求中;用户终端将所述软件测试请求发送给边缘服务系统,以促使所述边缘服务系统根据所述软件测试请求中的当前地理位置为所述用户终端确定当前服务区域,并且根据所述软件测试请求中的当前地理位置确定所述当前服务区域中与用户终端距离最近的第一服务节点301;以及将所述软件测试请求发送给所述当前服务区域内的第一服务节点301。所述边缘服务系统从本地存储设备中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;所述边缘服务系统将与所述软件测试请求中的当前地理位置所位于的区域范围相对应的服务区域,确定为当前服务区域。优选地,所述边缘服务系统从本地存储设备获取当前服务区域中每个服务节点的节点地理位置;将节点地理位置与所述软件测试请求中的当前地理位置的距离最近的服务节点,确定为所述当前服务区域中与用户终端距离最近的第一服务节点。
优选地,第一服务节点301的第一测试芯片从第一服务节点301的存储单元中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;第一测试芯片确定所述目标地理位置所在的区域范围,并且将与目标地理位置所位于的区域范围相对应的服务区域,确定为所述目标地理位置所归属的目标服务区域。
优选地,第一服务节点301向边缘服务系统发送节点查询请求,以促使所述边缘服务系统根据节点查询请求中的目标服务区域的区域标识,获取目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置,并将目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置返回给第一服务节点301。第一服务节点301基于目标服务区域内每个服务节点的节点地理位置和目标地理位置,确定每个服务节点与所述目标地理位置的距离。
优选地,第一服务节点301的第一测试芯片从目标服务区域内每个服务节点的节点状态信息中获取设备性能数据和历史运行数据;以及基于设备性能数据和历史运行数据,确定每个服务节点的状态参数。
优选地,第一服务节点301的第一测试芯片从所述设备性能数据中获取每个服务节点的处理器数量和高速缓存的容量;从所述历史运行数据中获取每个服务节点在过去的设定时间区间内的多个过载时间段,其中所述过载时间段是服务节点的系统负载率持续大于负载率阈值并且持续时间长度大于第一时间长度阈值的一段时间;基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数。
优选地,第一服务节点301的第一测试芯片基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数,包括:基于处理器数量,计算每个服务节点的处理器参数;基于高速缓存的容量,计算每个服务节点的缓存参数;基于多个过载时间段,计算每个服务节点的过载参数;以及基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数。
优选地,第一服务节点301的第一测试芯片基于以下公式计算每个服务节点的处理器参数:
其中,为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的处理器数量,/>为目标服务区域内多个服务节点的处理器数量的平均值;/>,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,第一服务节点301的第一测试芯片基于以下公式计算每个服务节点的缓存参数:
,/>为目标服务区域内多个服务节点的高速缓存的容量中的最大值,/>为目标服务区域内多个服务节点的高速缓存的容量中的最小值,/>为目标服务区域内多个服务节点的高速缓存的容量的中位数,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,第一服务节点301的第一测试芯片基于以下公式计算每个服务节点的过载参数:
其中,为目标服务区域内第i个服务节点的过载参数,/>为目标服务区域内第i个服务节点的第j个过载时间段的持续时间长度,TimePeriod为过去的设定时间区间的时间长度,/>为目标服务区域内第i个服务节点的持续时间长度大于第二时间长度阈值的过载时间段的数量,其中第二时间长度阈值大于第一时间长度阈值;
优选地,第一服务节点301的第一测试芯片基于以下公式确定每个服务节点的状态参数:
其中,为目标服务区域内第i个服务节点的状态参数,/>为目标服务区域内第i个服务节点的处理器参数,/>为目标服务区域内第i个服务节点的缓存参数以及/>为目标服务区域内第i个服务节点的缓存参数,其中/>为缓存调节参数并且/>。
优选地,第一服务节点301的第一测试芯片基于以下公式计算每个服务节点的距离参数:
其中,为目标服务区域内第i个服务节点的距离参数,/>为目标服务区域内第i个服务节点与所述目标地理位置的距离,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最大值,/>为目标服务区域内多个服务节点与所述目标地理位置的距离的最小值,/>,i和n为自然数,n为目标服务区域内服务节点的数量。
优选地,第一服务节点301的第一测试芯片基于以下公式确定每个服务节点的软件测试参数:
优选地,第一服务节点301的第一测试芯片将目标服务区域内的多个服务节点中,软件测试参数最大的服务节点确定为第二服务节点。
第二服务节点302,促使第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点;第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果。
优选地,第二服务节点302向所述目标服务区域中除第二服务节点302之外的每个服务节点发送状态查询请求,以使得除第二服务节302点之外的每个服务节点基于状态查询请求生成状态响应消息,并将状态响应消息发送给所述第二服务节点302;所述第二服务节点302的第二测试芯片从状态响应消息中获取除第二服务节点302之外的每个服务节点的任务信息,所述任务信息包括:当前并行处理的任务的数量以及能够并行处理的任务的最大数量;基于任务信息从所述目标服务区域中除第二服务节点302之外的服务节点选择多个辅助服务节点。
优选地,第二服务节点302的的第二测试芯片确定目标服务区域中除第二服务节点之外的每个服务节点的任务数量比率:
其中,为目标服务区域中除第二服务节点之外的第m个服务节点的任务数量比率,/>为目标服务区域中除第二服务节点之外的第m个服务节点的当前并行处理的任务的数量,/>为目标服务区域中除第二服务节点之外的第m个服务节点能够并行处理的任务的最大数量;/>,m和w为自然数,并且w为目标服务区域中除第二服务节点之外的服务节点的数量;
优选地,第二服务节点302的的第二测试芯片基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度;基于每个辅助服务节点的定制测试时间长度和软件测试请求中的测试信息,为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。
优选地,第二服务节点302的的第二测试芯片确定预先设定的基准测试时间长度;基于每个辅助服务节点的任务数量比率和预先设定的基准测试时间长度,确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度,包括:
优选地,每个辅助服务节点对各自的定制测试文档进行解析,以获取定制测试时间长度和软件测试请求中的测试信息;获取测试信息中的待测试的软件的描述信息、关联软件列表和系统配置信息,所述描述信息包括:待测试的软件的标识符和版本号,关联软件列表包括:每个关联软件的标识符和版本号,所述系统配置信息包括操作系统版本和系统配置参数;每个辅助服务节点生成虚拟机,基于操作系统版本和系统配置参数设置虚拟机以模拟待测试的软件在用户终端中的运行环境,基于待测试的软件的标识符和版本号,在所述虚拟机中安装待测试的软件,并且基于每个关联软件的标识符和版本号,在所述虚拟机中安装每个关联软件;每个辅助服务节点的虚拟机在运行每个关联软件情况下,对待测试的软件进行运行测试,直到定制测试时间长度期满为止;以及每个辅助服务节点基于待测试的软件在定制测试时间长度的运行数据生成测试结果数据,所述测试结果数据包括:辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据。
优选地,第二服务节点302的第二测试芯片在从每个辅助服务节点接收的测试结果数据中获取辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据;基于辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数,生成用于显示所述待测试的软件的测试结果的图形化呈现内容;以及在所述图形化呈现内容中添加用于访问每个辅助服务节点的虚拟机运行数据的链接。
优选地,第二服务节点302从所述来自用户终端的软件测试请求中提取所述用户终端的网络地址;基于所述用户终端的网络地址,将用于指示所述待测试的软件的测试结果已经生成的软件测试响应发送给所述用户终端。
优选地,将第一服务节点301的标识信息发送给所述第二服务节点302;将包括所述第二服务节点302的网络地址和第一服务节点301的标识信息的应答消息发送给所述用户终端,使得所述用户终端能够基于第二服务节点的网络地址和第一服务节点301的标识信息访问第二服务节点302。
优选地,当用户终端希望查询软件测试的测试进度时,基于第一服务节点301的标识信息和待测试的软件的描述信息生成认证信息;基于第二服务节点302的网络地址,将包括认证信息的进度查询请求发送给第二服务节点302;第二服务节点302对进度查询请求中的认证信息进行身份验证,当认证信息通过身份验证时,将进度查询请求所涉及的软件测试的测试进度发送给所述用户终端。
优选地,还包括,响应于接收到用于指示所述待测试的软件的测试结果已经生成的软件测试响应,所述用户终端基于第一服务节点301的标识信息和待测试的软件的描述信息生成认证信息;基于第二服务节点302的网络地址,将包括认证信息的访问请求发送给第二服务节点302;第二服务节点302对访问请求中的认证信息进行身份验证,当认证信息通过身份验证时,允许所述用户终端访问所述第二服务节点以获取所述待测试的软件的测试结果。
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
Claims (18)
1.一种基于测试芯片对软件进行测试的方法,其特征在于,所述方法包括:
在当前服务区域内的第一服务节点接收到来自用户终端的软件测试请求时,由所述第一服务节点的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息;
第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离;
所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,并且促使第一服务节点将所述软件测试请求发送给所述第二服务节点;
所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;
所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点;以及
第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果;
其中,所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内的多个服务节点中选择第二服务节点,包括:
第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;
第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;
第一测试芯片基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数;
第一测试芯片基于状态参数和距离参数,确定每个服务节点的软件测试参数;以及
基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点;
所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数,包括:
第一测试芯片从目标服务区域内每个服务节点的节点状态信息中获取设备性能数据和历史运行数据;以及
基于设备性能数据和历史运行数据,确定每个服务节点的状态参数;
所述基于设备性能数据和历史运行数据,确定每个服务节点的状态参数,包括:
从所述设备性能数据中获取每个服务节点的处理器数量和高速缓存的容量;
从所述历史运行数据中获取每个服务节点在过去的设定时间区间内的多个过载时间段,其中所述过载时间段是服务节点的系统负载率持续大于负载率阈值并且持续时间长度大于第一时间长度阈值的一段时间;
基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数;
所述基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档,包括:
基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度;
基于每个辅助服务节点的定制测试时间长度和软件测试请求中的测试信息,为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档。
2.根据权利要求1所述的方法,其特征在于,所述第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,包括:
第一测试芯片从第一服务节点的存储单元中获取多个服务区域中每个服务区域的区域范围信息,所述区域范围信息用于描述服务区域的区域范围;
第一测试芯片确定所述目标地理位置所在的区域范围,并且将与目标地理位置所位于的区域范围相对应的服务区域,确定为所述目标地理位置所归属的目标服务区域。
3.根据权利要求1所述的方法,其特征在于,所述获取目标服务区域内每个服务节点的节点状态信息,包括:
第一服务节点向边缘服务系统发送节点查询请求,以促使所述边缘服务系统根据节点查询请求中的目标服务区域的区域标识,获取目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置,并将目标服务区域内每个服务节点的节点状态信息和每个服务节点的节点地理位置返回给第一服务节点。
4.根据权利要求3所述的方法,其特征在于,所述确定目标服务区域内每个服务节点与所述目标地理位置的距离,包括:
基于目标服务区域内每个服务节点的节点地理位置和目标地理位置,确定每个服务节点与所述目标地理位置的距离。
5.根据权利要求1所述的方法,其特征在于,所述基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数,包括:
基于处理器数量,计算每个服务节点的处理器参数;
基于高速缓存的容量,计算每个服务节点的缓存参数;
基于多个过载时间段,计算每个服务节点的过载参数;以及
基于处理器参数、缓存参数和过载参数,确定每个服务节点的状态参数。
12.根据权利要求1或11所述的方法,其特征在于,所述基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点,包括:
将目标服务区域内的多个服务节点中,软件测试参数最大的服务节点确定为第二服务节点。
13.根据权利要求1所述的方法,其特征在于,所述第二服务节点的第二测试芯片在所述目标服务区域中选择多个辅助服务节点,包括:
所述第二服务节点向所述目标服务区域中除第二服务节点之外的每个服务节点发送状态查询请求,以使得除第二服务节点之外的每个服务节点基于状态查询请求生成状态响应消息,并将状态响应消息发送给所述第二服务节点;
所述第二服务节点的第二测试芯片从状态响应消息中获取除第二服务节点之外的每个服务节点的任务信息,所述任务信息包括:当前并行处理的任务的数量以及能够并行处理的任务的最大数量;
基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点。
14.根据权利要求13所述的方法,其特征在于,所述基于任务信息从所述目标服务区域中除第二服务节点之外的服务节点选择多个辅助服务节点,包括:
确定目标服务区域中除第二服务节点之外的每个服务节点的任务数量比率:
其中,为目标服务区域中除第二服务节点之外的第m个服务节点的任务数量比率,为目标服务区域中除第二服务节点之外的第m个服务节点的当前并行处理的任务的数量,/>为目标服务区域中除第二服务节点之外的第m个服务节点能够并行处理的任务的最大数量;/>,m和w为自然数,并且w为目标服务区域中除第二服务节点之外的服务节点的数量;
16.根据权利要求15所述的方法,其特征在于,所述每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点,包括:
每个辅助服务节点对各自的定制测试文档进行解析,以获取定制测试时间长度和软件测试请求中的测试信息;
获取测试信息中的待测试的软件的描述信息、关联软件列表和系统配置信息,所述描述信息包括:待测试的软件的标识符和版本号,关联软件列表包括:每个关联软件的标识符和版本号,所述系统配置信息包括操作系统版本和系统配置参数;
每个辅助服务节点生成虚拟机,基于操作系统版本和系统配置参数设置虚拟机以模拟待测试的软件在用户终端中的运行环境,基于待测试的软件的标识符和版本号,在所述虚拟机中安装待测试的软件,并且基于每个关联软件的标识符和版本号,在所述虚拟机中安装每个关联软件;
每个辅助服务节点的虚拟机在运行每个关联软件情况下,对待测试的软件进行运行测试,直到定制测试时间长度期满为止;以及
每个辅助服务节点基于待测试的软件在定制测试时间长度的运行数据生成测试结果数据,所述测试结果数据包括:辅助服务节点的标识符、定制测试时间长度、待测试的软件的报错次数、每个关联软件的报错次数以及虚拟机运行数据。
17.一种基于测试芯片对软件进行测试的系统,其特征在于,所述系统包括:第一服务节点,位于当前服务区域内,在接收到来自用户终端的软件测试请求时,由所述第一服务节点的第一测试芯片对所述软件测试请求进行解析以获取目标地理位置以及测试信息,所述测试信息包括:待测试的软件的描述信息、关联软件列表和系统配置信息;第一服务节点的第一测试芯片确定所述目标地理位置所归属的目标服务区域,在当前服务区域与目标服务区域为不同的服务区域时,获取目标服务区域内每个服务节点的节点状态信息并且确定目标服务区域内每个服务节点与所述目标地理位置的距离;所述第一测试芯片基于目标服务区域内每个服务节点的节点状态信息以及与所述目标地理位置的距离,在目标服务区域内多个服务节点中选择第二服务节点,将所述软件测试请求发送给所述第二服务节点;
第一服务节点的第一测试芯片从目标服务区域内每个服务节点的节点状态信息中获取设备性能数据和历史运行数据;以及基于设备性能数据和历史运行数据,确定每个服务节点的状态参数;
第一服务节点的第一测试芯片从所述设备性能数据中获取每个服务节点的处理器数量和高速缓存的容量;从所述历史运行数据中获取每个服务节点在过去的设定时间区间内的多个过载时间段,其中所述过载时间段是服务节点的系统负载率持续大于负载率阈值并且持续时间长度大于第一时间长度阈值的一段时间;基于处理器数量、高速缓存的容量和多个过载时间段,确定每个服务节点的状态参数;
第二服务节点,促使第二测试芯片在所述目标服务区域中选择多个辅助服务节点,并基于软件测试请求中的测试信息为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;所述第二服务节点将定制测试文档发送给相应的辅助服务节点,使得每个辅助服务节点基于各自的定制测试文档对待测试的软件进行测试以生成测试结果数据并将测试结果数据返回给所述第二服务节点;第二服务节点的第二测试芯片基于从每个辅助服务节点接收的测试结果数据,生成所述待测试的软件的测试结果;
第二服务节点的第二测试芯片基于辅助服务节点的任务数量比率确定每个辅助服务节点对待测试的软件进行测试的定制测试时间长度;基于每个辅助服务节点的定制测试时间长度和软件测试请求中的测试信息,为每个辅助服务节点分别生成用于对待测试的软件进行测试的定制测试文档;
其中,第一服务节点的第一测试芯片用于,基于目标服务区域内每个服务节点的节点状态信息,确定每个服务节点的状态参数;基于目标服务区域内每个服务节点与所述目标地理位置的距离,计算目标服务区域内多个服务节点与所述目标地理位置的平均距离;基于目标服务区域内每个服务节点与所述目标地理位置的距离和多个服务节点与所述目标地理位置的平均距离,计算每个服务节点的距离参数;基于状态参数和距离参数,确定每个服务节点的软件测试参数;以及基于每个服务节点的软件测试参数,在目标服务区域内的多个服务节点中选择第二服务节点。
18.一种基于测试芯片对软件进行测试的系统,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现权利要求1-16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317658.4A CN116049019B (zh) | 2023-03-29 | 2023-03-29 | 一种基于测试芯片对软件进行测试的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310317658.4A CN116049019B (zh) | 2023-03-29 | 2023-03-29 | 一种基于测试芯片对软件进行测试的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049019A CN116049019A (zh) | 2023-05-02 |
CN116049019B true CN116049019B (zh) | 2023-06-09 |
Family
ID=86116659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310317658.4A Active CN116049019B (zh) | 2023-03-29 | 2023-03-29 | 一种基于测试芯片对软件进行测试的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049019B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775498A (zh) * | 2023-08-21 | 2023-09-19 | 小米汽车科技有限公司 | 软件测试的方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669444A (zh) * | 2020-06-08 | 2020-09-15 | 南京工业大学 | 基于边缘计算的云游戏服务质量增强方法及系统 |
CN113742203A (zh) * | 2020-05-29 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和计算机存储介质 |
CN115203061A (zh) * | 2022-09-14 | 2022-10-18 | 广东美的暖通设备有限公司 | 接口自动化测试方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965300B2 (en) * | 2014-03-24 | 2018-05-08 | Ca, Inc. | Message matching for opaque service virtualization |
-
2023
- 2023-03-29 CN CN202310317658.4A patent/CN116049019B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742203A (zh) * | 2020-05-29 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和计算机存储介质 |
CN111669444A (zh) * | 2020-06-08 | 2020-09-15 | 南京工业大学 | 基于边缘计算的云游戏服务质量增强方法及系统 |
CN115203061A (zh) * | 2022-09-14 | 2022-10-18 | 广东美的暖通设备有限公司 | 接口自动化测试方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116049019A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109729131B (zh) | 一种应用请求的处理方法、装置和路由器 | |
KR102201919B1 (ko) | 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체 | |
CN111262759B (zh) | 一种物联网平台测试方法、装置、设备和存储介质 | |
CN116049019B (zh) | 一种基于测试芯片对软件进行测试的方法及系统 | |
US20210258370A1 (en) | Traffic mapping | |
CN105337786B (zh) | 一种服务器性能检测方法、装置及设备 | |
CN109167812B (zh) | 评估服务质量、确定调整策略的方法、服务器及存储介质 | |
CN105550338A (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
CN109002424B (zh) | 文件格式转换方法、装置、计算机设备及存储介质 | |
CN105610995A (zh) | Dns服务器的选择方法、dns服务器的选择装置和终端 | |
WO2005017719A2 (en) | Communications system providing server load balancing based upon weighted health metrics and related methods | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN109309596A (zh) | 一种压力测试方法、装置及服务器 | |
CN104702592A (zh) | 流媒体下载方法和装置 | |
CN110457223A (zh) | 灰度测试引流方法、装置、代理服务器及可读存储介质 | |
CN110297743B (zh) | 一种负载测试方法、装置和存储介质 | |
CN106713242B (zh) | 数据请求的处理方法及处理装置 | |
FI129839B (en) | A method for determining a performance indicator for a wireless telecommunications network | |
WO2020244027A1 (zh) | 一种cdn系统服务质量检测方法及系统 | |
KR101639108B1 (ko) | 요금 시스템을 위한 자동 트래픽 생성부 | |
CN108229133B (zh) | 一种业务操作方法及装置、业务权限获取方法及装置 | |
CN110943876A (zh) | Url状态检测方法、装置、设备和系统 | |
RU2532714C2 (ru) | Способ получения данных при оценке ресурсов сети и устройство для осуществления способа | |
CN111309576A (zh) | 一种压力测试方法和装置 | |
CN109547236A (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 |