一种并行测试资源配置寻优的方法、计算设备及存储介质与流程

文档序号:23963583发布日期:2021-02-18 20:32阅读:59来源:国知局
一种并行测试资源配置寻优的方法、计算设备及存储介质与流程

[0001]
本申请涉及复杂电子产品测试领域。更具体地,涉及一种并行测试资源配置寻优的方法、计算设备和存储介质。


背景技术:

[0002]
并行测试是实现测试效率提升的有效方法,其核心是将有限的测试资源公平合理地分配给各个测试任务,在满足资源约束的条件下使所有并行执行的任务能在最短的时间内完成,并达到系统的资源利用率最优。目前的并行测试普遍为基于固定资源开展任务调度策略研究,任务调动策略有动态调度和静态调度两种。其中,动态调度可以理解为随机调度,即当任务进入系统,申请资源请求执行时,系统根据任务的优先级、资源的使用状况等一系列因素实时地决定任务的执行顺序;而静态调度可以理解为固定调度,调度方案在测试任务执行前已经预定设计好。
[0003]
传统的基于固定资源的并行测试已无法满足测试对象的复杂度的提升和测试增长的需要。


技术实现要素:

[0004]
本申请的目的在于提供一种并行测试资源配置寻优的方法、计算设备及存储介质来解决以上背景技术部分提到的解决传统并行测试方法难以实现测试效率最高、资源利用率最大化的技术问题。
[0005]
为达到上述目的,本申请采用下述技术方案:
[0006]
第一方面,本申请提供一种并行测试资源配置寻优的方法,该方法包括:
[0007]
s10、获取测试参数,其中,所述测试参数包括测试对象、测试项目及测试资源;
[0008]
s20、将所述测试参数自动录入关系数据库,所述关系数据库被配置为与所述测试参数相关联的测试需求表和测试资源配置表,其中,所述测试需求表存储有所述测试项目与所述测试资源间的对应关系,所述资源配置表与所述测试对象的数量及所述测试资源的种类相关;
[0009]
s30、根据所述测试需求表和所述资源配置表建立模拟训练任务进行资源配置寻优,形成测试结果表;
[0010]
s40、根据所述测试结果表,形成最优资源配置策略。
[0011]
在一个具体实施例中,所述测试对象的数量为n,设定每个测试对象具有相同的测试任务且相互独立;所述测试任务均包含m个相互独立且执行顺序固定的测试项目;所述测试资源的种类为q,其中,n、m和q为大于0的自然数。
[0012]
在一个具体实施例中,其特征在于,所述资源配置表中的资源配置的第一极端方式是所述n个测试对象共用一套测试资源,第二极端方式是所述n个测试对象共用n套测试资源,其余的资源配置方式在第一极端方式于第二极端方式之间。
[0013]
在一个具体实施例中,所述资源配置表的资源配置方式为n
q
种。
[0014]
在一个具体实施例中,所述s30包括:
[0015]
s300、结合所述测试需求表,依次执行所述资源配置表中的所有资源配置方式,在执行过程中记录首个测试项目的进入时刻、最后一个测试项目的退出时刻,并通过差值获得执行时间,其中,每个测试项目执行前先获取所需测试资源的使用权,执行后对资源进行释放,过程中其他测试项目无法获取正在占用的资源,并通过自旋锁来保证某一个测试资源同一时刻只能被某个测试项目所占用;
[0016]
s302、判断n
q
种资源配置方式是否被全部执行,若是,形成测试结果表,若否,重复s300。
[0017]
在一个具体实施例中,所述测试结果表存储有于所述资源配置表种的n
q
种资源配置方式相对应的执行时间。
[0018]
在一个具体实施例中,所述s40包括:
[0019]
s401、根据预设测试时间,计算单位测试对象的可承受最长测试时间;
[0020]
s402、遍历测试结果表,筛选出执行时间小于可承受最长测试时间的资源配置方式;
[0021]
s404、对所述筛选出的资源方式进行成本进行核算,选择最合适的资源配置方式,形成最优资源配置策略。
[0022]
在一个具体实施例中,其特征在于,所述单位测试对象的可承受最长测试时间为所述预设测试时间除以测试对象的数量。
[0023]
第二方面,本申请还提供了一种计算设备,包括处理器及存储有程序的存储器,所述处理器执行所述程序时实现如上述第一方面中所述的方法。
[0024]
第三方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述第一方面中所述的方法。
[0025]
本申请的有益效果如下:
[0026]
本申请公开了一种基于固定任务的并行测试资源配置寻优方法,根据测试需求表构建模拟训练任务,再结合资源配置表,通过大量的训练寻找既符合测试周期要求、又实现资源配置最优的策略,能够应用于单一产品大批量的并行测试。
附图说明
[0027]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]
图1示出根据本申请的一个实施例的并行测试资源配置寻优的方法的流程图。
[0029]
图2示出根据本申请的一个实施例的计算设备的结构示意图。
具体实施方式
[0030]
为了更清楚地说明本申请,下面结合优选实施例和附图对本申请做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本申请的保护范围
[0031]
实施例一
[0032]
为进一步提升测试效率,需要对资源配置进行优化,寻找资源丰富与效率提升的契合点,如图1所示,本申请的一个实施例提供了一种并行测试资源配置寻优的方法,该方法包括:
[0033]
s10、获取测试参数,其中,所述测试参数包括测试对象、测试项目及测试资源;
[0034]
在一个具体实施例中,所述测试对象的数量为n,设定每个测试对象具有相同的测试任务且相互独立;所述测试任务均包含m个相互独立且执行顺序固定的测试项目;所述测试资源的种类为q,其中,n、m和q为大于0的自然数。
[0035]
例如,设定n=3、m=3和q=3,即三种具有相同属性的独立测试对象,分别用task1、task2和task3表示;每个测试对象具有相同的测试任务,测试任务包含三个独立测试项目,分别用item1、item2和item3表示,且测试项目执行的顺序固定;每个测试对象使用的测试资源类型用测试资源r1、测试资源r2和测试资源r3表示。
[0036]
s20、将所述测试参数自动录入关系数据库,所述关系数据库被配置为与所述测试参数相关联的测试需求表和测试资源配置表,其中,所述测试需求表存储有所述测试项目与所述测试资源间的对应关系,所述资源配置表与所述测试对象的数量及所述测试资源的种类相关;
[0037]
在一个具体实施例中,所述测试需求表如表1所示,测试需求表限定了测试项目与测试资源间的分配关系,需要说明的是,task1、task2和task3属性相同,具有完全相同的测试项目。
[0038]
表1
[0039]
测试任务测试项目测试资源1测试资源2测试资源3task1item1r1r2 task1item2 r2r3task1item3r1 r3task2item1r1r2 task2item2 r2r3task2item3r1 r3task3item1r1r2 task3item2 r2r3task3item3r1 r3
[0040]
在一个具体实施例中,所述资源配置表中的资源配置的第一极端方式是所述n个测试对象共用一套测试资源,第二极端方式是所述n个测试对象共用n套测试资源,其余的资源配置方式在第一极端方式与第二极端方式之间,并且所述资源配置表的资源配置方式为n
q
种。
[0041]
例如,当n=3时,根据s10明确的3个被测对象,那么可能的资源配置极端方式是配置一套测试资源,即r1、r2和r3的数量均为1个,三个被测对象共享一套测试资源(对应表2序号1)或者配置三套测试资源,即r1、r2和r3的数量均为3个,三个被测对象各自享有独立的测试资源(对应表2序号27),其余的配置情况是三种测试资源的数量均为1、2、3中的一种情况(对应表2~26),据此思想形成如表2所示的资源配置表,共33,即27种资源配置的方
式。
[0042]
表2
[0043][0044]
[0045]
s30、根据所述测试需求表和所述资源配置表建立模拟训练任务进行资源配置寻优,形成测试结果表。
[0046]
以上述n=3、m=3和q=3时为例,所述s30包括:
[0047]
s300、结合所述测试需求表1,依次执行所述资源配置表2中的所有资源配置方式,每个测试项目执行前首先获取所需测试资源的使用权,执行后对资源进行释放,过程中其他测试项目无法获取正在占用的资源,并通过自旋锁来保证某一个资源同一时刻只能被某个测试项目所占用,执行过程中记录首个测试项目的进入时刻、最后一个测试项目的退出时刻,并通过差值获得该测试任务的执行时间。
[0048]
s302、判断n
q
种资源配置方式是否被全部执行,若是,形成测试结果表,若否,重复s300,所述测试结果表存储有于所述资源配置表种的n
q
种资源配置方式相对应的执行时间。
[0049]
在一个具体实施例中,资源配置方式更改为表2中序号2的情况,重复上述s300的过程,直到完成序号27资源配置方式下的测试,从而形成如表3所示的测试结果表,所述测试结果表存储有于所述资源配置表种的27种资源配置方式相对应的执行时间。
[0050]
表3
[0051][0052][0053]
s40、根据所述测试结果表,形成最优资源配置策略。
[0054]
在一个具体实施例中,s40包括:
[0055]
s401、根据预设测试时间,计算单位测试对象的可承受最长测试时间,所述单位测试对象的可承受最长测试时间为所述预设测试时间除以测试对象的数量。
[0056]
例如,在一个实际的测试中,假设被测对象的数量(n=3)是有限的,且需要在有限时间内完成(30分钟),计算出单位对象可承受的最长测试时间,即30/3=10,单位对象可承受的最长测试时间为10分钟。
[0057]
s402、遍历测试结果表,筛选出执行时间小于可承受最长测试时间的资源配置方式;
[0058]
s404、对所述筛选出的资源方式进行成本进行核算,选择最合适的资源配置方式,形成最优资源配置策略。
[0059]
例如,进一步查找表3中测试时间小于可承受最长测试时间的资源配置情况,并对符合条件的资源配置成本进行核算,择优选择最合适的资源配置,即可实现并行测试资源的配置寻优。
[0060]
本申请针对目前现有问题,公开了一种基于固定任务的并行测试资源配置寻优方法,根据测试需求表构建模拟训练任务,再结合资源配置表,通过大量的训练寻找既符合测试周期要求、又实现资源配置最优的策略,能够应用于单一产品大批量的并行测试。
[0061]
实施例二
[0062]
图2示出了本申请的另一个实施例提供的一种计算设备的结构示意图。图2显示的计算设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0063]
如图2所示,计算设备50以通用计算设备的形式表现。计算设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元500,系统存储器516,连接不同系统组件(包括系统存储器516和处理单元500)的总线501。
[0064]
总线501表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0065]
计算设备50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0066]
系统存储器516可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)504和/或高速缓存存储器506。计算设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统508可以用于读写不可移动的、非易失性磁介质(图2未显示,通常称为“硬盘驱动器”)。尽管图2中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线501相连。存储器516可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行实施例一的功能。
[0067]
具有一组(至少一个)程序模块512的程序/实用工具510,可以存储在例如存储器516中,这样的程序模块512包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块512
通常执行本申请所描述的实施例中的功能和/或方法。
[0068]
计算设备50也可以与一个或多个外部设备70(例如键盘、指向设备、显示器60等)通信,还可与一个或者多个使得用户能与该计算机设备50交互的设备通信,和/或与使得该计算设备50能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口502进行。并且,计算设备50还可以通过网络适配器514与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图2所示,网络适配器514通过总线501与计算设备50的其它模块通信。应当明白,尽管图2中未示出,可以结合计算设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0069]
处理器单元500通过运行存储在系统存储器516中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例一所提供的一种并行测试资源配置寻优的方法。
[0070]
本申请针对目前现有问题,公开了一种应用基于固定任务的并行测试资源配置寻优方法的计算设备,根据测试需求表构建模拟训练任务,再结合资源配置表,通过大量的训练寻找既符合测试周期要求、又实现资源配置最优的策略,能够应用于单一产品大批量的并行测试。
[0071]
实施例三
[0072]
本申请的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例一所提供的方法。
[0073]
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0074]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0075]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0076]
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部
分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0077]
本申请针对现有问题,制定了一种存储有实施例一所提供方法的计算机可读存储介质,根据测试需求表构建模拟训练任务,再结合资源配置表,通过大量的训练寻找既符合测试周期要求、又实现资源配置最优的策略,能够应用于单一产品大批量的并行测试。
[0078]
需要说明的是,在本申请的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0079]
显然,本申请的上述实施例仅仅是为清楚地说明本申请所作的举例,而并非是对本申请的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本申请的技术方案所引伸出的显而易见的变化或变动仍处于本申请的保护范围之列。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1