CN111382065B - 基于测试模板的验证流程管理系统及其方法 - Google Patents
基于测试模板的验证流程管理系统及其方法 Download PDFInfo
- Publication number
- CN111382065B CN111382065B CN201910605652.0A CN201910605652A CN111382065B CN 111382065 B CN111382065 B CN 111382065B CN 201910605652 A CN201910605652 A CN 201910605652A CN 111382065 B CN111382065 B CN 111382065B
- Authority
- CN
- China
- Prior art keywords
- test
- verification
- task
- node
- attribute
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 374
- 238000012795 verification Methods 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000004088 simulation Methods 0.000 claims abstract description 33
- 238000013515 script Methods 0.000 claims description 28
- 238000013461 design Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 description 62
- 238000010200 validation analysis Methods 0.000 description 28
- 239000003795 chemical substances by application Substances 0.000 description 23
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
提供了基于测试模板的验证流程管理系统及其方法。所提供的基于测试模板的电子装置验证方法,包括:根据测试模板创建验证任务对象,验证任务对象包括多个测试任务对象;根据一个或多个测试任务对象描述的仿真工具与测试用例,使用所述仿真工具执行测试用例;根据一个或多个测试任务对象的指示收集测试用例的执行结果。
Description
技术领域
本申请涉及集成电路设计验证技术,特别地,涉及在集成电路验证流程中,通过测试模板组织测试用例,并通过流程验证管理系统控制验证过程。
背景技术
半导体集成电路芯片设计具有高度复杂性与高风险性,要通过多种验证手段与工具来努力提升所设计的芯片的质量以降低流片失败风险。
在验证过程中,涉及多种工具、大量测试用例、多次版本迭代与多人员的复杂场景。对于不同的验证目的,又有不同的测试用例使用策略。需要有效的工具与方法来控制验证过程的实施,并易于验证经验的积累。
发明内容
根据本申请的第一方面,提供了根据本申请第一方面的第一基于测试模板的电子装置验证方法,包括:根据测试模板创建验证任务对象,验证任务对象包括多个测试任务对象;根据一个或多个测试任务对象描述的仿真工具与测试用例,使用所述仿真工具执行测试用例;根据一个或多个测试任务对象的指示收集测试用例的执行结果。
根据本申请第一方面的第一基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第二基于测试模板的电子装置验证方法,还包括:根据收集的测试用例的执行结果生成报告。
根据本申请第一方面的第一或第二基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第三基于测试模板的电子装置验证方法,其中所述测试模板包括具有层级关系的多个节点,测试模板的根节点是验证任务节点,验证任务节点的子节点是验证会话节点,测试模板的叶子节点是测试用例节点。
根据本申请第一方面的第三基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第四基于测试模板的电子装置验证方法,还包括:为创建测试任务对象,根据所述验证任务节点的属性列表为测试任务对象的属性列表赋值,再根据所述验证会话节点的属性列表为测试任务对象的属性列表赋值;其中若验证任务节点的属性列表中包括同验证会话节点的属性列表的一个或多个属性相同的属性,用验证会话节点的所述一个或多个属性的值替换根据验证任务节点的属性列表为测试任务对象的属性所赋的值;其中所述测试任务对象对应于测试模板中的所述测试用例节点,以及所述验证会话节点是所述测试用例节点的父节点。
根据本申请第一方面的第三基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第五基于测试模板的电子装置验证方法,还包括:为创建测试任务对象,根据所述验证任务节点的属性列表为测试任务对象的属性列表赋值,再根据所述验证会话节点的属性列表为测试任务对象的属性列表赋值;其中所述测试任务对象对应于测试模板中的所述测试用例节点,以及所述验证会话节点是所述测试用例节点的父节点。
根据本申请第一方面的第四或第五基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第六基于测试模板的电子装置验证方法,其中验证会话节点的子节点包括验证组节点,所述验证组节点的子节点是所述测试用例节点;所述方法还包括:根据所述验证组节点的属性列表为所述测试任务对象的属性列表赋值,其中若验证任务节点与所述验证会话节点的属性列表中包括同验证组节点的属性列表的一个或多个属性相同的属性,用验证组节点的所述一个或多个属性的值替换根据验证任务节点与所述验证会话节点的属性列表为所述测试任务对象的属性所赋的值。
根据本申请第一方面的第四或第五基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第七基于测试模板的电子装置验证方法,其中验证会话节点的子节点包括验证组节点,所述验证组节点的子节点是所述测试用例节点;所述方法还包括:在根据所述验证会话节点的属性列表为测试任务对象的属性列表赋值之后,还根据所述验证组节点的属性列表为所述测试任务对象的属性列表赋值。
根据本申请第一方面的第六或第七基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第八基于测试模板的电子装置验证方法,还包括:根据所述测试用例节点的属性列表为所述测试任务对象的属性列表赋值,其中若验证任务节点、所述验证会话节点与所述验证组节点的属性列表中包括同测试用例节点的属性列表的一个或多个属性相同的属性,用测试用例节点的所述一个或多个属性的值替换根据验证任务节点、所述验证会话节点与所述验证组节点的属性列表为所述测试任务对象的属性所赋的值。
根据本申请第一方面的第六或第七基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第九基于测试模板的电子装置验证方法,还包括:在根据所述验证组节点的属性列表为所述测试任务对象的属性列表赋值之后,还根据所述测试用例节点的属性列表为所述测试任务对象的属性列表赋值。
根据本申请第一方面的第一至第九基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十基于测试模板的电子装置验证方法,还包括:响应于对验证任务的第一节点的指示,获取第一节点的子节点中的所有叶节点以得到所述一个或多个测试用例任务。
根据本申请第一方面的第一至第十基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十一基于测试模板的电子装置验证方法,还包括:响应于对验证任务的标签的指示,获取验证任务的所有具有所述标签的节点;
以及获取所有具有所述标签的节点的子节点中的所有叶节点以得到所述一个或多个测试用例任务。
根据本申请第一方面的第一至第十一基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十二基于测试模板的电子装置验证方法,还包括:根据所述一个或多个测试用例任务的第一测试用例任务,分配由所述第一测试用例任务独占的资源与测试任务代理,由所述测试任务代理使用所述资源执行该测试用例任务所指示的测试用例。
根据本申请第一方面的第十二基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第十三基于测试模板的电子装置验证方法,其中,多个测试任务代理并发地根据同其对应的测试用例任务执行测试用例。
根据本申请第一方面的第十二或第十三基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第十四基于测试模板的电子装置验证方法,还包括:根据第一测试用例任务的属性指示的第一位置获取待测试的集成电路芯片或组件的设计;根据第一测试用例任务的属性指示的第二位置获取用于所述设计的编译工具;根据第一测试用力任务的属性指示的参数指示用于所述设计的编译工具编译所述设计。
根据本申请第一方面的第十二至第十四基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十五基于测试模板的电子装置验证方法,还包括:根据第一测试用例任务的属性指示的第四位置获取第一脚本以操作所述仿真工具;根据第一测试用例任务的属性指示的第五位置获取第二脚本以在执行所述测试用例之前执行所述第二脚本。
根据本申请第一方面的第十五基于测试模板的电子装置验证方法,提供了根据本申请第一方面的第十六基于测试模板的电子装置验证方法,还包括:根据第一测试用例任务的属性指示的第六位置获取第三脚本以在执行所述测试用例之后执行所述第三脚本来处理所述测试用例的执行结果。
根据本申请第一方面的第十二至第十六基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十七基于测试模板的电子装置验证方法,还包括:根据第一测试用例任务的属性指示的数值,重复使用所述仿真工具执行测试用例直到所述数值指定的次数。
根据本申请第一方面的第十二至第十七基于测试模板的电子装置验证方法之一,提供了根据本申请第一方面的第十八基于测试模板的电子装置验证方法,还包括:响应于对第一测试用例任务的属性的更新而修改所述第一测试用例任务的一个或多个属性的值。
根据本申请的第二方面,提供了根据本申请第二方面的第一基于测试模板的电子装置验证装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现执行根据本申请第一方面的基于测试模板的电子装置验证方法之一。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1展示了根据本申请实施例的验证流程管理系统的框图;
图2展示了根据本申请实施例的测试模板;以及
图3展示了根据本申请实施例的实施验证流程的流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1展示了根据本申请实施例的验证流程管系统的框图。
验证流程管理系统120用于控制验证过程,并收集验证结果。
验证流程管理系统120耦合到一个或多个测试模板(150、152、154……)、代码库180、控制台190与一个或多个测试资源(132、134……)。测试模板是描述了验证过程的文件,其中定义了(1)层次化的一个或多个测试用例,(2)执行测试用例所使用的工具软件和/或资源(计算机、服务器等),(3)控制测试用例的执行过程,以及收集测试用例的执行结果。
测试模板(150、152或154)所描述的测试用例包括例如一个或多个脚本文件、可执行程序文件和/或配置文件,这些测试用例被存储在例如测试用例仓库160。测试用例仓库160由文件服务器、数据库或版本管理服务器提供。
代码库180是例如版本管理服务器,存储了待被验证的集成电路芯片设计或集成电路芯片的模块的设计。为验证所设计的集成电路芯片,验证流程管理系统120从代码库180获取待验证的集成电路芯片的设计文件,根据用户通过控制台190提供的指示获取测试模板(例如,测试模板150),根据测试模板的内容创建代表了验证过程的验证任务对象。验证任务对象控制验证过程的执行。例如,验证任务对象包括多个测试任务对象。测试任务对象描述了被测试的设计文件、执行测试所使用的工具软件、执行测试所使用的配置信息、测试用例和/或执行测试用例之前和/或之后所要执行的操作等。
控制台190是通过网络或本地地连接到验证流程管理系统120的用户接口。用户通过控制台190向验证流程管理系统120提供命令、查询信息和/或接收测试用例执行结果。可选地,通过Web方式向用户提供控制台190,用户通过使用Web浏览器同验证流程管理系统120交互。验证流程管理系统120还包括内置的Web服务器,以接收控制台190的访问并做出响应。
验证流程管理系统120还包括多个测试任务代理(122、124、126与128)。测试任务代理提供执行测试用例的环境。例如,测试代理是进程、线程、虚拟计算机、物理计算机或基于云的服务。测试任务代理各自耦合到测试资源(132或134)。各测试任务代理的测试资源彼此独立,从而一个测试任务代理执行的测试用例不影响其他测试任务代理。
测试资源(132、134)包括EDA工具软件和/或硬件,用于编译/综合集成电路芯片的设计文件,并执行被提供的测试用例。
一个或多个用户通过各自的控制台190接入验证流程管理系统120,并指定各自所使用的测试模板,以及指示验证流程管理系统120根据对测试模板的指定而执行测试用例。验证流程管理120根据测试模板生成验证任务对象,并根据验证任务对象从代码库180获取待验证的集成电路芯片设计,从测试用例仓库160获得测试用例,以及操作测试任务代理实施每个测试用例所指示的测试过程。
图2展示了根据本申请实施例的测试模板。
测试模板是描述了验证任务210的具有层次结构的文件或数据结构。
测试模板包括唯一的根节点,代表验证任务210。验证任务210包括名称、属性列表与会话列表。名称是验证任务210的名称,便于用户创建与访问验证任务210。属性列表相关联地记录了多个属性与属性的值。属性包括多个类别,例如控制类属性、目录类属性、编译类属性、仿真类属性与脚本类属性等。控制类属性用于描述EDA工具厂商及其版本、版本管理服务器的地址、测试任务的执行模式(串行、并行、远程等)、测试任务的重复执行测试等。目录类属性用于描述存储仿真EDA工具软件实施编译、仿真与测试的目录。编译属性用于描述EDA工具软件实施编译所用的一个或多个参数,包括一个或多个集成电路设计文件、所使用的编译工具的控制命令、在编译前所要执行的脚本文件与被编译的集成电路设计文件对应的待编译的测试文件等。仿真类属性用于描述控制仿真的脚本、仿真的随机数种子等。脚本类属性用于描述在仿真前执行的脚本、仿真时执行的脚本、仿真后执行的脚本等。
验证任务210的会话列表指示了作为根节点的各个子节点的一个或多个验证会话(220、222与224)。子节点可包括其进一步的子节点。测试模板的节点与子节点具有类似的结构。作为子节点的验证会话,也包括其名字、属性列表与指示其进一步的一个或多个子节点的组列表。验证会话的属性列表具有同验证任务210的属性列表相同或不同的项目。作为举例,若验证会话220的属性列表记录了某种属性,而验证任务210的属性列表中也记录了该种属性,则用验证会话220的属性列表中的该种属性的值替代验证任务210的属性列表中的该种属性的值。验证会话220用于描述例如对集成电路芯片设计的某个组件的所有可执行的测试用例。
验证会话(220)的组列表指示了作为其子节点的一个或多个验证组(230、232与234)。子节点可包括其进一步的子节点。作为子节点的验证组,也包括其名字、属性列表与指示其进一步的一个或多个子节点的测试用例列表。验证组的属性列表具有同验证任务210的属性列表相同或不同的项目。作为举例,测试模板的各节点中,若子节点的属性列表记录了某种属性,而其父节点的属性列表中也记录了该种属性,则用子节点的属性列表中的该种属性的值替代其父节点的属性列表中的该种属性的值。验证组用于描述例如对集成电路芯片设计的某个组件的特定测试场景可用的测试用例。
验证组(230)的测试用例列表指示了作为其子节点的一个或多个测试用例(240、242与244)。作为子节点的测试用例,也包括其名字与属性列表。测试用例的属性列表具有同验证任务210的属性列表相同或不同的项目。作为子节点的测试用例(240、242与244)用于描述例如对集成电路芯片设计的某个组件的特定测试用例。
验证流程管理系统120获取测试模板,并根据测试模板生成验证任务对象。验证任务对象是测试模板在存储器中的展现。验证任务对象具有同测试模板的各节点对应的节点,验证任务对象的各节点也具有名称、属性列表与指示其子节点的列表。验证任务对象的同测试模板的测试用例对应的节点称为测试任务对象。测试任务对象没有子节点,也没有指示其子节点的列表。
为生成对应于测试模板的测试用例节点的测试任务对象,用测试用例节点的各父节点的属性列表为测试任务对象的各属性赋值。按测试模板的层次结构,从根节点到子节点的顺序为测试任务对象的属性赋值。例如,为创建同测试用例240对应的测试任务对象,先用根节点验证210的属性列表为该测试任务对象的各属性赋值,再用验证会话220的属性列表为该测试任务对象的各属性赋值,再用验证组230的属性列表为该测试任务对象的各属性赋值,最后用测试用例240的属性列表为该测试任务对象的各属性赋值,以得到该测试任务对象。
可选地,测试模板的多个节点还被设置标签属性。相应地,验证任务对象的对应节点也被设置标签属性。标签可被任意地设置给测试模板的一个或多个节点,这些节点不必属于相同的层级(例如,验证会话节点与验证组节点属于不同的层级,而各验证会话节点属于相同的层级)。用户可通过指示标签,来根据所有具有该标签的节点而实施验证流程。
作为举例,所生成的测试任务对象的控制类属性指示使用Cadence公司提供的EDA工具执行仿真,目录属性指示实施编译、仿真与测试的目录,如执行编译、仿真所需的EDA工具软件所在的目录,存放编译、仿真结果的目录等,编译属性指示实施编译所用的集成电路设计文件、所使用的编译工具的控制命令。脚本类属性指示在仿真前执行的脚本、仿真时执行的脚本、仿真后执行的脚本。从而测试任务对象提供了执行测试用例所需的全部信息。
通过控制台190,用户可访问根据测试模板150生成的验证任务对象及其测试任务对象。通过控制台190,用户可修改根据测试模板150生成的验证任务对象及其测试任务对象的各属性。通过控制台190,用户还指示验证流程管理系统120执行验证任务对象、其各节点以及其测试任务对象所指示的验证流程。
作为举例,用户指示验证流程管理系统120执行测试任务对象所指示的验证流程。验证流程管理系统120根据用户的指示,获得对应的测试任务对象。为每一个测试任务对象,获取可用的测试任务代理(122)。根据测试任务对象的属性指示测试任务代理122运行或访问EDA工具,例如Cadence工具,测试任务代理122使用测试资源132运行或访问所指定的Cadence工具。测试任务对象的属性还指示了被测试的集成电路芯片的设计组件,测试任务代理122运行属性指示的带有参数的编译命令以使用Cadence工具编译被测试的集成电路芯片的设计组件。测试任务代理122还根据测试任务对象的属性,使用测试资源132指示Cadence工具或其他工具对被测试的集成电路芯片的设计组件实施仿真,运行属性指示的测试脚本向被测试的集成电路芯片的设计组件施加激励,以及获取仿真结果。测试任务对象的属性还指示了评价仿真结果正确性的规则文件,测试任务代理122向Cadence工具提供规则文件,并从Cadence工具获得对仿真结果的评价。测试任务代理122还根据测试任务的属性的指示而收集仿真结果与关于仿真结果的报告。
作为又一个例子,用户指示流程管理系统120根据验证任务对象的对应于验证会话的节点实施验证流程。会话节点包括多个测试任务对象。会话节点的属性还指示了执行测试任务对象所指示的验证流程的模式(串行、并行或远程执行)。为串行执行多个测试任务对象所指示的验证流程,流程管理系统120通过测试任务代理依次根据每个测试任务对象的指示而执行验证过程。为并行执行多个测试任务对象所指示的验证过程,流程管理系统120为每个测试任务对象分配测试任务代理,各个测试任务代理根据各自的测试任务对象的指示而执行验证过程。测试任务代理可使用诸如网络上的远程服务器的测试资源来根据测试任务对象的指示而执行验证过程。
作为另一个例子,用户指示流程管理系统120根据验证任务对象的对应于验证组的节点实施验证流程。对应于验证组的节点包括多个测试任务对象。对应于验证组的节点的属性还指示了执行测试任务对象所指示的验证流程的模式(串行、并行或远程执行)。
可选地,多个用户通过各自的控制台同时向验证流程管理系统120指示实施验证流程。用户通过指定验证任务对象、验证任务对象的节点或测试任务对象来指示实施验证流程。验证流程管理系统120根据用户的指示,通过多个测试任务各自服务用户指示的一个或多个测试任务对象,来完成验证流程。由于通过测试任务代理及其所拥有的资源来实施验证过程,并发的多个验证过程不会彼此干扰。
在一个例子中,用户通过仅指示测试任务对象、验证任务对象的节点或验证任务对象来指示验证流程管理系统120执行测试任务对象所指示的验证流程。从而用户以最少的指令(单一指令)来指示验证流程管理系统120执行验证流程。
在又一个例子中,用户向验证流程管理系统120指示测试任务对象、验证任务对象的节点或验证任务对象,以及用户还向验证流程管理系统120指示进行编译、仿真和/或获取验证结果等命令,来指示验证流程管理系统120通过多个步骤执行验证流程,例如在一个步骤中,根据与编译相关的属性来完成对待验证的集成电路芯片设计的部分组件实施编译,而在另一个步骤中,根据编译结果与测试脚本实施仿真。
从而,将复杂而多样化的验证流程,简化为单一或少数的操作命令,降低了执行验证过程的复杂度。从而用户得以将精力专注于设计测试用例,而非受到工具、配置参数等问题的困扰
作为举例,验证组230(参看图2)指示具有指定场景的多个测试用例。由于这些测试用例用于相同的场景,因而其具有较多可共享的属性。这些属性可被记录在验证组的属性列表中,从而不必在每个测试用例中记录这些属性,简化了开发测试用例的复杂度。通过将可共享的为单一测试用例所配置的属性,通过将其记录于验证组的属性列表,使得这些可共享的属性为属于该验证组的所有测试用例所使用。
作为又一个例子,测试模板的各节点的属性组,用于记录与使用个性化的仿真流程设计模式。例如,仿真流程包括在仿真前通过执行脚本为被测试的集成电路芯片的设置的组件设置初始状态,在仿真过程中执行脚本来向被测试的集成电路芯片的设计的组件提供指定的激励或输入,或者在仿真过程中的指定条件下,设置或修改测试的集成电路芯片的设计的组件的状态,以进行诸如故障注入、指定代码执行路径等目的的操作来促进验证过程的进行。作为又一个,测试模板的节点的属性组,还指示在仿真过程完成后要执行的脚本来例如收集验证结果。测试模板的节点的属性组,还指示忽略验证过程中遇到的一种或多种错误,用于例如加快验证过程。测试模板的节点的属性组,还指示例如用于判定验证通过的规则,和/或指示用于判定验证失败的规则等。
通过测试模板也促进了在团队之间的共享。例如,用户A为验证组230所编写的一种或多种设计属性。而用户B能够容易地获得用户A所编写的设计属性。通过向测试模板添加属于验证组230的一个或多个测试用例,这些测试用例自动地获得被设置给验证组230的属性列表。
图3展示了根据本申请实施例的实施验证流程的流程图。
用户通过编写测试模板创建一个或多个测试模板,测试模板中层次化地记录了多个节点。测试模板的测试用例节点还引用了测试用例仓库的测试用例。测试用例的开发与测试模板的开发从而得以分离。测试用例和/或测试模板的开发过程,同验证流程的实施也得以分离。
验证流程管理系统120实施验证流程。验证流程管理系统120根据一个或多个测试模板,先于用户的指示或响应于用户的指示而创建验证任务对象,验证任务对象包括一个或多个测试任务对象(310)。
从而用户得以访问验证流程管理系统创建的测试任务对象,以指示实施验证流程。
验证流程管理系统120响应于用户对验证任务对象或其节点的指示,而根据用户指示的验证任务对象或其节点所包括的多个测试任务对象,根据测试任务对象启动或访问仿真工具,并执行测试任务对象所指示的测试用例(脚本)(320)。可选地,为每个被指定的测试任务对象独立地执行测试任务对象所指示的测试用例(脚本),从而这些测试用例的执行不会互相干扰。
测试任务对象指示的测试用例可包括多个步骤,用户无须了解这些步骤的细节,而由验证管理系统120根据测试任务对象的属性列表按顺序执行各个步骤。
响应于用户指示的一个或多个测试用例的执行完成,或者用户指示的验证任务对象或其节点所包括的所有测试用例执行完成,验证流程管理系统120还收集测试用例的执行结果(330)。执行结果包括测试用例脚本执行产生的日志,被测试的集成电路芯片或其组件在测试执行期间的状态变化轨迹(Trace)或输出,根据测试任务对象指示的规则文件对测试用例执行结果的评价等。
验证流程管理系统还汇编所收集的测试用例的执行结果,并输出关于所处理的验证任务的报告。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.基于测试模板的集成电路芯片验证方法,包括:
根据用户提供的测试模板创建验证任务对象,验证任务对象包括多个测试任务对象,其中,所述验证任务对象具有同测试模板的各节点对应的节点;所述测试任务对象为验证任务对象中同测试模板的测试用例对应的节点;
根据一个或多个测试任务对象描述的仿真工具与测试用例,使用所述仿真工具执行测试用例;
根据一个或多个测试任务对象的指示收集测试用例的执行结果;其中,
执行所述基于测试模板的集成电路芯片验证方法的验证流程管理系统包括多个测试任务代理,为各测试任务对象分配其对应的测试任务代理,多个测试任务代理根据各自的测试任务对象指示并发执行测试任务对象所指示的测试用例。
2.根据权利要求1所述的方法,其中
所述测试模板包括具有层级关系的多个节点,测试模板的根节点是验证任务节点,验证任务节点的子节点是验证会话节点,测试模板的叶子节点是测试用例节点。
3.根据权利要求2所述的方法,还包括:
为创建测试任务对象,根据所述验证任务节点的属性列表为测试任务对象的属性列表赋值,再根据所述验证会话节点的属性列表为测试任务对象的属性列表赋值;其中若验证任务节点的属性列表中包括同验证会话节点的属性列表的一个或多个属性相同的属性,用验证会话节点的所述一个或多个属性的值替换根据验证任务节点的属性列表为测试任务对象的属性所赋的值;其中
所述测试任务对象对应于测试模板中的所述测试用例节点,以及所述验证会话节点是所述测试用例节点的父节点。
4.根据权利要求3所述的方法,还包括:
为创建测试任务对象,根据所述验证任务节点的属性列表为测试任务对象的属性列表赋值,再根据所述验证会话节点的属性列表为测试任务对象的属性列表赋值;
其中所述测试任务对象对应于测试模板中的所述测试用例节点,以及所述验证会话节点是所述测试用例节点的父节点。
5.根据权利要求3或4所述的方法,其中
验证会话节点的子节点包括验证组节点,所述验证组节点的子节点是所述测试用例节点;
所述方法还包括:
根据所述验证组节点的属性列表为所述测试任务对象的属性列表赋值,其中若验证任务节点与所述验证会话节点的属性列表中包括同验证组节点的属性列表的一个或多个属性相同的属性,用验证组节点的所述一个或多个属性的值替换根据验证任务节点与所述验证会话节点的属性列表为所述测试任务对象的属性所赋的值。
6.根据权利要求1所述的方法,还包括:
响应于对验证任务的标签的指示,获取验证任务的所有具有所述标签的节点;
以及获取所有具有所述标签的节点的子节点中的所有叶节点以得到所述一个或多个测试用例任务。
7.根据权利要求6所述的方法,还包括:
根据所述一个或多个测试用例任务的第一测试用例任务,分配由所述第一测试用例任务独占的资源与测试任务代理,由所述测试任务代理使用所述资源执行该测试用例任务所指示的测试用例。
8.根据权利要求7所述的方法,还包括:
根据第一测试用例任务的属性指示的第一位置获取待测试的集成电路芯片或组件的设计;
根据第一测试用例任务的属性指示的第二位置获取用于所述设计的编译工具;
根据第一测试用力任务的属性指示的参数指示用于所述设计的编译工具编译所述设计。
9.根据权利要求7所述的方法,还包括:
根据第一测试用例任务的属性指示的第四位置获取第一脚本以操作所述仿真工具;
根据第一测试用例任务的属性指示的第五位置获取第二脚本以在执行所述测试用例之前执行所述第二脚本。
10.一种基于测试模板的电子装置验证装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现执行上述权利要求1-9之一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018116335855 | 2018-12-29 | ||
CN201811633585 | 2018-12-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382065A CN111382065A (zh) | 2020-07-07 |
CN111382065B true CN111382065B (zh) | 2024-02-23 |
Family
ID=71215128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910605652.0A Active CN111382065B (zh) | 2018-12-29 | 2019-07-05 | 基于测试模板的验证流程管理系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382065B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559339B (zh) * | 2020-12-11 | 2023-06-13 | 中国信托登记有限责任公司 | 一种基于数据模板引擎的自动化测试验证方法及其测试系统 |
CN116719728B (zh) * | 2023-06-12 | 2023-12-29 | 南京金阵微电子技术有限公司 | 多节点回归测试方法、装置、介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024067A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 一种模拟电路工艺移植的方法 |
CN102331970A (zh) * | 2011-07-28 | 2012-01-25 | 北京航空航天大学 | 面向安全苛刻系统的自动化测试资源管理方法及其平台 |
CN103853649A (zh) * | 2012-11-28 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种应用程序的测试方法及系统 |
CN104866426A (zh) * | 2015-05-28 | 2015-08-26 | 华北计算技术研究所 | 软件测试综合控制方法及系统 |
CN105005532A (zh) * | 2015-08-05 | 2015-10-28 | 广东欧珀移动通信有限公司 | 一种自动化测试应用程序接口稳定性的系统及方法 |
CN106021100A (zh) * | 2016-05-12 | 2016-10-12 | 中国电子科技集团公司第四十研究所 | 一种支持并行测试的测试任务运行调度方法 |
CN106407516A (zh) * | 2016-08-31 | 2017-02-15 | 北京中电华大电子设计有限责任公司 | 一种并行验证的验证方法 |
CN108038054A (zh) * | 2017-12-01 | 2018-05-15 | 大唐微电子技术有限公司 | 一种自动化测试方法及装置、计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535820B2 (en) * | 2015-03-27 | 2017-01-03 | Intel Corporation | Technologies for application validation in persistent memory systems |
JP2017167763A (ja) * | 2016-03-15 | 2017-09-21 | 富士通株式会社 | 情報処理装置、試験実行方法および試験実行プログラム |
-
2019
- 2019-07-05 CN CN201910605652.0A patent/CN111382065B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024067A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 一种模拟电路工艺移植的方法 |
CN102331970A (zh) * | 2011-07-28 | 2012-01-25 | 北京航空航天大学 | 面向安全苛刻系统的自动化测试资源管理方法及其平台 |
CN103853649A (zh) * | 2012-11-28 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种应用程序的测试方法及系统 |
CN104866426A (zh) * | 2015-05-28 | 2015-08-26 | 华北计算技术研究所 | 软件测试综合控制方法及系统 |
CN105005532A (zh) * | 2015-08-05 | 2015-10-28 | 广东欧珀移动通信有限公司 | 一种自动化测试应用程序接口稳定性的系统及方法 |
CN106021100A (zh) * | 2016-05-12 | 2016-10-12 | 中国电子科技集团公司第四十研究所 | 一种支持并行测试的测试任务运行调度方法 |
CN106407516A (zh) * | 2016-08-31 | 2017-02-15 | 北京中电华大电子设计有限责任公司 | 一种并行验证的验证方法 |
CN108038054A (zh) * | 2017-12-01 | 2018-05-15 | 大唐微电子技术有限公司 | 一种自动化测试方法及装置、计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
"Test Strategies for Reliable Runtime Reconfigurable Architectures";Lars Bauer;《IEEE Transactions on Computer》;第62卷(第8期);第1494-1507页 * |
"基于Agent的Web应用测试框架及测试方法的研究";孙璐璐;《中国优秀硕士学位论文全文数据库 信息科技辑》(2014年第01期);第I138-217页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111382065A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8271950B2 (en) | Test generation from captured user interface status | |
US7681180B2 (en) | Parameterized test driven development | |
US9501594B2 (en) | Graphical design verification environment generator | |
US20090320002A1 (en) | Method and system for testing and analyzing user interfaces | |
US8949770B2 (en) | Automated management of software requirements verification | |
US8904358B1 (en) | Methods, systems, and articles of manufacture for synchronizing software verification flows | |
Griebe et al. | A model-based approach to test automation for context-aware mobile applications | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
Campos et al. | Systematic automation of scenario-based testing of user interfaces | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
CN100483429C (zh) | 验证操作支持系统及其方法 | |
Lier et al. | The cognitive interaction toolkit–improving reproducibility of robotic systems experiments | |
CN111382065B (zh) | 基于测试模板的验证流程管理系统及其方法 | |
Liakh et al. | Formal model of IEC 61499 execution trace in FBME IDE | |
US9529963B1 (en) | Method and system for partitioning a verification testbench | |
Iqbal et al. | Exhaustive simulation and test generation using fuml activity diagrams | |
US9632912B1 (en) | Method and system for debugging a program | |
Wehrmeister et al. | Support for early verification of embedded real-time systems through UML models simulation | |
Santiago et al. | Towards Domain-Specific Testing Languages for Software-as-a-Service. | |
Yuan et al. | Substra: A framework for automatic generation of integration tests | |
Sypsas et al. | Computing Similarities Between Virtual Laboratory Experiments Models Using Petri Nets | |
dos Santos et al. | Runtime monitoring of behavioral properties in dynamically adaptive systems | |
US20160246708A1 (en) | Recording an application test | |
Wehrmeister et al. | Framework to simulate the behavior of embedded real-time systems specified in UML models | |
Wolde et al. | Behavior-driven re-engineering for testing the cloud |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |