测试组件的调度方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:18783494 阅读:33 留言:0更新日期:2018-08-29 06:51
本申请提供一种测试组件的调度方法、装置、设备和计算机可读存储介质,其中该方法包括:获取符合同一协议标准的至少两个测试组件,其中,至少两个测试组件中的每一个测试组件表征了一个测试用例;将至少两个测试组件,调度到并行的线程中,以使至少两个测试组件以并行方式进行运行。通过将获取到的各个测试组件,调度到并行的线程中,从而可以解决现有技术中串行调度方案会使得测试的运行时间长的问题,进而可以合理的分配线程资源,测试组件以并行方式进行运行去对程序进行测试,降低了等待测试结果的时间,提高了测试效率。

【技术实现步骤摘要】
测试组件的调度方法、装置、设备和计算机可读存储介质
本申请涉及计算机技术,尤其涉及一种测试组件的调度方法、装置、设备和计算机可读存储介质。
技术介绍
在将开发的程序应用到设备中的时候,需要对程序进行测试。例如,在车对外界(VehicletoEverything,简称V2X)的信息交换系统中,提供了V2X通信协议标准,所有硬件以及软件的厂商所提供的程序,需要符合V2X通信协议标准的规定,从而在将程序应用到车辆中的时候,首先需要对程序是否符合V2X通信协议标准进行测试。现有技术中,在对程序进行测试的时候,提供了多个测试组件,每一个测试组件代表了一个测试用例,然后采用多个测试组件依次对程序进行测试,等待测试结果的时间较长,测试效率较低。
技术实现思路
本申请提供一种测试组件的调度方法、装置、设备和计算机可读存储介质,用以解决等待测试结果的时间较长,测试效率较低的问题。第一方面,本申请提供一种测试组件的调度方法,包括:获取符合同一协议标准的至少两个测试组件,其中,所述至少两个测试组件中的每一个测试组件表征了一个测试用例;将所述至少两个测试组件,调度到并行的线程中,以使所述至少两个测试组件以并行方式进行运行。进一步地,所述至少两个测试组件包括至少两个第一测试组件,或者所述至少两个测试组件包括至少两个第二测试组件,或者所述至少两个测试组件包括至少一个第一测试组件和至少两个第二测试组件;所述至少两个测试组件中的所述第一测试组件为与其他测试组件之间没有执行次序关系的测试组件,所述第二测试组件为与至少一个其他第二测试组件之间具有执行次序关系的测试组件;相应的,将所述至少两个测试组件,调度到并行的线程中,包括:若所述至少两个测试组件中存在第一测试组件,则将所有第一测试组件,调度到至少一个第一线程中,各所述第一线程之间为并行的;若所述至少两个测试组件中存在第二测试组件,则将所有第二测试组件,调度到至少一个第二线程中,各所述第二线程之间为并行的,其中,每一个所述第一线程与每一个所述第二线程之间为并行的。进一步地,将所有第一测试组件,调度到至少一个第一线程中,包括:根据所有第一测试组件中的每一个第一测试组件的执行时间的降序或升序,将所有第一测试组件依次分配给最先空闲下来的第一线程,得到多个并行的第一线程。进一步地,将所有第二测试组件,调度到至少一个第二线程中,包括:根据所有第二测试组件、以及各第二测试组件之间的执行次序关系,生成第二测试组件的AOE网络,其中,所述AOE网络中包括一个预设的开始节点、一个预设的结束节点以及至少一条路径,每一条所述路径位于所述开始节点与所述结束节点之间,每一条所述路径上包括m个具有执行次序关系的第二测试组件,所述AOE网络中的每一个第二测试组件具有执行时间,m为正整数;根据所述AOE网络中的所有第二测试组件的执行时间,计算所述AOE网络中的每一个第二测试组件的最早开始时间、以及最晚开始时间;确定最早开始时间等于最晚开始时间的第二测试组件为关键节点,并确定最早开始时间不等于最晚开始时间的第二测试组件为非关键节点;根据所述关键节点之间的执行次序关系,将所述关键节点调度到一个第二线程中,并将所述非关键节点分配给最先空闲下来的其他第二线程中,其中,不同的第二线程上的非关键节点之间没有执行次序关系,对于彼此之间具有执行次序关系的所述非关键节点,按照其执行次序关系进行调度,且对于与所述关键节点之间具有执行次序关系的所述非关键节点,在所述非关键节点所依赖的关键节点被调度完毕之后进行调度。进一步地,根据所述AOE网络中的所有第二测试组件的执行时间,计算所述AOE网络中的每一个第二测试组件的最早开始时间,包括:确定从所述开始节点到每一个第二测试组件的所有的第一路径,并确定该第二测试组件的所有的第一路径中的最长第一路径,其中,所述最长第一路径为路径上所有的第二测试组件的执行时间之和最大的第一路径;确定所述最长第一路径上所有的第二测试组件的执行时间、与所述开始节点的执行时间之和,为该第二测试组件的最早开始时间。进一步地,根据所述AOE网络中的所有第二测试组件的执行时间,计算所述AOE网络中的每一个第二测试组件的最晚开始时间,包括:确定将从所述开始节点到所述结束节点之间具有最大路径长度的路径为最大路径,其中,最大路径长度的路径为路径上各第二测试组件的执行时间之和最大的路径,并计算所述最大路径的执行时间,所述最大路径的执行时间为所述开始节点的执行时间、与所述最大路径上所有的第二测试组件的执行时间的总和;确定从每一个第二测试组件到所述结束节点的所有的第二路径,并确定该第二测试组件的所有的第二路径中的最长第二路径,其中,所述最长第二路径为路径上所有的第二测试组件的执行时间之和最大的第二路径;将所述最大路径的执行时间减去所述最长第二路径上所有的第二测试组件的执行之间之和,得到该第二测试组件的最晚开始时间。进一步地,所述每一个测试组件中包括至少一个原子操作,每一个所述原子操作表征了一个测试用例中的一个执行步骤,所述每一个测试组件中的各原子操作之间具有次序关系。进一步地,所述获取符合同一协议标准的至少两个测试组件,包括:获取原子操作集,其中,所述原子操作集中包括至少两个原子操作;根据预设的执行需求信息,从原子操作集中获取至少两个原子操作,其中,所述执行需求信息表征待生成的测试组件的执行步骤的需求信息;根据获取到的至少两个原子操作、以及各原子操作之间具有次序关系,生成所述至少两个测试组件。进一步地,所述获取原子操作集,包括:获取至少一个待处理的测试组件,其中,所述至少一个待处理的测试组件中的每一个所述待处理的测试组件包括了至少一个执行步骤;根据每一个所述待处理的测试组件中的各执行步骤,对所述至少一个待处理的测试组件进行拆分处理,得到所述原子操作集。进一步地,每一个所述原子操作中包括了入参信息、原子操作的执行时间、以及输出值,其中,所述输出值表征了原子操作是否执行成功。进一步地,每一个所述测试组件的执行时间为该测试组件中的所有原子操作的执行时间之和。第二方面,本申请提供一种测试组件的调度装置,包括:获取单元,用于获取符合同一协议标准的至少两个测试组件,其中,所述至少两个测试组件中的每一个测试组件表征了一个测试用例;调度单元,用于将所述至少两个测试组件,调度到并行的线程中,以使所述至少两个测试组件以并行方式进行运行。进一步地,所述至少两个测试组件包括至少两个第一测试组件,或者所述至少两个测试组件包括至少两个第二测试组件,或者所述至少两个测试组件包括至少一个第一测试组件和至少两个第二测试组件;所述至少两个测试组件中的所述第一测试组件为与其他测试组件之间没有执行次序关系的测试组件,所述第二测试组件为与至少一个其他第二测试组件之间具有执行次序关系的测试组件;相应的,所述调度单元,包括:第一调度模块,用于若所述至少两个测试组件中存在第一测试组件,则将所有第一测试组件,调度到至少一个第一线程中,各所述第一线程之间为并行的;第二调度模块,用于若所述至少两个测试组件中存在第二测试组件,则将所有第二测试组件,调度到至少一个第二线程中,各所述第二线程之间为并行的,其中,每一个所述第一线程与每一个所述第二线程之间为并行的。进一步地,所述第一调度模块本文档来自技高网...

