一种分布式并发加速测试技术与平台的构建方法

阅读: 评论:0

著录项
  • CN201811041182.1
  • 20180907
  • CN109213665A
  • 20190115
  • 北京航空航天大学
  • 杨顺昆;苟晓冬;黄婷婷;边冲;刘文静;姚琪;谢钰姝
  • G06/F1134
  • G06/F1134 G06/F1136

  • 北京市海淀区学院路37号
  • 北京(11)
  • 北京慧泉知识产权代理有限公司
  • 王顺荣;唐爱华
摘要
本发明提供一种分布式并发加速测试技术与平台的构建方法,其步骤如下:1、部署硬件环境;2、确定测试任务;3、约束量化及控制;4、负载配置;5、制定时钟同步策略;6、测试执行及本地分析;7、测试结果汇总分析;通过上述步骤,完成了对分布式并发加速测试技术与平台的构建;制定约束控制规则以模拟待测软件实际的运行环境,提出全局时钟、节点时钟以及任务时钟等三种时钟同步策略以保证测试系统的时钟同步,在满足并发需求及测试进度的基础上充分考虑测试节点的负载能力实现负载均衡,实现高效安全可靠的测试;本发明能实现分布式测试,负载均衡及约束控制策略的实施可以实现安全、高效、可信的并发加速测试,具有较高的实际应用价值。
权利要求

1.一种分布式并发加速测试技术与平台的构建方法,其特征在于:其步骤如下:

本发明提供一种分布式并发加速测试技术与平台的构建方法,其步骤如下:

步骤1、部署硬件环境;

步骤2、确定测试任务;

步骤3、约束量化及控制;

步骤4、负载配置;

步骤5、制定时钟同步策略;

步骤6、测试执行及本地分析;

步骤7、测试结果汇总分析;

通过上述步骤,能完成对分布式并发加速测试技术与平台的构建;我们在分布式理论的基础上,制定约束控制规则以模拟待测软件实际的运行环境,提出全局时钟、节点时钟以及任务时钟三种时钟同步策略以保证测试系统的时钟同步,在满足并发需求及测试进度的基础上充分考虑测试节点的负载能力实现负载均衡,实现高效安全可靠的测试;

本发明适用于解决实际的软件测试问题,使用这一技术能实现分布式测试,负载均衡及约束控制策略的实施能实现安全、高效、可信的并发加速测试,具有很高的实际应用价值。

2.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤1中所述的“部署硬件环境”,其做法如下:本发明的分布式测试环境由一台主控计算机加上复数个测试计算机节点构成,主控计算机发布测试任务,测试节点负责完成主控计算机发布的任务。

3.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤2中所述的“确定测试任务”,其做法如下:分布式测试系统能同时测试复数个软件,也能对一个软件同时进行复数项测试任务;在进行负载配置前,根据测试需求确定量化测试任务,计算机自动确定是否需要分节点进行测试。

4.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤3中所述的“约束量化及控制”,其做法如下:软件在运行时会面临硬件环境约束以及外部的噪声干扰约束,这些约束在软件运行时表现为程序正常输入的干扰;因而在本发明中,将约束量化为随机变量,通过主控计算机将其分配给各个测试节点,在执行测试任务时将约束施加给各个测试节点以模拟软件实际的运行环境;

具体的,假定程序运行时共有N个可能的约束,使用D维实数变量将第i个约束量化表示为C=k×[c,c,L,c,L,c],其中,k为缩放因子,以便灵活控制约束的大小,i=1,2,L,N,j=1,2,L,D,D为约束的维数,同程序的正常输入维度保持一致;量化以后,在主控计算机内制定相应的约束控制规则,具体包括,约束强度C、缩放因子k的大小,以及约束的开始加入时间和结束时间;然后,由主控计算机在测试过程中将其分配给各个测试节点;通过加入量化后的约束模拟软件的实际运行环境,而不是实验室环境,能发现更多的问题,提高测试的可信性。

5.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤4中所述的“负载配置”,其做法如下:当主控计算机确定测试任务和约束控制规则后,根据测试任务量、约束要求以及各测试节点的负载能力自动分配测试任务和约束,分配原则为不超过各测试节点负载能力且满足高并发需求及测试进度的前提下,尽可能启用少的测试节点,以避免过多测试节点造成的不可避免的节点故障,分配均衡的负载率,这里的负载率是指分配的测试负载与节点的负载上限之比。

