电子自动化设计软件的命令测试方法、装置、设备及介质与流程
未命名
10-26
阅读:45
评论:0
1.本技术涉及信息处理技术领域,尤其是涉及电子自动化设计软件的命令测试方法、装置、设备及介质。
背景技术:
2.数字芯片设计从门级网表到版图实现的工作都是由数字后端自动布局布线工具所完成。随着芯片的集成度不断提升,工艺制程从 90nm 到现在的 3nm,数字后端工具也面临愈加复杂严峻的挑战。为了满足晶圆代工厂的工艺要求,数字后端工具的功能也越来越复杂,使 得命令的选项也更加繁杂。因此,产品验证工程师找到一个完善的测试方案将命令的所有功 能进行穷举测试,对于保证数字后端工具的功能正确实现是较为关键的一环。
3.现阶段,在数字后端工具的测试中关键的就是对命令的所有功能进行覆盖性测试。但产品验证工程师几乎不会接触代码的实现过程,对工具的内部实现逻辑更无从了解,很难实现对命令的所有功能进行穷举测试。同时,由于不同的产品验证工程师对数字后端工具的命令的理解不懂,对命令的选项组合不同,导致所列举的测试用例也不尽相同,难以保证命令的测试质量。所以如何提高命令的测试效率以及准确性成为了不容小觑的技术问题。
技术实现要素:
4.有鉴于此,本技术的目的在于提供电子自动化设计软件的命令测试方法、装置、设备及介质,通过设置不同的组合条件设置以及约束设置来描述命令选项的逻辑关系,实现对命令选项有效组合和非法组合的遍历,提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。
5.本技术实施例提供了一种电子自动化设计软件的命令测试方法,所述命令测试方法包括:获取电子自动化设计软件的待测试命令的yaml代码信息;对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。
6.在一种可能的实施方式之中,所述基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:检测任意两个所述分区之间是否存在层级关系;
若否,则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;若是,则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例。
7.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第一逻辑关系,则将该分区下所述命令选项共同构成的测试用例确定为所述正向测试用例,将除由所述命令选项共同构成测试用例之外的由至少一个所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第一逻辑关系为所述分区下的多个所述命令选项的组合条件之中需全部设置所述命令选项。
8.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第二逻辑关系,将该分区下的任意一个所述命令选项确定为所述正向测试用例,将该分区下的任意两个所述命令选项进行组合确定出所述反向测试用例;其中,所述第二逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置其中任意一个所述命令选项。
9.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第三逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例;其中,所述第三逻辑关系为分区下多个所述命令选项的组合条件之中设置0个或者多个所述命令选项。
10.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第四逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例,以及将未使用所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第四逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置至少一个所述命令选项。
11.在一种可能的实施方式之中,针对于第一分区为第一层级,第二分区为第二层级,所述则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例,包括:若所述第二分区的逻辑关系为第二逻辑关系且使用约束设置,则基于所述第二分区相对应的逻辑关系、第一分区相对应的逻辑关系、所述第二分区相对应的命令选项以及所述第一分区相对应的命令选项,确定出所述第一分区下每个所述命令选项的正向测试用例以及反向测试用例。
12.本技术实施例还提供了一种电子自动化设计软件的命令测试装置,所述命令测试
装置包括:获取模块,用于获取电子自动化设计软件的待测试命令的yaml代码信息;解析模块,用于对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;第一确定模块,用于基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;第二确定模块,用于分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。
13.本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的电子自动化设计软件的命令测试方法的步骤。
14.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的电子自动化设计软件的命令测试方法的步骤。
15.本技术实施例提供的电子自动化设计软件的命令测试方法、装置、设备及介质,所述命令测试方法包括:获取电子自动化设计软件的待测试命令的yaml代码信息;对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。通过设置不同的组合条件设置以及约束设置来描述命令选项的逻辑关系,实现对命令选项有效组合和非法组合的遍历,提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。
16.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
17.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1为本技术实施例所提供的一种电子自动化设计软件的命令测试方法的流程
图;图2为本技术实施例所提供的一种电子自动化设计软件的命令测试方法的测试用例示意图之一;图3为本技术实施例所提供的一种电子自动化设计软件的命令测试方法的测试用例示意图之二;图4为本技术实施例所提供的一种电子自动化设计软件的命令测试装置的结构示意图;图5为本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
19.使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中的附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
20.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本技术保护的范围。
21.为了使得本领域技术人员能够使用本技术内容,结合特定应用场景“对命令进行测试”,给出以下实施方式,对于本领域技术人员来说,在不脱离本技术的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。
22.首先,对本技术可适用的应用场景进行介绍。本技术可应用于信息处理技术领域。
23.现阶段,在数字后端工具的测试中最关键的就是对命令的所有功能进行覆盖性测试。但产品验证工程师几乎不会接触代码的实现过程,对工具的内部实现逻辑更无从了解,很难实现对命令的所有功能进行穷举测试。同时,由于不同的产品验证工程师对数字后端工具的命令的理解不懂,对命令的选项组合不同,导致所列举的测试用例也不尽相同,难以保证命令的测试质量。所以如何提高命令的测试效率以及准确性成为了不容小觑的技术问题。
24.经研究发现,现阶段,在数字后端工具的测试中关键的就是对命令的所有功能进行覆盖性测试。但产品验证工程师几乎不会接触代码的实现过程,对工具的内部实现逻辑更无从了解,很难实现对命令的所有功能进行穷举测试。同时,由于不同的产品验证工程师对数字后端工具的命令的理解不懂,对命令的选项组合不同,导致所列举的测试用例也不尽相同,难以保证命令的测试质量。所以如何提高命令的测试效率以及准确性成为了不容小觑的技术问题。
25.基于此,本技术实施例提供了电子自动化设计软件的命令测试方法,通过设置不
同的组合条件设置以及约束设置来描述命令选项的逻辑关系,实现对命令选项有效组合和非法组合的遍历,提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。
26.请参阅图1,图1为本技术实施例所提供的一种电子自动化设计软件的命令测试方法的流程图。如图1中所示,本技术实施例提供的命令测试方法,包括:s101:获取电子自动化设计软件的待测试命令的yaml代码信息。
27.该步骤中,获取电子自动化设计软件的待测试命令的yaml代码信息。这里,电子自动化设计软件为electronic design automation tools(eda)。
28.这里,待配置命令可为利用eda 芯片物理版图设计时所需的命令,如芯片项目数据查询指令等。
29.s102:对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系。
30.该步骤中,对待测试命令的yaml代码信息进行解析,确定出yaml代码信息之中待测试命令在实现不同功能下的多个分区,以及每个分区下的多个命令选项之间的逻辑关系。这里,在解析命令的yaml 逻辑结构时,设置了基于不同实现功能的 flag_x 的分区。命令选项之间的逻辑关系分别由不同的逻辑节点和标记节点组成。逻辑节点主要由四类组成分别是allof、oneof、anyof 以及someof,标记节点主要有两类分别是 required 和 require。在对命令进行测试的过程中我们需要根据 yaml 逻辑对命令选项进行组合测试。
31.其中,allof 逻辑节点表示所有的子节点(命令选项)如果需要,要全部设置。oneof 逻辑节点表示如果子节点需要设置,只能设其中一个。 anyof 逻辑节点表示可以设置 0 个或者多个子节点。someof逻辑节点表示如果子节点设了,那么至少一个子节点。required 标记节点:表示如果节点设了 required,则这个节点以及它的子节点一定要使用。require 标记节点:表示要使 require 节点下的子节点生效,需要满足 require的约束条件。其中,子节点为命令选项。
32.s103:基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置。
33.该步骤中,根据每个分区下多个命令选项之间的逻辑关系确定出每个分区下命令选项的正向测试用例以及反向测试用例。
34.其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置。
35.在一种可能的实施方式之中,所述基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:a:检测任意两个所述分区之间是否存在层级关系。
36.这里,检测任意两个分区之间是否存在层级关系。
37.这里,层级关系可以根据yaml的编写语言进行确定,如第一分区的代码与第二分区的代码在书写中存在段落缩进关系。
38.b:若否,则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例。
39.这里,若不存在,则直接根据每个分区下多个命令选项之间的逻辑关系确定出每个分区下命令选项的正向测试用例以及反向测试用例,无需考虑分区之间的层级关系。
40.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第一逻辑关系,则将该分区下所述命令选项共同构成的测试用例确定为所述正向测试用例,将除由所述命令选项共同构成测试用例之外的由至少一个所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第一逻辑关系为所述分区下的多个所述命令选项的组合条件之中需全部设置所述命令选项。
41.这里,若逻辑关系为第一逻辑关系,则将该分区下命令选项共同构成的测试用例确定为正向测试用例,将除由命令选项共同构成测试用例之外的由至少一个命令选项构成的测试用例确定为反向测试用例。
42.这里,第一逻辑关系对应着allof 逻辑节点表示所有的子节点(命令选项)如果需要则全部设置。
43.示例一,解析后的yaml代码信息为:cmd(xxx):flag_a: allof-optiona1: dbmodule {+}-optiona2:dbinst {+}-optiona3: boolean在具体实施例之中,针对于上述代码信息之中,flag_a的分区设置的逻辑节点为allof则对应的逻辑关系为第一逻辑关系,则正向测试用例为-optiona1、-optiona2以及-optiona3构成,反向测试用例则包括由optiona1构成的反向测试用例;由optiona2构成的反向测试用例;由optiona3构成的反向测试用例;由-optiona1以及-optiona2构成的反向测试用例,由-optiona1以及-optiona3构成的反向测试用例,以及由-optiona2以及-optiona3构成的反向测试用例。
44.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第二逻辑关系,将该分区下的任意一个所述命令选项确定为所述正向测试用例,将该分区下的任意两个所述命令选项进行组合确定出所述反向测试用例;其中,所述第二逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置其中任意一个所述命令选项。
45.这里,若该分区下的命令选项之间的逻辑关系为第二逻辑关系,则将该分区下的任意一个命令选项确定为正向测试用例,将该分区下的任意两个命令选项进行组合确定出所述反向测试用例。
46.这里,第二逻辑关系对应着oneof 逻辑节点表示如果命令选项需要设置只能设置多个命令选项中的其中一个。
47.示例二,解析后的yaml代码信息为:
cmd(xxx):flag_b: oneof-optionb1: point-optionb2: point-optionb3:point请参阅图2,图2为本技术实施例所提供的一种电子自动化设计软件的命令测试方法的测试用例示意图之一。如图2所示,针对于上述代码信息之中,flag_b的分区设置的逻辑节点为oneof则对应的逻辑关系为第二逻辑关系,则正向测试用例包括由-optionb1构成的正向测试用例、由-optionb2构成的正向测试用例以及由-optionb3构成的正向测试用例构成,反向测试用例则包括由-optionb1以及-optionb2构成的反向测试用例,由-optionb1以及-optionb3构成的反向测试用例,以及由-optionb2以及-optionb3构成的反向测试用例。
48.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第三逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例;其中,所述第三逻辑关系为分区下多个所述命令选项的组合条件之中设置0个或者多个所述命令选项。
49.这里,若逻辑关系为第三逻辑关系,则通过排列组合函数对命令选项之间进行任意组合确定出多个正向测试用例。其中,第三逻辑关系没有反向测试用例。
50.这里,第三逻辑关系对应着anyof 逻辑节点表示可以设置 0 个或者多个命令选项。由于第三逻辑关系anyof 逻辑节点,所以该第三逻辑节点没有反向测试用例。
51.这里使用逻辑节点 anyof标注,因此对它的命令选项可以随意组合,对于命令选项比较多的分区,可以借助 python 中的排列组合函数对选项进行组合操作,提高测试的效率和准确性。
52.示例三,解析后的yaml代码信息为:cmd(xxx):flag_c: anyof-optionc1:boolean-optionc2:boolean-optionc3:point在具体实施例之中,针对于上述代码信息之中,flag_c的分区设置的逻辑节点为anyof则对应的逻辑关系为第三逻辑关系,则正向测试用例包括由-optionc1构成的正向测试用例、由-optionc2构成的正向测试用例、由-optionc3构成的正向测试用例构成、由-optionc2以及-optionc1构成的正向测试用例、由-optionc2以及-optionc3构成的正向测试用例、由-optionc1以及-optionc3构成的正向测试用例、由-optionc1、
ꢀ‑
optionc2以及-optionc3构成的正向测试用例。
53.在一种可能的实施方式之中,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第四逻辑关系,则通过排列组合函数对所述命令选项之间进行
optiona3、-optionb3构成的用例。则反向测试用例包括由-optiona1、-optiona2、-optiona3、-optionb1、-optionb2构成的用例,由-optiona1、-optiona2、-optiona3、-optionb1、-optionb3构成的用例,由-optiona1、-optiona2、-optiona3、-optionb3、-optionb2构成的用例,由-optiona1、-optiona2、-optiona3构成的用例。
62.这里,关于两个分区之间的其他逻辑关系相对应的测试用例的确定过程需根据逻辑关系进行确定,此部分不再进行赘述。
63.s104:分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。
64.该步骤中,根据正向测试用例对相对应的命令选项进行正向测试,根据反向测试用例对相对应的命令选项进行反向测试,确定出待测试命令的测试结果。
65.这里,首先获取命令的yaml代码信息,然后对yaml代码信息进行分解。根据分解后的yaml代码信息,可以清楚知道哪些命令选项可以组合使用,哪些命令选项不能一起使用。在数字后端工具功能实现中一方面需要保证命令的执行效果正确,另一方面在执行错误的命令时需要向用户提供有效的错误信息,以便协助用户更精准找到错误产生的原因,方便用户进行脚本调整,因此需要分别对命令选项进行正向测试和反向测试。测试命令是否会报警告(warning)或错误(error)来判断。通过分析已经明确的命令的 yaml逻辑可以实现对命令的所有有效功能进行穷举测试,这种方法不依赖于验证工程师对命令的理解程度,使每个验证工程师所完成的测试用 例相差无几,能够有效保证数字后端工具验证的覆盖率。
66.本技术实施例提供的一种电子自动化设计软件的命令测试方法,所述命令测试方法包括:获取电子自动化设计软件的待测试命令的yaml代码信息;对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。通过设置不同的组合条件设置以及约束设置来描述命令选项的逻辑关系,实现对命令选项有效组合和非法组合的遍历,提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。
67.请参阅图4,图4为本技术实施例所提供的一种电子自动化设计软件的命令测试装置的结构示意图。如图4中所示,所述命令测试装置400包括:获取模块410,用于获取电子自动化设计软件的待测试命令的yaml代码信息;解析模块420,用于对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;第一确定模块430,用于基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系
为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;第二确定模块440,用于分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。
68.进一步的,第一确定模块430在用于所述基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:检测任意两个所述分区之间是否存在层级关系;若否,则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;若是,则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例。
69.进一步的,第一确定模块430在用于所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:若所述逻辑关系为第一逻辑关系,则将该分区下所述命令选项共同构成的测试用例确定为所述正向测试用例,将除由所述命令选项共同构成测试用例之外的由至少一个所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第一逻辑关系为所述分区下的多个所述命令选项的组合条件之中需全部设置所述命令选项。
70.进一步的,第一确定模块430在用于所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:若所述逻辑关系为第二逻辑关系,将该分区下的任意一个所述命令选项确定为所述正向测试用例,将该分区下的任意两个所述命令选项进行组合确定出所述反向测试用例;其中,所述第二逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置其中任意一个所述命令选项。
71.进一步的,第一确定模块430在用于所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:若所述逻辑关系为第三逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例;其中,所述第三逻辑关系为分区下多个所述命令选项的组合条件之中设置0个或者多个所述命令选项。
72.进一步的,第一确定模块430在用于所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:
若所述逻辑关系为第四逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例,以及将未使用所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第四逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置至少一个所述命令选项。
73.进一步的,第一确定模块430在用于针对于第一分区为第一层级,第二分区为第二层级,所述则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例时,第一确定模块430具体用于:若所述第二分区的逻辑关系为第二逻辑关系且使用约束设置,则基于所述第二分区相对应的逻辑关系、第一分区相对应的逻辑关系、所述第二分区相对应的命令选项以及所述第一分区相对应的命令选项,确定出所述第一分区下每个所述命令选项的正向测试用例以及反向测试用例。
74.本技术实施例提供的一种电子自动化设计软件的命令测试装置,所述命令测试装置包括:获取模块,用于获取电子自动化设计软件的待测试命令的yaml代码信息;解析模块,用于对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;第一确定模块,用于基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;第二确定模块,用于分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。通过设置不同的组合条件设置以及约束设置来描述命令选项的逻辑关系,实现对命令选项有效组合和非法组合的遍历,提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。
75.请参阅图5,图5为本技术实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
76.所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1所示方法实施例中的电子自动化设计软件的命令测试方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
77.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的电子自动化设计软件的命令测试方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
78.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
79.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可
以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
80.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
81.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
82.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
83.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
技术特征:
1.一种电子自动化设计软件的命令测试方法,其特征在于,所述命令测试方法包括:获取电子自动化设计软件的待测试命令的yaml代码信息;对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。2.根据权利要求1所述的命令测试方法,其特征在于,所述基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:检测任意两个所述分区之间是否存在层级关系;若否,则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;若是,则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例。3.根据权利要求2所述的命令测试方法,其特征在于,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第一逻辑关系,则将该分区下所述命令选项共同构成的测试用例确定为所述正向测试用例,将除由所述命令选项共同构成测试用例之外的由至少一个所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第一逻辑关系为所述分区下的多个所述命令选项的组合条件之中需全部设置所述命令选项。4.根据权利要求2所述的命令测试方法,其特征在于,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第二逻辑关系,将该分区下的任意一个所述命令选项确定为所述正向测试用例,将该分区下的任意两个所述命令选项进行组合确定出所述反向测试用例;其中,所述第二逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置其中任意一个所述命令选项。5.根据权利要求2所述的命令测试方法,其特征在于,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第三逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例;其中,所述第三逻辑关系为分区下多个所述命令选项的组合条件之中设置0个或者多
个所述命令选项。6.根据权利要求2所述的命令测试方法,其特征在于,所述则根据每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例,包括:若所述逻辑关系为第四逻辑关系,则通过排列组合函数对所述命令选项之间进行任意组合确定出多个所述正向测试用例,以及将未使用所述命令选项构成的测试用例确定为所述反向测试用例;其中,所述第四逻辑关系为所述分区下的多个所述命令选项的组合条件之中设置至少一个所述命令选项。7.根据权利要求2所述的命令测试方法,其特征在于,针对于第一分区为第一层级,第二分区为第二层级,所述则基于两个所述分区之间的层级关系以及两个分区下多个命令选项之间的逻辑关系确定出每个所述分区下每个所述命令选项的正向测试用例以及反向测试用例,包括:若所述第二分区的逻辑关系为第二逻辑关系且使用约束设置,则基于所述第二分区相对应的逻辑关系、第一分区相对应的逻辑关系、所述第二分区相对应的命令选项以及所述第一分区相对应的命令选项,确定出所述第一分区下每个所述命令选项的正向测试用例以及反向测试用例。8.一种电子自动化设计软件的命令测试装置,其特征在于,所述命令测试装置包括:获取模块,用于获取电子自动化设计软件的待测试命令的yaml代码信息;解析模块,用于对所述待测试命令的yaml代码信息进行解析,确定出所述yaml代码信息之中所述待测试命令在实现不同功能下的多个分区,以及每个所述分区下的多个命令选项之间的逻辑关系;第一确定模块,用于基于每个所述分区下多个命令选项之间的逻辑关系确定出每个所述分区下所述命令选项的正向测试用例以及反向测试用例;其中,所述逻辑关系为对所述分区下的所述命令选项的组合条件设置,以及对所述分区下的所述命令选项的约束设置;第二确定模块,用于分别基于所述正向测试用例对相对应的所述命令选项进行正向测试,基于所述反向测试用例对相对应的所述命令选项进行反向测试,确定出所述待测试命令的测试结果。9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的电子自动化设计软件的命令测试方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的电子自动化设计软件的命令测试方法的步骤。
技术总结
本申请提供了电子自动化设计软件的命令测试方法、装置、设备及介质,命令测试方法包括:获取电子自动化设计软件的待测试命令的yaml代码信息;对待测试命令的yaml代码信息进行解析,确定出yaml代码信息之中待测试命令在实现不同功能下的多个分区,以及每个分区下的多个命令选项之间的逻辑关系;基于每个分区下多个命令选项之间的逻辑关系确定出每个分区下命令选项的正向测试用例以及反向测试用例;分别基于正向测试用例对相对应的命令选项进行正向测试,基于反向测试用例对相对应的命令选项进行反向测试,确定出待测试命令的测试结果。提高了命令测试的效率和准确度,从而可以更有效的保证数字后端工具功能的鲁棒性。更有效的保证数字后端工具功能的鲁棒性。更有效的保证数字后端工具功能的鲁棒性。
技术研发人员:刘叶 田金
受保护的技术使用者:深圳鸿芯微纳技术有限公司
技术研发日:2023.09.13
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种办公设备维修及耗材的自动化运维管理系统的制作方法 下一篇:一种牙周刮治器