【技术保护点】
1.一种测试组件的调度方法,其特征在于,包括:获取符合同一协议标准的至少两个测试组件,其中,所述至少两个测试组件中的每一个测试组件表征了一个测试用例;将所述至少两个测试组件,调度到并行的线程中,以使所述至少两个测试组件以并行方式进行运行。

【技术特征摘要】
1.一种测试组件的调度方法,其特征在于,包括:获取符合同一协议标准的至少两个测试组件,其中,所述至少两个测试组件中的每一个测试组件表征了一个测试用例;将所述至少两个测试组件,调度到并行的线程中,以使所述至少两个测试组件以并行方式进行运行。2.根据权利要求1所述的方法,其特征在于,所述至少两个测试组件包括至少两个第一测试组件,或者所述至少两个测试组件包括至少两个第二测试组件,或者所述至少两个测试组件包括至少一个第一测试组件和至少两个第二测试组件;所述至少两个测试组件中的所述第一测试组件为与其他测试组件之间没有执行次序关系的测试组件,所述第二测试组件为与至少一个其他第二测试组件之间具有执行次序关系的测试组件;相应的,将所述至少两个测试组件,调度到并行的线程中,包括:若所述至少两个测试组件中存在第一测试组件,则将所有第一测试组件,调度到至少一个第一线程中,各所述第一线程之间为并行的;若所述至少两个测试组件中存在第二测试组件,则将所有第二测试组件,调度到至少一个第二线程中,各所述第二线程之间为并行的,其中,每一个所述第一线程与每一个所述第二线程之间为并行的。3.根据权利要求2所述的方法,其特征在于,将所有第一测试组件,调度到至少一个第一线程中,包括:根据所有第一测试组件中的每一个第一测试组件的执行时间的降序或升序,将所有第一测试组件依次分配给最先空闲下来的第一线程,得到多个并行的第一线程。4.根据权利要求2所述的方法,其特征在于,将所有第二测试组件,调度到至少一个第二线程中,包括:根据所有第二测试组件、以及各第二测试组件之间的执行次序关系,生成第二测试组件的AOE网络,其中,所述AOE网络中包括一个预设的开始节点、一个预设的结束节点以及至少一条路径,每一条所述路径位于所述开始节点与所述结束节点之间,每一条所述路径上包括m个具有执行次序关系的第二测试组件,所述AOE网络中的每一个第二测试组件具有执行时间,m为正整数;根据所述AOE网络中的所有第二测试组件的执行时间,计算所述AOE网络中的每一个第二测试组件的最早开始时间、以及最晚开始时间;确定最早开始时间等于最晚开始时间的第二测试组件为关键节点,并确定最早开始时间不等于最晚开始时间的第二测试组件为非关键节点;根据所述关键节点之间的执行次序关系,将所述关键节点调度到一个第二线程中,并将所述非关键节点分配给最先空闲下来的其他第二线程中,其中,不同的第二线程上的非关键节点之间没有执行次序关系,对于彼此之间具有执行次序关系的所述非关键节点,按照其执行次序关系进行调度,且对于与所述关键节点之间具有执行次序关系的所述非关键节点,在所述非关键节点所依赖的关键节点被调度完毕之后进行调度。5.一种测试组件的调度装置,其特征在于,包括:获取单元,用于获取符合同一协议标准的至少两个测试组件,其中,所述至少两个测试组件中的每一个测试组件表征了一个测试用例;调度单元,用于...

【专利技术属性】
技术研发人员:张珠华
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1