测试方法及装置、测试系统、电子设备与流程

文档序号:29128131发布日期:2022-03-05 00:43阅读:57来源:国知局
测试方法及装置、测试系统、电子设备与流程

1.本技术涉及集成电路技术领域,具体涉及一种测试方法及装置、测试系统、电子设备。


背景技术:

2.eda(electronics designautomation,电子设计自动化)软件集成了设计电路、编译电路、调试电路、分析电路等功能,在半导体技术领域,开发、加工、制造和生成过程中,技术人员使用该eda软件进行测试,比如测试存储器、逻辑和其他ic器件是否正常。由此,在eda软件的使用过程中,导致输入到eda软件的数据类型复杂,且数据量巨大,且为了实现测试目标,需要配置的功能繁多,进一步导致每次对设计的修改就需要大量的测试来验证设计的正确性,由此导致需要耗费大量的人力和时间进行测试相关的手工配置。


技术实现要素:

3.本技术实施例提供一种测试方法及装置、测试系统、电子设备,用以克服或者缓解现有技术中存在的上述技术问题。
4.本技术采用的技术方案为:
5.一种测试方法,其包括:
6.获取可识别的测试job,每个测试job封装有多个测试用例;
7.确定运行所述测试job的测试服务器的实时负载;
8.根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
9.根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
10.可选地,一实施例中,所述获取可识别的测试job具体为:获取被lsf可识别的测试job,所述测试job中按照列表封装有多个测试用例。
11.可选地,一实施例中,所述测试job包括测试job描述文件,所述测试job描述文件包括测试用例列表,所述测试列表以测试用例为单位记录有测试用例的id、测试用例的存储路径、测试用例的依赖关系中至少一种。
12.可选地,一实施例中,所述根据所述实时负载,生成测试策略配置,包括:根据所述实时负载,生成对运行失败的测试用例进行回归测试的测试配置策略;
13.所述根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job,包括:根据所述测试策略配置,针对运行失败的测试用例生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的运行失败的测试用例。
14.可选地,一实施例中,所述测试配置策略包括测试策略配置表,所述测试策略配置表,用于记录参与每次回归测试的测试用例。
15.可选地,一实施例中,所述根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job之后,包括:
16.获取针对所述测试job的测试结果,并对所有测试job的测试结果进行统计生成测试报告。
17.一种测试方法,其包括:
18.上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
19.根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
20.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
21.可选地,一实施例中,所述测试job为可被lsf可识别的测试job,所述测试job中按照列表封装有多个测试用例。
22.可选地,一实施例中,所述测试job包括测试job描述文件,所述测试job描述文件包括测试用例列表,所述测试列表以测试用例为单位记录有测试用例的id、测试用例的存储路径、测试用例的依赖关系中至少一种。
23.一种测试装置,其包括:
24.job获取单元,用于获取可识别的测试job,每个测试job封装有多个测试用例;
25.负载确定单元,用于确定运行所述测试job的测试服务器的实时负载;
26.策略配置单元,用于根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
27.调度单元,用于根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
28.一种测试装置,其包括:
29.上报单元,用于上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
30.运行单元,用于根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
31.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
32.一种测试系统,其包括调度服务器和测试服务器,其中:
33.所述调度服务器用于:
34.获取可识别的测试job,每个测试job封装有多个测试用例;
35.确定运行所述测试job的测试服务器的实时负载;
36.根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
37.根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
38.所述测试服务器用于:
39.上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
40.根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
41.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
42.一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本技术实施例任一所述方法。
43.本技术实施例的技术方案中,获取可识别的测试job,每个测试job封装有多个测试用例;确定运行所述测试job的测试服务器的实时负载;根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job,从而可以基于测试job为单位实现整个测试过程,避免了由于致输入到eda软件的数据类型复杂,且数据量巨大,导致的配置繁多,无须耗费大量的人力和时间进行测试相关的手工配置。
附图说明
44.图1是本技术实施例提供一种测试系统的结构示意图;
45.图2为本技术实施例一种测试方法的流程示意图;
46.图3为本技术实施例一种测试方法的流程示意图;
47.图4为本技术实施例一种测试装置的结构示意图;
48.图5为本技术实施例一种测试装置的结构示意图;
49.图6为本技术实施例一种电子设备的结构示意图;
50.图7为本技术实施例一种电子设备的具体硬件结构示意图。
具体实施方式
51.为使本技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
52.本技术实施例的技术方案中,获取可识别的测试job,每个测试job封装有多个测试用例;确定运行所述测试job的测试服务器的实时负载;根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job,从而可以基于测试job为单位实现整个测试过程,避免了由于致输入到eda软件的数据类型复杂,且数据量巨大,导致的配置繁多,无须耗费大量的人力和时间进行测试相关的手工配置。
53.本技术下述实施例的方法,比如应用于eda测试,当然,下述实施例的方法,不局限于eda测试,也可以应用于其他测试的场景。eda测试的目标对象来自于被测ic产品。
54.图1是本技术实施例提供一种测试系统的结构示意图;如1所示,测试系统包括f101和测试服务器102,调度服务器101和测试服务器102之间可以通过通信网络连接或者其他直连方式连接,其中:
55.所述调度服务器用于:获取可识别的测试job,每个测试job封装有多个测试用例;确定运行所述测试job的测试服务器的实时负载;根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;以及根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
56.所述测试服务器用于:上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;以及根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
57.图2为本技术实施例一种测试方法的流程示意图;如图2所示,以调度服务器为执行主体进行描述,示例性地所述测试方法包括:
58.s201、获取可识别的测试job,每个测试job封装有多个测试用例;
59.示例性地,本实施例中,所述获取可识别的测试job具体为:获取被lsf可识别的测试job,所述测试job中按照列表封装有多个测试用例。
60.具体地,lsf(loading sharing facility),中文释义为工作负载管理方案,由于该lsf提供了申请工单、测试、试运行、报告、审批执行、执行等保障流程并关联流程和系统配置,可以有效地实现对输入到eda软件的数据的管理。
61.具体地,本实施例中,一个测试用例对应一个lsfjob,从而测试用例的管理。
62.示例性地,本实施例中,所述测试job可以由调度服务器进行封装并保存在测试服务器上。当然,在其他一实施例中,也可以在测试服务器上进行测试job的封装。
63.示例性地,所述调度服务器与所述测试服务器之间具有通讯通道,基于该通讯通道,获取到可识别的测试job。
64.示例性地,本实施例中,所述测试job包括测试job描述文件,所述测试job描述文件包括测试用例列表,所述测试列表以测试用例为单位记录有测试用例的id、测试用例的存储路径、测试用例的依赖关系中至少一种。
65.为此,考虑到给调度服务器节省资源,调度服务器只获取到测试job的描述文件即可,而测试job包括的测试用例则保留在测试服务器本地。
66.s202、确定运行所述测试job的测试服务器的实时负载;
67.示例性地,本实施例中,所述实时负载具体由测试服务器进行计算,再由测试服务器上报给调度服务器即可。或者,在其他实施例中,也可以由调度服务器对测试服务器进行实时监控,以确定所述实时负载。
68.示例性地,考虑到在一些应用场景中,可能设置有测试服务器,该若干个测试服务器构成一测试服务器集群,为此,在该测试服务器集群中设置有管理服务器,由该管理服务器确定该测试服务器集群中得各个测试服服务器的实时负载,并上报给测试服务器。
69.示例性地,考虑到在一些其他应用场景中,可能设置多个调度服务器,多个eda软件进行产品的自动化设计(包括测试过程),为此,可以对eda软件进行分组,每组eda软件配置一个调度服务器和若干测试服务器。
70.s203、根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
71.示例性地,本实施例中,所述根据所述实时负载,生成测试策略配置,包括:根据所述实时负载,生成对运行失败的测试用例进行回归测试的测试配置策略。
72.本实施例中,考虑到eda软件的测试,由于在利用eda软件进行ic产品设计时,会涉及到众多设计环节,因此,进一步又需要数量众多的测试用例进行测试。而测试用例的运行,又受到各种因素的影响,导致会存在测试用例运行失败的情形,如果由人为去进行监控是否失败,则会导致大量的人力消耗,进一步导致超高的时间成本,而且人为去监控,还会存在主观性失误,导致监控不到位或者监控错误。
73.为此,本实施例中,通过步骤s203,生成测试策略配置,建立测试服务器和测试job之间的对应关系,从而可以对测试用例的运行进行监控。
74.示例性地,本实施例中,所述测试配置策略包括测试策略配置表,所述测试策略配置表,用于记录参与每次回归测试的测试用例。
75.示例性地,根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job,包括:根据所述测试策略配置,针对运行失败的测试用例生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的运行失败的测试用例。
76.据此,测试过程中,可以有效应对受到服务器负载、网络以及其他相应工具软件性能等因素的影响,对运行失败的测试用例进行回归测试,保证了测试用例的执行结果的准确性和稳定性,提高了测试结果的质量。
77.s204、根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
78.具体地,在一应用场景中,比如回归测试的次数比如设置为三轮,为此,建立三张回归测试的测试列表,分别记为t1、t2、t3,当然测试用例是以测试job单位在测试列表中进行管理的。在首次运行本技术实施例方案时,测试列表t1中记录全量的测试用例,当首次出现运行失败的测试用例,则将该测试用例记录在测试列表t2中,依次类推,第二次出现运行失败的测试用例记录在测试列表t3中。为了测试列表中以测试job为单位进行管理,在封装测试用例形成测试job时,为不同的测试job分配不同的job id,因此,在回归测试时,测试列表中通过job id对测试job进行管理,即在回归测试时,测试用例是按照类似于缩量模式进行管理,从而提高了测试用例的管理效率,尤其针对运行失败的测试用例进行管理,以使得运行失败的测试用例再次进行运行。在此应用场景中,如果针对一个测试用例,经过三次测试之后,可判定该测试用例执行失败,进一步比如由人工确定该测试用例执行失败的原因。
79.此处,以三次回归测试为例进行示例性说明,当然在其他应用场景,回归测试的次数也可以更多,或者少于三次。
80.上述步骤s204中,在进行调度时,将运行失败的测试用例调度到失败情形时对应的测试服务器上进行再次运行,当然,在其他实施例中,也可以调度其他测试服务器上进行运行,以确定是否是由于测试服务器导致测试用例运行失败的可能。
81.进一步地,在上述图1实施例的基础上,所述根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job之后,包括:获取针对所述测试job的测试结果,并对所有测试job的测试结果进行
统计生成测试报告。
82.具体地,测试结果可以从测试日志中获取;测试报告可以以测试job为单位进行统计生成。
83.具体地,在一应用场景中,上述整个测试过程,可以基于脚本来实现控制,在该脚本中,将上述各个步骤封装成可单独调用的库文件或者函数,从而通过库或者函数之间的调用,实现自动化执行过程。
84.图3为本技术实施例一种测试方法的流程示意图;如图3所示,本实施例中,以测试服务器为执行主体进行说明,示例性地所述测试方法包括:
85.s301、上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
86.s302、根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
87.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
88.示例性地本实施例中,所述测试job为可被lsf可识别的测试job,所述测试job中按照列表封装有多个测试用例。
89.示例性地本实施例中,所述测试job可包括测试job描述文件,所述测试job描述文件包括测试用例列表,所述测试列表以测试用例为单位记录有测试用例的id、测试用例的存储路径、测试用例的依赖关系中至少一种。
90.图4为本技术实施例一种测试装置的结构示意图;如图4所示,其包括:
91.job获取单元401,用于获取可识别的测试job,每个测试job封装有多个测试用例;
92.负载确定单元402,用于确定运行所述测试job的测试服务器的实时负载;
93.策略配置单元403,用于根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
94.调度单元404,用于根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
95.可选地,一实施例中,所述job获取单元具体用于:获取被lsf可识别的测试job,所述测试job中按照列表封装有多个测试用例。
96.可选地,一实施例中,所述测试job包括测试job描述文件,所述测试job描述文件包括测试用例列表,所述测试列表以测试用例为单位记录有测试用例的id、测试用例的存储路径、测试用例的依赖关系中至少一种。
97.可选地,一实施例中,所述策略配置单元具体用于:根据所述实时负载,生成对运行失败的测试用例进行回归测试的测试配置策略;
98.所述根调度单元具体用于:根据所述测试策略配置,针对运行失败的测试用例生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的运行失败的测试用例。
99.可选地,一实施例中,所述测试配置策略包括测试策略配置表,所述测试策略配置表,用于记录参与每次回归测试的测试用例。
100.可选地,一实施例中,所述装置还包括:报告生成单元,用于在根据所述测试策略
配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job之后,获取针对所述测试job的测试结果,并对所有测试job的测试结果进行统计生成测试报告。
101.图5为本技术实施例一种测试装置的结构示意图;如图5所示,其包括:
102.上报单元501,用于上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
103.运行单元502,用于根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
104.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。
105.图6为本技术实施例一种电子设备的结构示意图;如图6所示,所述电子设备包括存储器601以及处理器602,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本技术实施例任一所述方法。
106.图7为本技术实施例一种电子设备的具体硬件结构示意图;如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(communications interface)704、存储器(memory)706、以及通信总线708。
107.其中:
108.处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
109.通信接口704,用于与其它电子设备或服务器进行通信。
110.处理器702,用于执行程序510,具体可以执行上述校验码生成方法实施例中的相关步骤。
111.具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
112.处理器702可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
113.存储器706,用于存放程序510。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
114.程序510具体可以用于使得处理器702执行以下操作:
115.获取可识别的测试job,每个测试job封装有多个测试用例;
116.确定运行所述测试job的测试服务器的实时负载;
117.根据所述实时负载,生成测试策略配置,所述测试策略配置至少包括:所述测试服务器和其能运行的测试job之间的对应关系;
118.根据所述测试策略配置,生成所述测试job的调度策略,以在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job。
119.或者:
120.上报运行测试job的测试服务器的实时负载,每个测试job封装有多个测试用例;
121.根据测试job的调度策略,在所述测试服务器上运行与该测试服务器具有所述对应关系的所述测试job;
122.其中,所述对应关系包括在根据所述实时负载生成的测试策略配置中,所述测试job的调度策略根据所述测试策略配置生成。程序510中各步骤的具体实现可以参见方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
123.本技术还提供一种计算机存储介质,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本技术实施例任一所述方法。
124.以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1