CN114356571A - 一种处理方法及装置 - Google Patents
一种处理方法及装置 Download PDFInfo
- Publication number
- CN114356571A CN114356571A CN202111679139.XA CN202111679139A CN114356571A CN 114356571 A CN114356571 A CN 114356571A CN 202111679139 A CN202111679139 A CN 202111679139A CN 114356571 A CN114356571 A CN 114356571A
- Authority
- CN
- China
- Prior art keywords
- task
- electronic device
- information
- component
- electronic equipment
- 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.)
- Pending
Links
Images
Abstract
本申请提供的处理方法,能够在第一电子设备接入目标系统后,至少基于该第一电子设备的第一部件信息确定对应的任务清单,进而按照该任务清单确定对应的处理任务给到第一电子设备执行。
Description
技术领域
本申请涉及软件技术领域,更具体地说,涉及一种处理方法及装置。
背景技术
现阶段,无论是系统测试、还是图像处理、又或是系统控制等涉及算力任务分配的场景,对相关设备分配任务还是需要项目人员手动关联实现,这就会造成任务的处理效率极低。
发明内容
有鉴于此,本申请提供一种处理方法及装置,技术方案如下:
本申请一方面提供一种处理方法,包括:
在第一电子设备接入目标系统后,获得所述第一电子设备的第一部件信息;
至少基于所述第一部件信息确定对应的任务清单,所述任务清单中至少不包括已执行过对应任务的部件;
按照所述任务清单确定对应的处理任务给所述第一电子设备执行。
优选的,所述至少基于所述第一部件信息确定对应的任务清单,包括:
基于所述第一部件信息从目标任务库中确定所述第一电子设备的各部件的任务,过滤已执行过的任务,得到所述任务清单;或,
获得所述第一电子设备所属项目的项目信息,基于所述项目信息和所述第一部件信息从目标任务库中确定对应的任务,过滤已执行过的任务,得到所述任务清单;或,
获得所述目标系统的日志信息,基于所述日志信息和所述第一部件信息确定对应的任务,得到所述任务清单。
优选的,所述至少基于所述第一部件信息确定对应的任务清单,包括:
获得第二电子设备的第二部件信息,所述第二电子设备是接入所述目标系统中的不同于所述第一电子设备的设备,所述第二电子设备与所述第一电子设备具有同一项目属性;
基于所述第一部件信息和所述第二部件信息确定对应的任务清单。
优选的,还包括:
获得目标任务库中的任务变化信息、接入所述目标系统的电子设备的设备状态信息、或、接入所述目标系统的项目库的项目变更信息中的至少一个,基于所述任务变化信息、所述设备状态信息、或所述项目变更信息中的至少一个更新所述任务清单。
优选的,所述按照所述任务清单确定对应的处理任务给所述第一电子设备执行,包括:
获得第一电子设备的工作时长,至少基于所述工作时长从所述任务清单中确定第一处理任务给所述第一电子设备执行;或,
确定与所述第一电子设备具有关联关系的第二电子设备,从所述任务清单中确定第二处理任务给所述第一电子设备和所述第二电子设备共同执行,其中,所述第二处理任务为所述第二电子设备正在执行的任务或待执行的任务,所述第二电子设备为接入所述目标系统中的不同于所述第一电子设备的设备;或,
获得目标指令信息,至少基于所述目标指令信息从所述任务清单中确定第三处理任务给所述第一电子设备执行,所述目标指令信息包括输入至所述目标系统的指令信息或由所述目标系统基于任务进程生成的指令信息。
优选的,所述至少基于所述工作时长从所述任务清单中确定第一处理任务给所述第一电子设备执行,包括:
获得所述任务清单中各项任务所需的时长信息,将与所述工作时长匹配的至少一项任务确定为第一处理任务,将所述第一处理任务给到所述第一电子设备执行;或,
获得第二电子设备的剩余工作时长,将所述任务清单中与所述工作时长和所述剩余工作时长匹配的至少一项任务确定为第一处理任务,将所述第一处理任务给到所述第一电子设备和第二电子设备执行,所述第一电子设备和所述第二电子设备并行或串行执行所述第一处理任务。
优选的,所述确定与所述第一电子设备具有关联关系的第二电子设备,包括:
确定第一电子设备的第一目标部件信息,所述第一目标部件信息不包括已执行过对应任务的部件信息,
如果所述第二电子设备的第二目标部件信息与所述第一目标部件信息之间的匹配度满足阈值,确定第二电子设备与所述第一电子设备具有关联关系,所述第二目标部件信息不包括已执行过相应任务的部件信息;或,
确定所述第二电子设备的工作状态,将处于目标工作状态的第二电子设备确定为与所述第一电子设备具有关联关系的设备。
优选的,还包括:
获得接入所述目标系统的电子设备的设备状态信息,至少基于所述设备状态信息调整所述第一电子设备执行的处理任务、或调整所述第一电子设备和第二电子设备执行的处理任务。
优选的,还包括:
输出日志信息,基于所述日志信息更新目标项目对应的任务清单。
本申请另一方面提供一种处理装置,所述装置包括:
获得模块,用于在第一电子设备接入目标系统后,获得所述第一电子设备的第一部件信息;
确定模块,用于至少基于所述第一部件信息确定对应的任务清单,所述任务清单中至少不包括已执行过对应任务的部件;
执行模块,用于按照所述任务清单确定对应的处理任务给所述第一电子设备执行。
本申请再一方面提供一种电子设备,所述电子设备包括:
至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现:
在第一电子设备接入目标系统后,获得所述第一电子设备的第一部件信息;至少基于所述第一部件信息确定对应的任务清单,所述任务清单中至少不包括已执行过对应任务的部件;按照所述任务清单确定对应的处理任务给所述第一电子设备执行。
本申请另一方面提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述的处理方法。
经由上述技术方案,本申请提供的处理方法,能够在第一电子设备接入目标系统后,至少基于该第一电子设备的第一部件信息确定对应的任务清单,进而按照该任务清单确定对应的处理任务给到第一电子设备执行。基于本申请,能够考虑第一电子设备的部件为其分配处理任务,并且该处理任务至少不针对第一电子设备中已执行过对应任务的部件,由此本申请可以自动对电子设备部署处理任务,提升处理效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为目前系统测试的场景示意图;
图2为本申请实施例提供的电子设备的硬件结构框图;
图3为本申请实施例提供的处理方法的方法流程图;
图4为本申请实施例提供的系统测试的场景示意图;
图5为本申请实施例提供的处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例提供的处理方案能够应用于任意涉及算力任务分配的场景,为方面理解,以下以系统测试来说明,可以理解的是,系统测试仅为本申请实施例所列举的场景示例,对于其他未列举的场景也在本申请实施例的保护范围内。
参见图1,图1为目前系统测试的场景示意图。现阶段,系统测试所涉及的主体包括测试员、测试用例、项目信息、测试设备等,其中,项目信息泛指项目开发过程中所涉及的信息,举例来说,项目信息中可以包含如下信息:
1)硬件部件清单(AVL,Approved Vendor List):其包含组装测试设备所有硬件部件(比如主板、处理器、内存、显卡、硬盘)的不同型号;
2)硬件搭配规则说明书:其包含硬件部件组装成测试设备的规则(比如显卡A+处理器A需要搭配500W功耗的电源)、以及定义硬件部件在主板上的插槽及接口的插法(比如设备需要安装独立显卡、显卡需要安装在主板PCIE X16插槽)等;
3)主板规格书(M/B SPEC):其包含主板功能及接口定义,比如主板包含哪些接口、再比如主板所用芯片的型号;
4)软体功能清单:其包含多个软件实体;
5)性能指导书(Performance guide):其包含硬件部件的性能评估信息,比如某个型号的显卡性能评价;
6)驱动清单(DDlist,Device Driver List)及驱动(Driver):驱动清单中用于定义硬件部件的驱动类型,而驱动则为驱动安装包;
7)Bios(Basic Input Output System)刷新包及相关资料:其为X86架构下测试设备的基本输入输出系统。
8)固件清单(Firmware list)及固件(Firmware):固件清单用于定义硬件部件的固件类型,而固件则为固件安装包。
继续参见图1,系统测试中测试员、测试用例、项目信息及测试设备等个体之间都是独立的,互相之间没有关联关系,皆需要被动式的手动关联进行测试部署,从而生成测试方案,该测试方案的测试对象可以覆盖项目数据中所涉及的硬件部件、主板功能及接口、软体功能中的部分或全部、并且还需要指定测试员、每台测试设备的硬件部件、以及测试对象需要的测试用例,由测试员基于其对应的测试方案对相应的测试设备执行测试,并且测试过程中,测试用例依赖测试员逐条指定而执行,无人值守时,测试设备完成测试员分发的最后一条测试用例后即闲置。
显然,手动生成测试方案,以及手动关联测试设备与测试用例,效率极低。对此,本申请实施例提供如下的处理方案,可以实现自动识别测试设备的配置,并智能推送测试。
本申请提供一种处理方法,该方法可以应用于电子设备。参见图2,图2为本申请实施例提供的电子设备的硬件结构框图,该电子设备的硬件结构可以包括:处理器11、通信接口12,存储器13和通信总线14;
在本申请实施例中,处理器11、通信接口12、存储器13、通信总线14的数量为至少一个,且处理器11、通信接口12、存储器13通过通信总线14完成相互间的通信。
处理器11可以是一个中央处理器CPU、GPU(Graphics Processing Unit,图形处理器),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器13可以包括高速RAM存储器,也可以还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器。
其中,存储器13存储应用程序及应用程序运行所产生的数据,处理器11则执行应用程序,以实现功能:
在第一电子设备接入目标系统后,获得第一电子设备的第一部件信息;至少基于第一部件信息确定对应的任务清单,任务清单中至少不包括已执行过对应任务的部件;按照任务清单确定对应的处理任务给第一电子设备执行。
需要说明的是,处理器执行应用程序所实现功能的细化和扩展,可以参见下文描述。
参见图3,图3为本申请实施例提供的一种处理方法的方法流程图,该处理方法包括如下步骤:
步骤S101:在第一电子设备接入目标系统后,获得第一电子设备的第一部件信息。
本申请实施例中,目标系统为任意涉及算力任务分配的系统,比如在系统测试场景下的测试系统,本申请实施例对此不做限定,后续将继续以测试场景为例进行说明。而对于第一电子设备接入该目标系统的方式,可以为有线(比如硬线)或者无线(比如网络、蓝牙),本申请实施例对此也不做限定。
为方便理解,以系统测试这一场景来说明:第一电子设备(即第一测试设备)接入测试系统后,可以抓取该第一电子设备对应的部件信息,即第一部件信息,并且,该第一部件信息所涉及的部件包括但不局限于硬件部件、主板接口以及软件功能这三方面,由此第一部件信息至少包括硬件部件信息、主板接口信息和软件功能信息中的一种或多种,可以结合测试需求来设置,本申请实施例对此不做限定。
对于第一部件信息在硬件部件这方面的信息,即硬件部件信息,通过对第一电子设备进行硬件部件信息的抓取,可以获得第一电子设备中诸如主板、处理器、内存、显卡、硬盘等硬件部件的信息;对于第一部件信息在主板接口这方面的信息,即主板接口信息,通过对第一电子设备进行主板接口信息的抓取,可以获得第一电子设备中诸如主板接口的功能信息;对于第一部件信息在软件功能这方面的信息,即软件功能信息,通过对第一电子设备进行软件功能信息的抓取,可以获得第一电子设备中诸如通信、控制、执行等软件功能的信息,而在具体实现时,可以对第一电子设备设置唯一标签、并对该标签关联一软件功能清单来实现,所关联的软件功能清单用于记录该第一电子设备所能够实现的软件功能,其属于项目数据中的软件功能清单的部分或全部。
步骤S102:至少基于第一部件信息确定对应的任务清单,任务清单中至少不包括已执行过对应任务的部件。
本申请实施例中,在获得第一电子设备对应的第一部件信息后,可以确定第一部件信息所对应的任务;进一步,对于第一部件信息所对应的任务,从中确定由第一电子设备或者接入目标系统的其他电子设备执行过对应任务的部件,以获得第一电子设备对应的任务清单,该任务清单中可以包含该第一电子设备待执行任务的部件、或者该第一电子设备待执行任务以及相应的部件。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例,并且,测试用例涵盖所属部件对应的测试条目。假设,所获得的第一部件信息所涉及的硬件部件包括硬件部件1、硬件部件2和硬件部件3、所涉及的主板接口包括主板接口1、所涉及的软体功能包括软体功能1和软体功能2。
首先,确定上述硬件部件1、硬件部件2、硬件部件3、主板接口1、软体功能1以及软体功能2各自所对应的测试用例;进一步,确定硬件部件1、硬件部件2、硬件部件3、主板接口1、软体功能1以及软体功能2各自所对应的测试用例的执行状态,该执行状态包括已(被第一电子设备或接入测试系统的其他电子设备)执行过和未执行过,并对其中对应测试用例的执行状态为已执行过的部件进行过滤;假设硬件部件1、软体功能1两者的测试用例的执行状态均为已执行过,则可以进一步基于硬件部件2、硬件部件3、主板接口1、以及软体功能2及其各自的测试用例来确定第一电子设备对应的测试清单,该测试清单中可以包含硬件部件2、硬件部件3、主板接口1和软体功能2中的一个或多个,也可以包含硬件部件2、硬件部件3、主板接口1和软体功能2中的一个或多个、以及所包含部件对应的测试用例。
步骤S103:按照任务清单确定对应的处理任务给第一电子设备执行。
本申请实施例中,对于所获得的第一电子设备对应的任务清单,可以按照其中所包含的部件对第一电子设备分配任务,由第一电子设备执行该任务,当然,给第一电子设备所分配的任务即为处理任务。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设,第一电子设备对应的测试清单中包含硬件部件2、主板接口1和软体功能2,则可以按照一定策略确定测试清单中各部件的分配次序,进而以该分配次序依次为该第一电子设备分配测试用例。
继续假设,测试清单的分配次序为主板接口1→硬件部件2→软体功能2。则首先将主板接口1对应的测试用例给第一电子设备执行,在确定第一电子设备针对主板接口1对应的测试用例的执行进度满足对应的条件(比如执行剩余时间小于对应的时间阈值)时,则继续将硬件部件2对应的测试用例给第一电子设备执行,并在确定第一电子设备针对硬件部件2对应的测试用例的执行进度满足对应的条件时,继续将软体功能2对应的测试用例给第一电子设备执行。当然,还可以将第一电子设备、该第一电子设备所对应测试清单中的部件及测试用例之间的对应关系记录至日志中,并输出相应的日志信息。
由此,本申请实施例可以在电子设备接入测试系统时,为该电子设备生成相应的任务清单以给到电子设备执行,自动产生适应该电子设备的测试方案,这一方面无需测试员逐条指定测试用例,并且还可以解决测试方案与电子设备间没有防呆机制的问题,避免测试员、电子设备、测试用例三者之间没有校验机制、而无法杜绝测试员使用错误的电子设备执行测试用例的问题,测试自动部署提升效率。
本申请实施例提供的处理方法,能够考虑第一电子设备的部件为其分配处理任务,并且该处理任务至少不针对第一电子设备中已执行过对应任务的部件,由此本申请可以自动对电子设备部署处理任务,提升处理效率。
本申请实施例提供另一种处理方法,作为至少基于第一部件信息确定对应的任务清单的一种实现方式,包括如下步骤:
基于第一部件信息从目标任务库中确定第一电子设备的各部件的任务,过滤已执行过的任务,得到任务清单;或,
获得第一电子设备所属项目的项目信息,基于项目信息和第一部件信息从目标任务库中确定对应的任务,过滤已执行过的任务,得到任务清单;或,
获得目标系统的日志信息,基于日志信息和第一部件信息确定对应的任务,得到任务清单。
本申请实施例中,在第一电子设备接入目标系统后,可以从如下三方面对第一电子设备对应的第一部件信息进行处理,以确定第一电子设备对应的任务清单:
1)基于目标任务库确定任务清单。本申请实施例中,目标任务库中记录有第一电子设备所属项目对应的全部任务,由此,并且目标任务库中各任务均具有对应的属性标签,该属性标签用于指示相应的部件。由此,通过匹配目标任务库中各任务的属性标签与第一部件信息所涉及的部件,可以确定第一部件信息所对应的任务,所确定的任务即为第一电子设备的各部件对应的任务,当然,第一电子设备中具有对应任务的部件可以为第一电子设备中的部分部件、还可以为第一电子设备中的全部部件,本申请实施例对此不做限定。最后,对于第一电子设备中具有对应的任务的部件来说,考虑其对应任务的执行状态,将对应任务的执行状态为已执行过的部件进行过滤,并结合过滤结果确定第一电子设备对应的任务清单。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例、目标任务库即为测试用例库。假设,所获得的第一部件信息所涉及的硬件部件包括硬件部件1、硬件部件2和硬件部件3、所涉及的主板接口包括主板接口1、所涉及的软体功能包括软体功能1和软体功能2。
首先,调取测试用例库,从该测试用例库中分别确定属性标签用于指示硬件部件1、硬件部件2、硬件部件3、主板接口1、软体功能1、软体功能2的测试用例。假设,测试用例库中包含硬件部件1、硬件部件2、主板接口1、软体功能1各自对应的测试用例,则进一步确定硬件部件1、硬件部件2、主板接口1、软体功能1各自所对应测试用例的执行状态,并对其中执行状态为已执行过的测试用例和对应的部件进行过滤;假设,硬件部件1、软体功能1两者的测试用例的执行状态均为已执行过,则可以确定第一电子设备对应的测试清单中包含硬件部件2、主板接口1、以及硬件部件2对应的测试用例、主板接口1对应的测试用例。
2)基于第一电子设备所属项目的项目信息和目标任务库确定任务清单。本申请实施例中,第一电子设备所属项目的项目信息中一方面可以包括项目开发过程中所涉及的信息,方便理解,继续以系统测试这一场景来说明,项目信息包含上述硬件部件清单、硬件搭配规则说明书、主板规格书、软体功能清单等原始信息;另一方面本申请实施例还可以自动获取项目信息的原始信息并存储,进一步针对不同项目单位对存储的原始信息进行针对性的数据清洗,以剔除项目单位不需要的信息,满足定制化需求,基于此可以从项目信息的原始信息中清洗出本项目单位所需要执行的目标信息,为方便理解,继续以系统测试这一场景来说明,本测试单位(即系统测试场景下的项目单位)的目标信息可以包含硬件测试清单、软体功能测试清单和主板接口测试清单中的一个或多个测试清单、还可以包括驱动变更信息、Bios变更信息、固件变更信息中的一个或多个变更信息、还可以包括硬件测试清单中各硬件部件的实时库存信息,本申请实施例对此不做限定。
由此,对于项目信息中的原始信息和目标信息,本申请实施例可以创建项目数据库用于存储这两部分信息,一方面满足项目信息的存储需求,另一方面还可以满足项目单位的测试定制化需求。并且,现阶段项目信息的更新需要人工手动获取,效率低、且信息延迟性高,而本申请实施例则可以解决该问题。
需要说明的是,上述硬件测试清单是硬件部件清单的清洗结果,其中包含本测试单位所需要测试的硬件部件;软体功能测试清单是软体功能清单的清洗结果,其中包含本测试单位所需要测试的软体功能;主板接口测试清单是主板规格书的清洗结果,其中包含本测试单位所需测试主板接口的功能;驱动变更信息是驱动清单及驱动的清洗结果,其中包含驱动安装包发生变更的驱动类型;Bios变更信息是Bios刷新包及相关资料的清洗结果,其中包含Bios发生变更的部分信息;固件变更信息是固件清单及固件的清洗结果,其中包含固件安装包发生变更的固件类型。
进一步,通过匹配项目信息中的目标信息与第一部件信息能够确定第一电子设备中与本项目单位相关的部件,进而通过匹配目标任务库中各任务的属性标签与本项目单位相关的部件,可以第一电子设备中与本项目单位相关的任务。最后,对于第一电子设备中与本项目单位相关部件来说,考虑其对应任务的执行状态,将对应任务的执行状态为已执行过的部件进行过滤,并结合过滤结果确定第一电子设备对应的任务清单。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例、目标任务库即为测试用例库。假设,所获得的第一部件信息所涉及的硬件部件包括硬件部件1、硬件部件2和硬件部件3、所涉及的主板接口包括主板接口1、所涉及的软体功能包括软体功能1和软体功能2。
首先,调取项目信息中的硬件测试清单、软体功能测试清单和主板接口测试清单,分别将硬件部件1、硬件部件2、硬件部件3与硬件测试清单进行匹配,以确定硬件部件1和硬件部件2中位于硬件测试清单中的硬件部件,以及,将主板接口1与主板接口测试清单进行匹配,以确定主板接口1是否位于主板接口测试清单中,以及,将软体功能1和软体功能2与软体功能测试清单进行匹配,以确定软体功能1和软体功能2中位于软体功能测试清单中的软体功能。假设,硬件部件1、主板接口1、软体功能2分别位于各自对应的测试清单中,则进一步调取测试用例库,从该测试用例库中分别确定属性标签用于指示硬件部件1、主板接口1、软体功能2的测试用例,假设,测试用例库中包含硬件部件1、主板接口1、软体功能2各自对应的测试用例,则进一步确定硬件部件1、主板接口1、软体功能2各自所对应测试用例的执行状态,并对其中执行状态为已执行过的测试用例和对应的部件进行过滤;假设,硬件部件1的测试用例的执行状态为已执行过,则可以确定第一电子设备对应的测试清单中包含主板接口1、软体功能2以及主板接口1对应的测试用例、软体功能2对应的测试用例。
需要说明的是,以项目信息中的测试清单为基准,对于第一电子设备中不存在的硬件部件、主板接口或者软体功能,可以对其进行输出以提示相关项目人员考虑是否对第一电子设备进行重新配置,还可以将其加入项目对应的总测试清单中,以依赖其他电子设备进行测试,本申请实施例对此不做限定,当然,总测试清单中包含该项目下所有接入测试系统的电子设备对应的测试清单。
3)基于目标系统的日志信息和第一部件信息确定任务清单。本申请实施中,目标系统的日志信息中记录有接入该目标系统的各电子设备的任务覆盖信息和部件覆盖信息,该任务覆盖信息包含所属电子设备对应的执行状态为已执行过的任务,该部件覆盖信息包含所属电子设备中执行状态为已执行过的任务对应的部件。由此,通过调取目标系统的日志信息,可以确定目标系统下已执行过的任务以及对应的部件,通过与第一部件信息所涉及的部件进行匹配可以确定第一电子设备中未执行过任务的部件;进一步,调取目标任务库,可以通过匹配目标任务库中各任务的属性标签与所确定的第一电子设备中未执行过任务的部件,可以确定第一电子设备中未执行过任务的各部件对应的任务,以此可以确定第一电子设备对应的任务清单。由此,可以避免接入目标系统的电子设备间存在相同的具有任务的部件时,导致任务重复执行的问题。
当然,在此过程中,还可以进一步考虑项目信息,首先匹配项目中的目标信息与第一部件确定第一电子设备中与本项目单位相关的部件,进而再调取目标系统的日志信息,以确定与本项目单位相关的部件中未执行过任务的部件,最后再调取目标任务库获得本项目单位相关的由未执行过任务的各部件、以及对应的任务所组成的任务清单。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例、目标任务库即为测试用例库。假设,所获得的第一部件信息所涉及的硬件部件包括硬件部件1、硬件部件2和硬件部件3、所涉及的主板接口包括主板接口1、所涉及的软体功能包括软体功能1和软体功能2。
首先,调取测试系统的日志信息,确定测试系统下已执行过的测试用例以及对应的部件,假设包含上述硬件部件1以及对应的测试用例、软体功能1以及对应的测试用例,则可以确定第一电子设备中未执行过测试用例的部件包括硬件部件2、硬件部件3、主板接口1、软体功能2,进一步,调取测试用例库,从该测试用例库中分别确定属性标签用于指示硬件部件2、硬件部件3、主板接口1、软体功能2各自对应的测试用例。假设,测试用例库中包含硬件部件2、主板接口1各自对应的测试用例,则可以确定第一电子设备对应的测试清单中包含硬件部件2、主板接口1、以及硬件部件2对应的测试用例、主板接口1对应的测试用例。
本申请实施例提供另一种处理方法,作为至少基于第一部件信息确定对应的任务清单的一种实现方式,包括如下步骤:
获得第二电子设备的第二部件信息,第二电子设备是接入目标系统中的不同于第一电子设备的设备,第二电子设备与第一电子设备具有同一项目属性;
基于第一部件信息和第二部件信息确定对应的任务清单。
本申请实施例中,目标系统可以同时支持多个项目的执行,也就是说,接入目标系统的多个电子设备可以归属于不同的项目,对此本申请可以通过电子设备的项目属性来隔离不同项目间的任务执行,该项目属性能够唯一标识电子设备所属的项目,比如可以为项目编码、还可以为项目名称等,本申请实施例对此不做限定。
由此,对于接入目标系统的第一电子设备,可以从已接入目标系统的电子设备中确定与其项目属性相同的电子设备,即第二电子设备,进一步获得第二电子设备的部件信息,即第二部件信息。为方便理解,继续以系统测试这一场景来说明,第二电子设备(即第二测试设备)对应的第二部件信息至少包括硬件部件信息、主板接口信息和软件功能信息中的一种或多种,考虑到测试需求,第二部件信息与第一部件信息中信息的类型可以相同、也可以不同,本申请实施例对此不做限定。
进一步,由于第一电子设备与第二电子设备具体同一项目属性,即两者属于同一项目,对此可以进一步考虑第二部件信息,基于第一部件信息和第二部件信息来确定对应的任务清单。需要说明的是,第一电子设备和第二设备可以为完全相同的电子设备、还可以为配置上有所差异的电子设备,另外,第一电子设备与第二电子设备两者可以共用同一个任务清单、还可以各自具有对应的任务清单,本申请实施例对此不做限定。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。首先,对于第二电子设备来说,其接入测试系统时,可以至少基于其第二部件信息确定其对应的测试清单,该测试清单中至少包含第二电子设备未执行过测试用例的部件,还可以既包含第二电子设备未执行过测试用例的部件、又包含该部件对应的测试用例。举例来说,基于第二电子设备对应的测试清单可以确定第二电子设备未执行过测试用例的部件包括部件1、部件2和部件3、相应还可以确定部件1、部件2和部件3各自对应的测试用例。
进一步,基于第一部件信息可以确定第一电子设备中的部件,并将所确定的部件与第二电子设备中未执行过测试用例的部件进行比对。如果第一电子设备中包含第二电子设备未执行过测试用例的部件,则可以基于该部件在第二电子方面对应的测试用例为第一电子设备确定相应的测试用例,所确定的测试用例可以为该部件对应的测试用例的部分或全部。
继续以上述举例来说明,假设第一电子设备包含部件1、部件2、部件4、部件5,由此可以确定部件1和部件2为第一电子设备未执行过测试用例的部件,此时可以基于第二电子设备的任务清单确定第一电子设备相应的测试用例包括部件1和/或部件2对应的测试用例。当然,在一些场景中,部件对应的测试用例可以为多个,由此还可以确定第一电子设备相应的测试用例包括部件1对应的(部分或全部)测试用例和/或部件3对应的(部件或全部)测试用例。
继续以上述举例来说明,假设基于第二电子设备对应的测试清单可以确定部件1对应M个测试用例、部件2对应1个测试用例,进一步针对部件1和部件2中的任意一个,可以结合第一电子设备和第二电子各自的任务量(该任务量可以用待执行测试的部件的数量、或者测试用例的数量等指标来衡量)确定由第一电子设备、还是第二电子设备执行该部件对应的测试用例、以及执行哪些测试用例。继续假设,确定部件1所对应M个测试用例中的N个测试用例给到第一电子设备、部件1所对应M个测试用例中剩余的M-N个测试用例给到第二电子设备、部件2所对应的1个测试用例给到第二电子设备,则后续可以对于部件1可以由第一电子设备和第二电子设备共同执行其对应的测试用例,以此可以实现对多个电子设备的同一部件同时/不同时测试不同测试用例,多个电子设备共同组建针对同一部件的测试全集,保证测试的完整性。
另外,对于第一电子设备所具有、而第二电子不具有的部件,本申请实施例还可以针对此类部件确定第一电子设备对应的测试用例。继续以上述举例来说明,假设第二电子设备中不包含上述部件4、而包含上述部件5,由于基于第二电子设备的测试清单可以确定第二电子设备对部件5执行过测试,因此确定第一电子设备对应的测试用例时未考虑部件5,而对于部件4,则可以调取测试用例库并至少基于测试用例库确定部件4对应的测试用例,一方面可以确定测试用例库中属性标签用于指示部件4的测试用例,另一方面还可以调取项目信息中相应的测试清单与部件4进行匹配,并在确定部件4位于测试清单的情况下,再确定测试用例库中属性标签用于指示部件4的测试用例。
在其他一些场景下,对于至少基于第二部件信息所确定的第二电子设备对应的测试清单,其中还可以包括第二电子设备正在执行测试用例的部件、还可以既包含第二电子设备正在执行测试用例的部件、又包含该部件对应的测试用例。对于第二电子设备正在执行测试用例的部件,在该部件所对应的测试用例为多个、并且第一电子设备也包含该部件的情况下,还可以将其中未执行过的测试用例给到第一电子设备,以由第一电子设备和第二电子设备共同对该部件执行测试。
本申请实施例提供另一种处理方法,在上述各实施例的基础上,还可以包括如下步骤:
获得目标任务库中的任务变化信息、接入目标系统的电子设备的设备状态信息、或、接入目标系统的项目库的项目变更信息中的至少一个,基于任务变化信息、设备状态信息、或项目变更信息中的至少一个更新任务清单。
本申请实施例中,目标任务库中记录有第一电子设备所属项目对应的全部任务,项目人员可以对目标任务库中的任务进行增删改等调整操作,由此本申请实施例中,响应于针对任务的调整操作,可以对目标任务库中的任务进行调整,以获得任务变化信息。
接入目标系统的电子设备的设备状态信息包括所属电子设备的上线、下线或者离线等,任意接入目标系统的电子设备的设备状态信息发生变化,一方面会影响设备状态信息发生变化的电子设备的任务执行,另一方面还可能影响与设备状态信息发生变化的电子设备相关联的电子设备(比如同属一个项目的电子设备、或者共同执行同一部件任务的电子设备)的任务执行。
接入目标系统的项目库中记录有第一电子设备所属项目的项目信息,如上,该项目信息包括存储的原始信息、还包括数据清洗所获得的本测试单位的目标信息,对于项目信息中的原始信息或者目标信息,项目人员均可以进行增删改等调整操作,本申请实施例中,响应于针对项目信息的调整操作,可以对项目信息中的原始信息和/或目标信息进行调整,以获得项目变更信息,当然一旦项目信息中原始信息发生变更,则项目信息中的目标信息也会随之变更。
上述任务变化信息、设备状态信息、或项目变更信息可以记录于目标系统的日志信息中,进而基于任务变化信息、设备状态信息、或项目变更信息中的至少一个更新接入目标系统的电子设备对应的任务清单,以此触发新一轮的任务部署。为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例、目标任务库即为测试用例库,并且接入测试系统的电子设备以第一电子设备来说明,其他接入测试系统的电子设备也是如此:
假设,所获得的第一部件信息所涉及的硬件部件包括硬件部件1、硬件部件2和硬件部件3、所涉及的主板接口包括主板接口1、所涉及的软体功能包括软体功能1和软体功能2。第一时刻下测试用例库中包含硬件部件1、硬件部件2、主板接口1、软体功能1各自对应的测试用例,经过确定各测试用例的执行状态,确定第一电子设备在第一时刻下的测试清单包含硬件部件2、主板接口1、以及硬件部件2对应的测试用例、主板接口1对应的测试用例。继续假设第一电子设备按照硬件部件2→主板接口1的次序执行测试用例。第二时刻下,假设第一电子设备正在执行硬件部件2对应的测试用例,而与此同时测试用例库中将硬件部件2及其对应的测试用例删除,则第一电子设备在第二时刻下的测试清单仅包含主板接口1、以及主板接口1对应的测试用例,按照此测试清单将主板接口1对应的测试用例给到第一电子设备,第一电子设备则停止执行对硬件部件2的测试、并开始对主板接口1执行对应的测试用例。
继续假设,在确定第一电子设备对应的测试清单时考虑已接入测试系统的第二电子设备对应的第二部件信息,也就是说,对于第一电子设备和第二电子设备的同一某部件,第一电子设备和第二电子设备共同组建针对该部件的测试全集。继续以部件1所对应M个测试用例中的N个测试用例给到第一电子设备、部件1所对应M个测试用例中剩余的M-N个测试用例给到第二电子设备为例。在第一时刻下,第一电子设备对应的测试清单包含部件1对应的N个测试用例,第一电子设备对该部件1依次N个测试用例。第二时刻下,假设第一电子设备正在对部件1执行N个测试用例中的第i个、且未执行完,而此时第一电子设备由于网络原因掉线与测试系统长时间断开,此时可以将第一电子设备对应的测试清单中部件1所对应的第i~N个测试用例给到第二电子设备,以更新第一电子设备和第二电子设备各自对应的测试清单,其中第一电子设备对应的测试清单中删除部件1及对应的第i~N个测试用例(1~i个测试用例已在第一电子设备执行完后删除)、而第二电子设备的测试清单中则增加部件1对应的第i~N个测试用例,后续由第二电子设备以其执行次序对部件1执行对部件1的测试用例。另外,对于第一电子设备和第二电子设备的测试清单的变化,可以记录至日志中,并输出相应的日志信息。
继续假设,第一电子设备在第一时刻下的测试清单包含硬件部件2、主板接口1、以及硬件部件2对应的测试用例、主板接口1对应的测试用例,并按照硬件部件2→主板接口1的次序执行测试用例。第二时刻下,假设第一电子设备正在执行主板接口1对应的测试用例,而与此同时项目信息中硬件部件2的固件发生变更,即监测到硬件部件2对应的固件变更信息,则此时需要将硬件部件2重新加入到第一电子设备对应的测试清单中,第一电子设备在第二时刻下的测试清单包含主板接口1、硬件部件2以及主板接口1对应的测试用例、硬件部件2对应的测试用例,在第一电子设备对主板接口1测试结合后将硬件部件2对应的测试用例给到第一电子设备,由第一电子设备重新对硬件部件2执行对应的测试用例。当然还可以暂停第一电子设备对主板接口1的测试,在对硬件部件2执行完对应的测试用例后再继续执行对主板接口1对应的测试用例。
本申请实施例提供另一种处理方法,作为按照任务清单确定对应的处理任务给第一电子设备执行的一种实现方式,包括如下步骤:
获得第一电子设备的工作时长,至少基于工作时长从任务清单中确定第一处理任务给第一电子设备执行;或,
确定与第一电子设备具有关联关系的第二电子设备,从任务清单中确定第二处理任务给第一电子设备和第二电子设备共同执行,其中,第二处理任务为第二电子设备正在执行的任务或待执行的任务,第二电子设备为接入目标系统中的不同于第一电子设备的设备;或,
获得目标指令信息,至少基于目标指令信息从任务清单中确定第三处理任务给第一电子设备执行,目标指令信息包括输入至目标系统的指令信息或由目标系统基于任务进程生成的指令信息。
本申请实施例中,第一电子设备接入目标系统的同时,项目人员考虑到第一电子设备上线和下线的时间可以为第一电子设备分配工作时长,当然,随着第一电子设备的持续接入目标系统,其工作时长会相应减小,工作时长的减少量为第一电子设备的上线时长。进而,考虑到第一电子设备的工作时长、以及任务清单中各任务的优先级确定相应的处理任务,即第一处理任务给到第一电子设备执行。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设,第一电子设备对应的测试清单中包含硬件部件2、主板接口1和软体功能2,并且考虑到硬件部件、主板接口和软体功能各自的优先级,选择其中一个优先级最高的一个部件,将所选择的部件对应的测试用例给到第一电子设备执行。继续假设,对于优先级硬件部件>主板接口>软体功能,则在第一电子设备上线过程中,即工作时长减小到0之前,第一次将硬件部件2对应的测试用例给到第一电子设备执行,第二次将主板接口1对应的测试用例给到第一电子设备执行,第三次将软体功能2对应的测试用例给到第一电子设备执行。
另外,第一电子设备接入目标系统之前,第二电子设备已接入目标系统,则考虑到与该第一电子设备具有关联关系的第二电子设备,可以将第二电子设备正在执行的任务或者待执行的任务作为第一电子设备的处理任务,即第二处理任务给到第一电子设备,由第一电子设备和第二电子设备共同执行该第二处理任务。需要说明的是,第一电子设备和第二电子设备具有关联关系,即第一电子设备具有第一电子设备相同的正在执行或未执行的部件。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设,第二电子设备包含部件1、部件2、部件3、第一电子设备包含部件1、部件2、部件4、部件5,第一电子设备接入测试系统时第二电子设备正在执行部件1对应的测试用例,继续假设部件1对应的测试用例为Q个、第二电子设备正在执行第j个测试用例,由于第一电子设备也包含该部件1,则可以从部件1对应的未被第二电子设备执行的Q-j个测试用例选择测试用例给到第一电子设备执行。继续假设部件1未执行的部件为部件2和部件3,由于第一电子设备也包含部件2,则可以从部件2对应的测试用例中选择部分或者全部测试用例给到第一电子设备执行。
此外,对于第一电子设备对应的任务清单,可以从该任务清单中选择基于目标指令信息对应的任务,作为第三处理任务给到第一电子设备执行。该目标指令信息一方面可以为项目人员输入给目标系统的指令信息,即被动输入,另一方面还可以为目标系统基于第一电子设备的任务进程,比如任务优先级、再比如任务紧急程度等生成的指令信息。
而在一些实施例中,确定与第一电子设备具有关联关系的第二电子设备的方式,可以包括如下步骤:
确定第一电子设备的第一目标部件信息,第一目标部件信息不包括已执行过对应任务的部件信息,
如果第二电子设备的第二目标部件信息与第一目标部件信息之间的匹配度满足阈值,确定第二电子设备与第一电子设备具有关联关系,第二目标部件信息不包括已执行过相应任务的部件信息;或,
确定第二电子设备的工作状态,将处于目标工作状态的第二电子设备确定为与第一电子设备具有关联关系的设备。
本申请实施例中,第一目标部件信息中为第一部件信息中除去已执行过对应任务的部件信息。举例来说,第一电子设备包含硬件部件1、硬件部件2、硬件部件3、主板接口1、软体功能1以及软体功能2,其对应的测试清单中包含硬件部件2、主板接口1和软体功能2,并且第一电子设已执行过主体接口1对应的测试用例,则第一目标部件信息所涉及的部件包括硬件部件2和软体功能2。同理,第二电子设备对应的第二目标部件信息也是如此,在此不再赘述。
通过比对第一目标部件信息与第二目标部件信息确定两者间的匹配度,该匹配度表征两者间部件的重合程度,如果匹配度高于对应的阈值,则可以确定第一电子设备与第二电子设备间相同的部件较多,则可以确定第一电子设备与第二电子设备具有关联关系。另外,还可以考虑第二电子设备的工作状态,将处于指定的目标工作状态,比如空闲状态、再比如休眠状态的第二电子设备作为与第一电子设备相关联的电子设备。
在其他一些实施例中,对于第一电子设备执行的处理任务(即第一处理任务)、或者第一电子设备和第二电子设备执行的处理任务(即第二处理任务),在对该处理任务执行过程中,考虑到接入目标系统的电子设备(该电子设备可以为第一电子设备、还可以为第二电子设备、还可以为其它电子设备)的设备状态信息,比如上线、下线或者离线对该处理任务执行的影响,对该第一电子设备/第一电子设备和第二电子设备执行的处理任务进行调整。具体可以采用如下步骤:
获得接入目标系统的电子设备的设备状态信息,至少基于设备状态信息调整第一电子设备执行的处理任务、或调整第一电子设备和第二电子设备执行的处理任务。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设第一电子设备和第二电子设备共同执行硬件部件2对应的测试用例,其中第一电子设备执行硬件部件2对应的1~10个测试用例、且正在执行第2个测试用例、第二电子设备执行硬件部件2对应的11~20个测试用例、且正在执行第12个测试用例。假设,第二电子设备由上线切换为下线,则需要将硬件部件2对应的12~20个测试用例给到第一电子设备,由第一电子设备执行。继续假设,接入测试系统中的不同于第一电子设备和第二电子设备上线,并且该第二电子设备也包含硬件部件2,则可以将硬件部件2对应的3~10个测试用例、或者13~20个测试用例中的一个或多个测试用例给到第三电子设备,以此减少第一电子设备和第二电子设备的任务量。
在此基础上,本申请实施例还可以考虑接入目标系统的下各电子设备对任务的执行情况,并以此输出日志信息,基于该日志信息更新目标项目对应的任务清单。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设接入目标系统的电子设备1、电子设备2和电子设备3具有同一项目属性,均属于项目1;电子设备4和电子设备5具有同一项目属性,均属于项目2。则基于电子设备1、电子设备2和电子设备3各自对应的测试清单可以获得项目1对应的测试清单,基于电子设备4和电子设备5各自对应的测试清单可以获得项目2对应的测试清单,其中项目对应的测试清单中包含该项目下所有电子设备对应的测试清单。
对于上述项目1和项目2项目下的各电子设备,以电子设备1为例来说说明。按照电子设备1对应的测试清单确定某一部件的测试用例给到电子设备1执行后,可以基于电子设备1对该部件的测试用例的执行情况输出相应的日志信息,由此来更新项目1所对应任务清单中该部件的测试用例的执行状态。
举例来说,电子设备1由于工作时长不满足该处理任务所需的时长而下线,导致电子设备1对该部件的测试用例执行中断,因此可以将该情况记录至日志信息中,以此更新项目1所对应任务清单中电子设备1下该部件的测试用例的执行状态(比如由“第1~5个测试用例执行过、第6个测试用例正在执行、第7~10个测试用例未执行过”调整为(比如由“第1~5个测试用例执行过、第6个测试用例执行中断、第7~10个测试用例未执行过”,以便下一个测试部署时考虑该部件对应的第6~10个测试用例的分配,比如可以将该部件对应的第6~10个测试用例给到具有该部件的电子设备2。
此外,电子设备1对该部件的测试用例执行结束后,举例来说,电子设备1对该部件的第1个测试用例执行结束后,除将第1个测试用例的执行情况记录至日志中,还可以将该测试用例的测试结果记录至日志中,具体来说,测试结果包括测试通过和测试未通过。当然,如果该测试用例的测试结果未通过还可以继续对该测试用例执行回归测试(次数可以预先定义),完成回归测试后输出相应的测试结果并记录至日志中。以此,可以将电子设备1对该部件的测试用例的测试结果输出相应的日志信息,由此来更新项目1所对应任务清单中该部件的测试用例的测试结果。
本申请实施例提供另一种处理方法,作为至少基于工作时长从任务清单中确定第一处理任务给第一电子设备执行的一种实现方式,包括如下步骤:
获得任务清单中各项任务所需的时长信息,将与工作时长匹配的至少一项任务确定为第一处理任务,将第一处理任务给到第一电子设备执行;或,
获得第二电子设备的剩余工作时长,将任务清单中与工作时长和剩余工作时长匹配的至少一项任务确定为第一处理任务,将第一处理任务给到第一电子设备和第二电子设备执行,第一电子设备和第二电子设备并行或串行执行第一处理任务。
本申请实施例中,考虑到任务清单中各项任务所需的时长信息,可以将时长信息与第一电子设备的工作时长相匹配至少一项任务作为第一处理任务,该至少一项任务总的时长小于等于第一电子设备的工作时长。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设,第一电子设备对应的测试清单中包含硬件部件2、主板接口1和软体功能2,则可以分别获得硬件部件2、主板接口1和软体功能2各自所对应测试用例的测试时长,而各部件所对应测试用例的测试时长则可以基于其中各测试用例在测试用例库中的线程标签、以及标定的测试时长来确定,并且线程标签包括单线程标签(所属测试用例不能与其它测试用例同步执行)和多线程标签(所属测试用例可以与其它测试用例同步执行)。
为方便理解,继续假设硬件部件2对应1个测试用例(该测试用例的线程标签为单线程标签或多线程标签)、且在测试用例库中该测试用例的测试时长为t1,主板接口1对应2个测试用例(其中至少一个测试用例的线程标签为单线程标签)、且在测试用例库中2个测试用例各自的测试时长分别为t2和t3,软体功能2对应3个测试用例(其中第1个测试用例的线程标签为单线程标签、第2个和第3个测试用例的线程标签为多线程标签)、且在测试用例库中3个测试用例各自的测试时长分别为t4、t5和t6。由此,硬件部件2、主板接口1和软体功能2各自所对应测试用例的测试时长为t1、t2+t3、t4+max(t5,t6),其中max(t5,t6)表示取t5和t6中的最大值。
由此,可以选择硬件部件2、主板接口1和软体功能2中对应测试用例的测试时长小于第一电子设备的工作时长的部件,进而将该部件对应的测试用例给到第一电子设备执行。假设给到第一电子设备执行的部件为软体功能2对应的测试用例,则第一电子设备可以单线程对软体功能2执行第1个测试用例、多线程同时对软体功能2执行第2个和第3个测试用例。这就可以解决测试设备逐条顺序执行测试用例、单线程作业效率低的问题。
而且,线程标签还可以包括互斥标签,该互斥标签用于表征所属测试用例不能与特定的一个或多个测试用例同时执行,该互斥标签可以影响部件所对应的测试用例的测试时长,以上述软体功能2来举例来说,假设第1个测试用例的线程标签为单线程标签、第2个测试用例的线程标签为多线程标签和互斥标签(且互斥对象为第3个测试用例)、第3个测试用例的线程标签为多线程标签和互斥标签(且互斥对象为第2个测试用例),则该软体功能2所对应测试用例的测试时长为t4+t5+t6。
此外,在一些场景下,第一电子设备还可以同时执行多个部件的测试用例,这就要求同时执行的多个部件所对应的测试用例的标签为多线程标签、并且同时执行的多个部件所对应测试用例的测试时长小于等于第一电子设备的工作时长。为方便理解,继续以上述举例来说明。假设给到第一电子设备的执行的部件包括主板接口1和软体功能2两者对应的测试用例、并且主板接口1对应的2个测试用例中第1个测试用例的线程标签为单线程标签、第2个测试用例的线程标签为多线程标签,则可以确定第一电子设备执行主板接口1和软体功能2对应的测试用例的测试时长为t2+t4+max(t5,t6,t3),其小于等于第一电子设备的工作时长。则将主板接口1和软体功能2对应的测试用例给到第一电子设备后,第一电子设备可以多线程同时对主板接口1执行主板接口1对应的第2个测试用例、以及对软体功能2执行软体功能2对应的第2个和第3个测试用例,以单线程对主板接口1执行主板接口1对应的第1个测试用例,以单线程对软体功能2执行第1个测试用例,而对于对主板接口1和软体功能2执行各测试用例的次序,本申请实施例对不做限定。对此,本申请实施例中一台测试设备可以同时执行不同的部件的测试用例,从而显著提升测试效率和设备利用率,保证设备利用率达到最优、而测试覆盖率达到最大。
此外,本申请实施例中,还考虑第二电子设备的剩余工作时长,该剩余工作时长为第二电子设备上线、且处于空闲状态的时长。基于该第二电子设备的剩余时长、以及任务清单中各项任务所需的时长信息,可以将时长信息与第一电子设备的工作时长和第二电子设备的剩余时长相匹配的至少一个任务作为第一处理任务,由第一电子设备和第二电子设备共同执行该第一处理任务,该至少一个任务总的时长小于等于第一电子设备的工作时长与第二电子设备的剩余工作时长之和。
为方便理解,继续以系统测试这一场景来说明,相应的任务清单即为测试清单、部件对应的任务即为测试用例。假设,第一电子设备对应的测试清单中包含硬件部件2、主板接口1和软体功能2,则可以分别获得硬件部件2、主板接口1和软体功能2各自所对应测试用例的测试时长。如上所述,硬件部件2、主板接口1和软体功能2各自所对应测试用例的测试时长为t1、t2+t3、t4+max(t5,t6)。由此考虑到第一电子设备与第二电子所共同包含的部件,假设第一电子设备与第二电子设备均包含硬件部件2和软体功能2,则可以选择硬件部件2和软体功能2中对应测试用例的测试时长小于第一电子设备的工作时长与第二电子设备的剩余工作时长之和的部件,进而将该部件对应的测试用例给到第一电子设备和第二电子设备执行。
假设,给到第一电子设备和第二电子设备执行的部件为软体功能2对应的测试用例,则第一电子设备和第二电子设备中的一个电子设备单线程对软体功能2执行第1个测试用例、另一个电子设备多线程同时对软体功能2执行第2个和第3个测试用例,这就要求单线程执行软体功能2执行第1个测试用例的第一电子设备的工作时长/第二电子设备的剩余时长大于等于t4、多线程同时对软体功能2执行第2个和第3个测试用例的第一电子设备的工作时长/第二电子设备的剩余时长大于等于max(t5,t6)。
综上,本申请实施例中可以实现多线程测试任务的识别分配,一方面可以实现同一部件在不同测试设备上并行执行测试,另一方面还可以实现同一测试设备对不同测试用例的并行测试,并且考虑测试设备的工作时长、测试设备的任务量、设备状态等信息实现测试任务量的负载均衡及完整性,降低测试对人力的依赖、提升测试效率,从而解决现阶段测试设备的测试任务分配不均匀(尤其是夜晚无人值守的自动化测试)、设备利用率低的问题。
参见图4,图4为本申请实施例提供系统测试的场景示意图,包括:
1)自动化测试用例库(即上述测试用例库):包含测试用例及其对应的标签,标签可以包括线程标签;
2)测试部署:包括测试机(即上述测试设备)信息抓取,与项目数据库进行信息匹配,生成测试机对应的测试方案(即测试清单),通过匹配测试机来确定是否为即将测试的测试对象,在确定之后将测试清单中的测试用例给到测试机执行,校验测试结果,并在测试失败时进行回归测试;
3)项目数据库:一方面存储有项目信息中的原始信息,另一方面对项目信息中的原始信息进行实时数据清洗得到目标信息,其中,原始信息包括诸如软体功能清单等项目软件信息、诸如硬件部件清单等项目硬件信息、以及硬件搭配规则说明书、主板规格书等项目其他信息,目标信息中测试清单中各部件均具有标签(即上述属性标签)、且该目标信息还包括诸如驱动变更信息、Bios变更信息、固件变更信息等项目变更信息、以及库存信息;
4)负载均衡:一方面计算测试机的测试工时(即上述工作时长),另一方面进行测试用例线程识别和分配,再一方面平衡测试机之间的任务量,又一方面动态监测测试机状态(即设备状态,比如上线、下线或者离线);
5)日志:一方面存储测试机的测试结果,另一方面存储测试产生的其他日志。
与上述处理方法对应的,本申请实施例还公开一种处理装置,如图5所示,该处理装置包括:
获得模块101,用于在第一电子设备接入目标系统后,获得第一电子设备的第一部件信息;
确定模块102,用于至少基于第一部件信息确定对应的任务清单,任务清单中至少不包括已执行过对应任务的部件;
执行模块103,用于按照任务清单确定对应的处理任务给第一电子设备执行。
在本申请实施例公开的处理装置的另一实施例中,确定模块102至少基于第一部件信息确定对应的任务清单,包括:
基于第一部件信息从目标任务库中确定第一电子设备的各部件的任务,过滤已执行过的任务,得到任务清单;或,
获得第一电子设备所属项目的项目信息,基于项目信息和第一部件信息从目标任务库中确定对应的任务,过滤已执行过的任务,得到任务清单;或,
获得目标系统的日志信息,基于日志信息和第一部件信息确定对应的任务,得到任务清单。
在本申请实施例公开的处理装置的另一实施例中,确定模块102至少基于第一部件信息确定对应的任务清单,包括:
获得第二电子设备的第二部件信息,第二电子设备是接入目标系统中的不同于第一电子设备的设备,第二电子设备与第一电子设备具有同一项目属性;
基于第一部件信息和第二部件信息确定对应的任务清单。
在本申请实施例公开的处理装置的另一实施例中,执行模块103还用于:
获得目标任务库中的任务变化信息、接入目标系统的电子设备的设备状态信息、或、接入目标系统的项目库的项目变更信息中的至少一个,基于任务变化信息、设备状态信息、或项目变更信息中的至少一个更新任务清单。
在本申请实施例公开的处理装置的另一实施例中,执行模块103按照任务清单确定对应的处理任务给第一电子设备执行,包括:
获得第一电子设备的工作时长,至少基于工作时长从任务清单中确定第一处理任务给第一电子设备执行;或,
确定与第一电子设备具有关联关系的第二电子设备,从任务清单中确定第二处理任务给第一电子设备和第二电子设备共同执行,其中,第二处理任务为第二电子设备正在执行的任务或待执行的任务,第二电子设备为接入目标系统中的不同于第一电子设备的设备;或,
获得目标指令信息,至少基于目标指令信息从任务清单中确定第三处理任务给第一电子设备执行,目标指令信息包括输入至目标系统的指令信息或由目标系统基于任务进程生成的指令信息。
在本申请实施例公开的处理装置的另一实施例中,执行模块103至少基于工作时长从任务清单中确定第一处理任务给第一电子设备执行,包括:
获得任务清单中各项任务所需的时长信息,将与工作时长匹配的至少一项任务确定为第一处理任务,将第一处理任务给到第一电子设备执行;或,
获得第二电子设备的剩余工作时长,将任务清单中与工作时长和剩余工作时长匹配的至少一项任务确定为第一处理任务,将第一处理任务给到第一电子设备和第二电子设备执行,第一电子设备和第二电子设备并行或串行执行第一处理任务。
在本申请实施例公开的处理装置的另一实施例中,执行模块103确定与第一电子设备具有关联关系的第二电子设备,包括:
确定第一电子设备的第一目标部件信息,第一目标部件信息不包括已执行过对应任务的部件信息,
如果第二电子设备的第二目标部件信息与第一目标部件信息之间的匹配度满足阈值,确定第二电子设备与第一电子设备具有关联关系,第二目标部件信息不包括已执行过相应任务的部件信息;或,
确定第二电子设备的工作状态,将处于目标工作状态的第二电子设备确定为与第一电子设备具有关联关系的设备。
在本申请实施例公开的处理装置的另一实施例中,执行模块103还用于:
获得接入目标系统的电子设备的设备状态信息,至少基于设备状态信息调整第一电子设备执行的处理任务、或调整第一电子设备和第二电子设备执行的处理任务。
在本申请实施例公开的处理装置的另一实施例中,执行模块103还用于:
输出日志信息,基于日志信息更新目标项目对应的任务清单。
需要说明的是,本申请实施例中各模块的细化功能可以参见上述处理方法实施例对应公开部分,在此不再赘述。
与上述处理方法对应的,本申请实施例还公开一种存储介质,该存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述处理方法。
以上对本申请所提供的一种处理方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种处理方法,包括:
在第一电子设备接入目标系统后,获得所述第一电子设备的第一部件信息;
至少基于所述第一部件信息确定对应的任务清单,所述任务清单中至少不包括已执行过对应任务的部件;
按照所述任务清单确定对应的处理任务给所述第一电子设备执行。
2.根据权利要求1所述的方法,所述至少基于所述第一部件信息确定对应的任务清单,包括:
基于所述第一部件信息从目标任务库中确定所述第一电子设备的各部件的任务,过滤已执行过的任务,得到所述任务清单;或,
获得所述第一电子设备所属项目的项目信息,基于所述项目信息和所述第一部件信息从目标任务库中确定对应的任务,过滤已执行过的任务,得到所述任务清单;或,
获得所述目标系统的日志信息,基于所述日志信息和所述第一部件信息确定对应的任务,得到所述任务清单。
3.根据权利要求1所述的方法,所述至少基于所述第一部件信息确定对应的任务清单,包括:
获得第二电子设备的第二部件信息,所述第二电子设备是接入所述目标系统中的不同于所述第一电子设备的设备,所述第二电子设备与所述第一电子设备具有同一项目属性;
基于所述第一部件信息和所述第二部件信息确定对应的任务清单。
4.根据权利要求1至3任一项所述的方法,还包括:
获得目标任务库中的任务变化信息、接入所述目标系统的电子设备的设备状态信息、或、接入所述目标系统的项目库的项目变更信息中的至少一个,基于所述任务变化信息、所述设备状态信息、或所述项目变更信息中的至少一个更新所述任务清单。
5.根据权利要求1所述的方法,所述按照所述任务清单确定对应的处理任务给所述第一电子设备执行,包括:
获得第一电子设备的工作时长,至少基于所述工作时长从所述任务清单中确定第一处理任务给所述第一电子设备执行;或,
确定与所述第一电子设备具有关联关系的第二电子设备,从所述任务清单中确定第二处理任务给所述第一电子设备和所述第二电子设备共同执行,其中,所述第二处理任务为所述第二电子设备正在执行的任务或待执行的任务,所述第二电子设备为接入所述目标系统中的不同于所述第一电子设备的设备;或,
获得目标指令信息,至少基于所述目标指令信息从所述任务清单中确定第三处理任务给所述第一电子设备执行,所述目标指令信息包括输入至所述目标系统的指令信息或由所述目标系统基于任务进程生成的指令信息。
6.根据权利要求5所述的方法,所述至少基于所述工作时长从所述任务清单中确定第一处理任务给所述第一电子设备执行,包括:
获得所述任务清单中各项任务所需的时长信息,将与所述工作时长匹配的至少一项任务确定为第一处理任务,将所述第一处理任务给到所述第一电子设备执行;或,
获得第二电子设备的剩余工作时长,将所述任务清单中与所述工作时长和所述剩余工作时长匹配的至少一项任务确定为第一处理任务,将所述第一处理任务给到所述第一电子设备和第二电子设备执行,所述第一电子设备和所述第二电子设备并行或串行执行所述第一处理任务。
7.根据权利要求5所述的方法,所述确定与所述第一电子设备具有关联关系的第二电子设备,包括:
确定第一电子设备的第一目标部件信息,所述第一目标部件信息不包括已执行过对应任务的部件信息,
如果所述第二电子设备的第二目标部件信息与所述第一目标部件信息之间的匹配度满足阈值,确定第二电子设备与所述第一电子设备具有关联关系,所述第二目标部件信息不包括已执行过相应任务的部件信息;或,
确定所述第二电子设备的工作状态,将处于目标工作状态的第二电子设备确定为与所述第一电子设备具有关联关系的设备。
8.根据权利要求5至7任一项所述的方法,还包括:
获得接入所述目标系统的电子设备的设备状态信息,至少基于所述设备状态信息调整所述第一电子设备执行的处理任务、或调整所述第一电子设备和第二电子设备执行的处理任务。
9.根据权利要求8所述的方法,还包括:
输出日志信息,基于所述日志信息更新目标项目对应的任务清单。
10.一种处理装置,所述装置包括:
获得模块,用于在第一电子设备接入目标系统后,获得所述第一电子设备的第一部件信息;
确定模块,用于至少基于所述第一部件信息确定对应的任务清单,所述任务清单中至少不包括已执行过对应任务的部件;
执行模块,用于按照所述任务清单确定对应的处理任务给所述第一电子设备执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679139.XA CN114356571A (zh) | 2021-12-31 | 2021-12-31 | 一种处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111679139.XA CN114356571A (zh) | 2021-12-31 | 2021-12-31 | 一种处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356571A true CN114356571A (zh) | 2022-04-15 |
Family
ID=81105019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111679139.XA Pending CN114356571A (zh) | 2021-12-31 | 2021-12-31 | 一种处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356571A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221041A (zh) * | 2022-06-09 | 2022-10-21 | 广州汽车集团股份有限公司 | 多设备的测试方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111679139.XA patent/CN114356571A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221041A (zh) * | 2022-06-09 | 2022-10-21 | 广州汽车集团股份有限公司 | 多设备的测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6447120B2 (ja) | ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体 | |
US7979864B2 (en) | Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority | |
US8495430B2 (en) | Generate diagnostic data for overdue thread in a data processing system | |
CN111539598B (zh) | 测试任务分配方法、装置及存储介质 | |
Rosa et al. | Predicting and mitigating jobs failures in big data clusters | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN110427258A (zh) | 基于云平台的资源调度控制方法及装置 | |
US9904470B2 (en) | Tracking ownership of memory in a data processing system through use of a memory monitor | |
CN114356571A (zh) | 一种处理方法及装置 | |
CN110569154A (zh) | 一种芯片接口功能测试方法、系统、终端及存储介质 | |
CN108055161B (zh) | 一种组网优化方法及装置 | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
US20220058113A1 (en) | Test environment determination device and test environment determination method | |
JP7319196B2 (ja) | 車両スケジューリングのために車両相互依存性を解決するためのコンピュータ化されたシステムおよび方法 | |
US10585620B2 (en) | Storage monitoring system for monitoring components in a storage system in a distributed manner | |
US10255128B2 (en) | Root cause candidate determination in multiple process systems | |
US9697049B2 (en) | Job scheduling apparatus and method based on island execution time | |
CN113760176A (zh) | 数据存储方法和装置 | |
CN115022173A (zh) | 一种服务扩容的方法、装置、设备及存储介质 | |
CN117217165B (zh) | 一种芯片设计前端质量行为的执行方法、装置及设备 | |
WO2023221004A1 (zh) | 测试数据处理方法、装置、电子设备及存储介质 | |
CN117369970A (zh) | 时间片调整方法、装置、设备和存储介质 | |
CN115114023A (zh) | 线程池的线程分配方法、系统、终端及存储介质 | |
CN117349009A (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 |