6.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤5中所述的“制定时钟同步策略”,其做法如下:本发明中提出三种时钟同步策略,包括全局时钟、节点时钟以及任务时钟,以保证分布式测试系统的时钟同步;

具体的,任务时钟是针对在一个测试节点上同时进行复数项测试任务时的场景,用于同步该节点各个测试任务的时间标签;节点时钟则是用于各个测试节点之间的时钟同步,而全局时钟则是指系统主控计算机的主节点时钟;本发明的时钟同步策略是分层同步,即首先同步每个测试节点上各个测试任务的时钟,然后由各个测试节点再向上同步到主控计算机,主控计算机的时钟作为系统的主时钟,每层的时钟同步方法则采用IEEE 1588时钟同步方法,采取分层同步策略能加快系统的时钟同步效率。

7.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤6中所述的“测试执行及本地分析”,其做法如下:基于前述步骤确定的测试任务、约束控制规则、负载配置以及时钟同步方法,各测试节点执行测试任务;完成测试任务后,各测试节点在本地进行初步的测试数据分析,完成后向主控计算机发送分析后的数据。

8.根据权利要求1所述的一种分布式并发加速测试技术与平台的构建方法,其特征在于:在步骤7中所述的“测试结果汇总分析”,其做法如下:主控计算机收集来自各个测试节点的初步分析数据,进行汇总分析,输出测试报告。

说明书
技术领域

本发明提供一种分布式并发加速测试技术与平台的构建方法,它涉及一种分布式并发加速测试技术与平台的实现,属于软件测试领域。

随着信息技术以及互联网技术的发展,万物互联正在成为现实,由此产生了海量的数据,“大数据”应运而生。由于单个设备或者系统已经无法满足大数据时代的海量数据处理需求,而且往往成本高昂。在这种情况下,分布式系统成为了理想的,甚至是唯一的选择。分布式系统的定义可以简单的概括入如下:分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。

在软件测试领域,由于集中测试容易面临负载过高的风险,以及并发测试的需求导致分布式系统在软件测试中也有着广泛的应用。但是分布式系统不应该盲目部署,只有当集中测试的单个节点的处理能力无法满足测试任务,且硬件的提升高昂到得不偿失的时候,才应考虑分布式系统。因为分布式系统多节点、通过网络通信的拓扑结构,会引入很多集中式系统没有的问题,为了解决这些问题又会引入更多的机制,带来更多的问题。部署分布式系统面临着诸如异构性、时钟同步性、一致性、故障的独立性、并发、安全性以及可扩展性等诸多问题。在嵌入式软件的测试中,经常需要考虑的则是测试的负载问题以及并发测试的问题。集中测试负载过高容易造成某些隐患,而且效率低下,这时候就需要考虑负载的均衡问题。同时,测试时可能需要同时测试多个待测目标,或者同一个待测目标有着多个测试任务。

针对这一状况,我们提出一种分布式并发加速测试技术与平台的构建方法,在这项技术中,可以同时部署多个测试节点以及多个待测件,并提出了三种时钟同步策略,包括全局时钟、节点时钟以及任务时钟,以保证分布式测试系统的各个节点能够协调工作。同时,我们还提出了一种约束控制策略,将待测软件运行时面临的环境约束量化,有策略的加入到测试节点中,即在测试节点的原有测试任务的基础上,施加约束,以保证测试的充分性和可信性。使用这一技术可以实现高度时钟同步的并发测试,提高测试效率,并实现测试的负载均衡,降低测试成本与风险,同时还可以在测试时考虑到待测节点实际运行时的环境约束,提高测试可信性。

该分布式并发加速测试技术与平台基于时钟同步策略以及约束控制策略进行构建,在提高软件测试效率与可信性的同时,达到降低测试成本的目的。

(一)本发明目的:在软件测试领域,部署分布式的测试系统需要考虑的是测试负载的均衡问题以降低单个测试节点的负载,以及并发测试的问题以同时测试多个待测软件或者对同一个待测软件的进行多项测试任务。同时,由于分布式测试系统的各个节点产生的测试数据需要进行汇总分析,所以需要知道所有测试数据产生的时间,而这就要求各测试节点保持时钟的一致性。针对这一状况,我们提出一种分布式并发加速测试技术与平台的构建方法,可以同时部署多个测试节点以及多个待测软件,并提出了三种时钟同步策略,包括全局时钟、节点时钟以及任务时钟,以保证分布式测试系统的各个节点的时钟同步性。同时,我们还提出了一种约束控制策略,将待测软件运行时面临的环境约束量化并有策略的加入到测试节点中,在测试的过程中模拟软件的真实运行环境,以保证测试的充分性和可信性。使用这一技术可以实现高度时钟同步且负载均衡的分布式并发测试,提高测试效率,同时考虑到了待测软件实际运行时的面临的环境约束,提高了测试的可信性。

可以看出该技术的构建对现有的分布式理论和软件测试技术进行了整合与创新,形成了一种分布式并发加速测试技术与平台的构建方法。

(二)技术方案

本发明技术方案:分布式并发加速测试技术与平台的构建方法过程如下:

本发明所述方法中,引用DCAT来表述分布式并发加速测试(即“DistributedConcurrency Accelerate Testing”)技术与平台。

本发明提供一种分布式并发加速测试技术与平台的构建方法,其步骤如下:

步骤1、部署硬件环境;

步骤2、确定测试任务;

步骤3、约束量化及控制;

步骤4、负载配置;

步骤5、制定时钟同步策略;

步骤6、测试执行及本地分析;

步骤7、测试结果汇总分析。

其中,在步骤1中所述的“部署硬件环境”,其做法如下:本发明的分布式测试环境由一台主控计算机加上多个测试计算机节点构成,主控计算机发布测试任务,测试节点负责完成主控计算机发布的任务。

其中,在步骤2中所述的“确定测试任务”,其做法如下:分布式测试系统可以同时测试多个软件,也可以对一个软件同时进行多项测试任务;在进行负载配置前,根据测试需求确定量化测试任务,计算机自动确定是否需要分节点进行测试。

其中,在步骤3中所述的“约束量化及控制”,其做法如下:软件在运行时会面临硬件环境约束以及外部的噪声干扰约束,这些约束在软件运行时表现为程序正常输入的干扰;因而在本发明中,将约束量化为随机变量,通过主控计算机将其分配给各个测试节点,在执行测试任务时将约束施加给各个测试节点以模拟软件实际的运行环境;

具体的,假定程序运行时共有N个可能的约束,使用D维实数变量将第i个约束量化表示为C=k×[c,c,L,c,L,c],其中,k为缩放因子,以便灵活控制约束的大小,i=1,2,L,N,j=1,2,L,D,D为约束的维数,同程序的正常输入维度保持一致;量化以后,在主控计算机内制定相应的约束控制规则,具体包括,约束强度C、缩放因子k的大小,以及约束的开始加入时间和结束时间;然后,由主控计算机在测试过程中将其分配给各个测试节点;通过加入量化后的约束模拟软件的实际运行环境,而不是实验室环境,可以发现更多的问题,提高测试的可信性。

其中,在步骤4中所述的“负载配置”,其做法如下:当主控计算机确定测试任务和约束控制规则后,根据测试任务量、约束要求以及各测试节点的负载能力自动分配测试任务和约束,分配原则为不超过各测试节点负载能力且满足高并发需求及测试进度的前提下,尽可能启用少的测试节点,以避免过多测试节点造成的不可避免的节点故障,分配均衡的负载率,这里的负载率是指分配的测试负载与节点的负载上限之比。

其中,在步骤5中所述的“制定时钟同步策略”,其做法如下:本发明中提出三种时钟同步策略,包括全局时钟、节点时钟以及任务时钟,以保证分布式测试系统的时钟同步;

具体的,任务时钟是针对在一个测试节点上同时进行多项测试任务时的场景,用于同步该节点各个测试任务的时间标签;节点时钟则是用于各个测试节点之间的时钟同步,而全局时钟则是指系统主控计算机的主节点时钟;本发明的时钟同步策略是分层同步,即首先同步每个测试节点上各个测试任务的时钟,然后由各个测试节点再向上同步到主控计算机,主控计算机的时钟作为系统的主时钟,每层的时钟同步方法则采用IEEE 1588时钟同步方法,采取分层同步策略可以加快系统的时钟同步效率,所述“IEEE 1588”时钟同步方法是指2002年IEEE标准委员会通过的“网络测量和控制系统的精密时钟同步协议标准”。

其中,在步骤6中所述的“测试执行及本地分析”,其做法如下:基于前述步骤确定的测试任务、约束控制规则、负载配置以及时钟同步方法,各测试节点执行测试任务;完成测试任务后,各测试节点在本地进行初步的测试数据分析,完成后向主控计算机发送分析后的数据。

其中,在步骤7中所述的“测试结果汇总分析”,其做法如下:主控计算机收集来自各个测试节点的初步分析数据,进行汇总分析,输出测试报告。

通过上述步骤,可以完成对分布式并发加速测试技术与平台的构建;我们在分布式理论的基础上,制定约束控制规则以模拟待测软件实际的运行环境,提出全局时钟、节点时钟以及任务时钟等三种时钟同步策略以保证测试系统的时钟同步,在满足并发需求及测试进度的基础上充分考虑测试节点的负载能力实现负载均衡,实现高效安全可靠的测试;

本发明适用于解决实际的软件测试问题,使用这一技术可以实现分布式测试,负载均衡及约束控制策略的实施可以实现安全、高效、可信的并发加速测试,具有较高的实际应用价值。

(三)优点

本发明与现有技术相比的优点在于:传统的集中式软件测试在软件规模越来越庞大、复杂性也越来越高的背景下,容易面临负载过高的风险,不仅测试效率差强人意,而且高负载也容易造成安全隐患。因此本发明将借鉴分布式理论,提出一种分布式并发加速测试系统,由主控计算机发布测试任务,测试节点计算机完成测试。同时,提出一种约束控制策略量化环境及噪声干扰以模拟软件的实际运行环境,提出全局时钟、节点时钟以及任务时钟等三种时钟同步策略以保证分布式测试系统的时钟同步。本发明对现有的分布式理论和软件测试技术进行了整合与创新,提供一种分布式并发加速测试技术与平台的构建方法。

图1为本发明所述方法的总体步骤流程图。

图2为分布式测试平台的环境部署示意图。

图中序号、符号、代号说明如下:

图1中的“步骤1~7”即技术方案中对应的步骤;

图1中的C即为量化后的环境约束和噪声干扰;

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图进行详细描述。

本发明提供了一种分布式并发加速测试技术与平台的构建方法。利用该方法构建的技术与平台可以提高软件测试的效率和质量。在这项技术中,使用一个主控计算机作为中枢发布测试任务,布置多个服务器或者工作站作为测试节点完成主控计算机布置的测试任务,构建一个分布式的测试平台。在均衡负载之外,还制定了约束控制规则以模拟软件的实际运行环境,以及3种时钟同步策略保证整个测试系统的时钟同步。

本发明一种分布式并发加速测试技术与平台的构建方法,如图1所示,其具体构建步骤如下:

步骤一:部署硬件环境。其构建方法是:分布式测试环境由一台主控计算机加上多个测试计算机节点以及必要的通信设备组成的通讯网络构成,主控计算机发布测试任务,测试节点负责完成主控计算机发布的任务,通讯网络负责传输数据,如图2所示。

该平台可主要分为3层,最上层是主控计算机和用户所在的应用层,用户在主控计算机上发布测试任务,而用不关心下层的通讯及测试执行情况。主控计算机和测试节点之间的通讯设备构成了通讯层,包含必要的通讯设备,可以通过有线或者无线连接,具体视需求及环境而定。多个测试节点计算机构成了测试层,测试节点通过网络层接收来自主控计算机发布的测试任务及测试结果本地分析任务,并将分析结果回传至主控计算机。

步骤二:确定测试任务。其构建方法是:分布式测试系统可以同时测试多个软件,也可以对一个软件同时进行多项测试任务。在进行负载配置前,用户根据测试需求确定测试任务,在测试任务发布后,主控计算机自动确定是否需要分节点进行测试。

步骤三:约束量化及控制。其构建方法是:软件在运行时会面临硬件环境约束以及外部的噪声干扰约束,这些约束在软件运行时表现为对程序正常输入的干扰。为了模拟这种真实的软件运行环境,我们将约束量化为随机变量,通过主控计算机将其分配给各个测试节点,在执行测试任务时将约束施加给各个测试节点。也就是说,主控计算机会同时将规定的测试任务和约束同时加载到测试节点上,测试节点在有约束限制的情况下完成测试任务。

具体的,假定程序运行时共有N个可能的约束,使用D维实数变量将第i个约束量化表示为C=k×[c,c,L,c,L,c],其中,k为缩放因子,以便灵活控制约束的大小,i=1,2,L,N,j=1,2,L,D,D为约束的维数,约束的维度同程序的正常输入维度保持一致。量化以后,在主控计算机内制定相应的约束控制规则,具体包括,约束强度C、缩放因子k的大小,以及约束的开始加入时间和结束时间。然后,由主控计算机在测试过程中将其分配给各个测试节点。通过加入量化后的约束模拟软件的实际运行环境,而不是实验室环境,可以发现更多的问题,增加测试的可信性。

步骤四:负载配置。其构建方法是:当主控计算机确定测试任务和约束控制规则后,根据测试任务量、约束要求以及各测试节点的负载能力自动分配测试任务和约束,分配原则为不超过各测试节点负载能力且满足高并发需求及测试进度的前提下,尽可能启用少的测试节点,以避免过多测试节点造成的不可避免的节点故障。

分布式系统的节点故障是一个难以回避的问题,虽然更多的节点往往意味着更快的处理速度,但是节点数量增大到一定程度之后,单个节点的故障变得不可避免,这会给系统带来某些难以预料的问题。因而,在满足并发需求、测试进度又不超出节点负载上限的前提下,应启用尽可能少的测试节点,以避免节点故障。

步骤五:制定时钟同步策略。其构建方法是:本发明中提出三种时钟同步策略,包括全局时钟、节点时钟以及任务时钟,以保证分布式测试系统的时钟同步。

任务时钟是针对在一个测试节点上同时进行多项测试任务时的场景,用于同步该节点各个测试任务的时间标签。节点时钟则用于各个测试节点之间的时钟同步,而全局时钟则是指分布式测试系统主控计算机的主节点时钟。本发明的时钟同步策略是分层同步,即首先同步每个测试节点上各个测试任务的时钟,然后由各个测试节点再向上同步到主控计算机,主控计算机的时钟作为系统的主时钟,每层的时钟同步方法则采用IEEE 1588时钟同步方法,采取分层同步策略可以加快系统的时钟同步效率,这里的“IEEE 1588”时钟同步方法是指2002年IEEE标准委员会通过的“网络测量和控制系统的精密时钟同步协议标准”。

步骤六:测试执行及本地分析。其构建方法如下:基于前述步骤确定的测试任务、约束控制规则、负载配置以及时钟同步方法,各测试节点在约束的影响下执行测试任务。完成测试任务后,各测试节点在本地进行初步的测试数据分析,完成后向主控计算机发送分析后的数据。在测试节点进行本地数据分析而不是直接上传测试数据至主控计算机,可以利用已有的测试节点资源加快分析处理速度,充分发挥分布式系统的优势,最大化利用计算资源。

步骤七:测试结果汇总分析。其构建方法如下:主控计算机接收来自各个测试节点上传的初步分析数据,进行汇总分析,输出测试报告。

通过上述步骤,可以完成对分布式并发加速测试技术与平台的构建。在这项技术中,我们借鉴分布式理论,使用多个测试节点计算机和一台主控计算机以及必要的通讯设备构成分布式测试平台。在该平台中,由主控计算机发布测试任务,测试节点完成测试并进行本地化的测试结果分析。同时,提出一种约束控制策略量化环境约束及噪声干扰以模拟软件的实际运行环境,并提出全局时钟、节点时钟以及任务时钟等三种时钟同步策略以保证分布式测试系统的时钟同步。使用该技术搭建的分布式测试平台,考虑了软件运行时的真实环境,使用3种时钟同步策略保证了系统的时钟同步,以及分布式系统固有的优点,可以实现可靠、准确、快速的测试结果。

该故障预测技术基于分布式理论和软件测试理论进行构建,形成较为实用的分布式并发加速测试平台与技术。

本发明未详细阐述部分属于本领域公知技术。

以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

本文发布于:2023-04-01 23:37:33,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/85981.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图