CN114185781A - 基于控制逻辑图的逻辑测试用例自动生成方法和装置 - Google Patents
基于控制逻辑图的逻辑测试用例自动生成方法和装置 Download PDFInfo
- Publication number
- CN114185781A CN114185781A CN202111489064.9A CN202111489064A CN114185781A CN 114185781 A CN114185781 A CN 114185781A CN 202111489064 A CN202111489064 A CN 202111489064A CN 114185781 A CN114185781 A CN 114185781A
- Authority
- CN
- China
- Prior art keywords
- control logic
- basic algorithm
- logic diagram
- algorithm block
- file
- 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
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/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种基于控制逻辑图的逻辑测试用例自动生成方法和装置,方法包括:获取由基础算法块组成的控制逻辑图和基础算法块对应的说明文件;利用解析函数对控制逻辑图进行解析,生成仿真任务文件;将基础算法块对应的说明文件编译成与基础算法块对应的算法函数以及用于记载算法函数存储地址的算法块动态链接库文件;根据仿真任务文件记载的调用顺序以及算法块动态链接库文件记载的存储地址,调用算法函数,以对仿真任务文件对应的控制逻辑图进行仿真运算;根据测试输入和控制逻辑图仿真运算模型,生成测试输出结果,最终生成测试用例。该方法和装置能够根据控制逻辑图自动化生成测试用例,有效提高测试用例的构建速度,降低人因造成的错误。
Description
技术领域
本申请涉及数字化仪控系统技术领域,尤其涉及一种基于控制逻辑图的逻辑测试用例自动生成方法和装置。
背景技术
测试用例是工程测试过程中依据核电站工艺过程自动化控制方案的逻辑图编写的测试用例,用于验证核电站DCS(Digital Instrument&Control System)系统是否满足逻辑图的需求。
相关技术中,通常需要设计人员根据逻辑图进行手动建模,因核电站DCS系统技术复杂且工作量巨大,导致工作效率低下,而且容易引入人因失误,造成测试用例的预期结果错误。
发明内容
本申请的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请的第一个目的在于提出一种基于控制逻辑图的逻辑测试用例自动生成方法,能够根据控制逻辑图自动化生成测试用例,有效提高测试用例的构建速度,并降低人因造成的错误。
本申请的第二个目的在于提出一种基于控制逻辑图的逻辑测试用例自动生成装置。
本申请的第三个目的在于提出一种计算机设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
为了实现上述目的,本申请第一方面实施例提出一种基于控制逻辑图的逻辑测试用例自动生成方法,包括:
获取由基础算法块组成的控制逻辑图和所述基础算法块对应的说明文件;
利用解析函数对所述控制逻辑图进行解析,生成仿真任务文件,所述仿真任务文件用于确定所述控制逻辑图中各所述基础算法块的调用顺序;
将所述基础算法块对应的说明文件编译成与所述基础算法块对应的算法函数以及用于记载所述算法函数存储地址的算法块动态链接库文件;
根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算;
根据测试输入和所述控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
可选的,所述控制逻辑图包括所述基础算法块和连接所述基础算法块的连线,所述利用解析函数对所述控制逻辑图进行解析,包括:
利用第一解析函数解析所述基础算法块对应的基础算法块元素,所述基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据;
利用第二解析函数解析所述连线的坐标位置,并将所述坐标位置映射到所述基础算法块的输入点位置或输出点位置。
可选的,所述基础算法块对应的形状外观包括输入点名称和输出点名称,所述仿真任务文件包括至少一个测试输入点组合,所述测试输入点组合包括至少一个输入点名称,所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之前,还包括:
获取与所述控制逻辑图对应的测试输入点组合;或者
根据测试覆盖准则对所述控制逻辑图进行解析,得到与所述控制逻辑图对应的测试输入点组合。
可选的,所述测试用例文件包括所述测试输入点组合和经过仿真运算的与每个所述测试输入点组合对应的输出点组合。
可选的,在所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之前,还包括:
根据所述控制逻辑图中记载的至少一个所述基础算法块生成仿真数据文件,所述仿真数据文件用于存储所述基础算法块对应的基础算法块元素;
在所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之后,还包括:
将每个所述基础算法块对应的运算结果,写入所述基础算法块在所述仿真数据文件中的对应位置。
可选的,所述基础算法块由visio模具进行定义,所述控制逻辑图可由定义后的visio模具通过连线连接得到,所述解析函数为visio解析函数。
本申请实施例的基于控制逻辑图的逻辑测试用例自动生成方法,在获取到控制逻辑图后,能够利用解析函数自动对控制逻辑图进行解析与仿真,无需人工参与,有效提高逻辑测试用例的生成效率,降低人因错误,提高测试用例的准确性和可靠性。
为了实现上述目的,本申请第二方面实施例提出了一种基于控制逻辑图的逻辑测试用例自动生成装置,包括:
获取模块,用于获取由基础算法块组成的控制逻辑图和所述基础算法块对应的说明文件;
解析模块,用于利用解析函数对所述控制逻辑图进行解析,生成仿真任务文件,所述仿真任务文件用于确定所述控制逻辑图中各所述基础算法块的调用顺序;
编译模块,用于将所述基础算法块对应的说明文件编译成与所述基础算法块对应的算法函数以及用于记载所述算法函数存储地址的算法块动态链接库文件;
仿真模块,用于根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算;
生成模块,用于根据测试输入和所述控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
可选的,所述控制逻辑图包括所述基础算法块和连接所述基础算法块的连线,所述解析模块,还用于:
利用第一解析函数解析所述基础算法块对应的基础算法块元素,所述基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据;
利用第二解析函数解析所述连线的坐标位置,并将所述坐标位置映射到所述基础算法块的输入点位置或输出点位置。
可选的,所述基础算法块对应的形状外观包括输入点名称和输出点名称,所述仿真任务文件包括至少一个测试输入点组合,所述测试输入点组合包括至少一个输入点名称,所述仿真模块,还用于:
获取与所述控制逻辑图对应的测试输入点组合;或者
根据测试覆盖准则对所述控制逻辑图进行解析,得到与所述控制逻辑图对应的测试输入点组合。
可选的,所述测试用例文件包括所述测试输入点组合和经过仿真运算的与每个所述测试输入点组合对应的输出点组合。
可选的,所述仿真模块,还用于:
根据所述控制逻辑图中记载的至少一个所述基础算法块生成仿真数据文件,所述仿真数据文件用于存储所述基础算法块对应的基础算法块元素;
将每个所述基础算法块对应的运算结果,写入所述基础算法块在所述仿真数据文件中的对应位置。
可选的,所述基础算法块由visio模具进行定义,所述控制逻辑图可由定义后的visio模具通过连线连接得到,所述解析函数为visio解析函数。
本申请实施例的基于控制逻辑图的逻辑测试用例自动生成装置,在获取到控制逻辑图后,能够利用解析函数自动对控制逻辑图进行解析与仿真,无需人工参与,有效提高逻辑测试用例的生成效率,降低人因错误,提高测试用例的准确性和可靠性。
为了实现上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的方法。
为了实现上述目的,本申请第四方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面实施例所述的方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是相关技术中一种测试用例的生成原理图;
图2是相关技术中另一种测试用例的生成原理图;
图3是本申请一个实施例的基于控制逻辑图的逻辑测试用例自动生成方法的流程图;
图4是本申请一个实施例的基础算法块形状外观示意图;
图5是本申请一个实施例的基础算法块形状数据参数示意图;
图6是本申请一个实施例的控制逻辑图的示意图;
图7是本申请一个实施例的基础算法块的说明文件示意图;
图8是本申请一个实施例仿真过程原理示意图;
图9是本申请一个实施例测试用例文件示意图;
图10是本申请一个实施例的基于控制逻辑图的逻辑测试用例自动生成装置的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
以下结合具体实施例对本申请作进一步详细描述,这些实施例不能理解为限制本申请所要求保护的范围。
核电站数字化控制系统(DCS系统)是核电站的神经中枢,内部执行大量复杂的逻辑运算来完成全核电站工艺设备控制和功能调节,因此,确保逻辑运算的正确性至关重要。
相关技术中,核电站设计人员根据标准化绘图原则将工艺过程自动化控制方案绘制成控制逻辑图,该控制逻辑图为标准化的形式化语言。核电站DCS工程设计人员依据控制逻辑图执行的软件组态,编译下装至硬件后组成核电DCS系统。核电DCS系统工程测试人员依据控制逻辑图编写并执行测试用例,来验证DCS系统是否满足需求。
具体地,如图1所示,传统的测试用例设计全部由人工执行,测试用例包括测试输入点名称、测试输出点名称、测试输入组合和测试输出组合。在应用中,测试人员线根据控制逻辑图提取测试输入点名称和测试输出点名称,然后对控制逻辑图进行原理分析,根据控制逻辑图设计若干模拟现场设备运行工况的信号及其变化,得到测试输入组合,最后根据控制逻辑图中记载的逻辑关系,人工推算在测试输入组合下的测试输出组合,即,人工推算测试结果,并将人工推算结果作为测试用例。
或者,如果2所示,《基于MATLAB的反应堆保护系统功能逻辑测试设计方法研究》引入了基于仿真软件的反应堆保护系统逻辑测试设计方法,测试人员通过使用MATLAB软件中Simulink的图形化建模、仿真和分析功能,根据反应堆保护系统的控制逻辑图在Simulink中进行建模和仿真,帮助测试设计人员推算反应堆保护系统的测试输出组合,设计测试用例。
但是,由于核电站现场设备数量多,工艺复杂,因此,体现核电站工艺过程自动化控制方案的控制逻辑图非常复杂,造成依据控制逻辑图确定测试输出组合的工作难度大,准确率低。
基于此,本申请提出一种基于控制逻辑图的逻辑测试用例自动生成方法和装置,能够根据控制逻辑图自动化生成测试用例,有效提高测试用例的构建速度,并降低人因造成的错误。
下面参考附图描述本申请实施例的基于控制逻辑图的逻辑测试用例自动生成方法和装置。
图3是本申请一个实施例的基于控制逻辑图的逻辑测试用例自动生成方法的流程图。
如图3所示,该方法包括以下步骤:
S1,获取由基础算法块组成的控制逻辑图和基础算法块对应的说明文件。
需要说明的是,控制逻辑图是测试设计人员根据核电站DCS系统的设计需求,并基于标准化绘图原则绘制的逻辑图。
在一个或多个实施例中,控制逻辑图是由多个基础算法块通过连线连接而成。可选的,基础算法块可通过visio软件定义基础算法块,以实现对基础算法块的标准化,例如,在构建基础算法块时规定基础算法块名称、基础算法块形状外观和基础算法块形状数据。
举例来说,如图4和图5所示,当标准化ON延时基础算法块时,首先利用visio软件的基本形状(例如矩形、文本等)绘制出基础算法块的形状外观,并在外观上明确标记出输入点位置和输出点位置,然后定义基础算法块形状数据,包括但不限于基础算法块的唯一编码、延迟时间、功能分类等。最后,根据设置的基础算法块形状外观和基础算法块形状数据生成visio模具文件,并对模具文件命名得到基础算法块名称。
进一步地,如图6所示,将定义好的基础算法块形状外观实体化,并把基础算法块形状外观中的输入点和输出点,按照设计需求进行连接,得到控制逻辑图。
基础算法块对应的说明文件是描述基础算法块功能、输入连接点定义、输出连接点定义、基础算法块参数以及特殊说明,基础算法块的功能通常以文字或输入输出波形图的形式进行说明。以上述ON延时基础算法块为例,ON延时基础算法块的说明文件为如图7所示的波形图,图中x为输入波形,y为输入波形,T为延时参数,
可选的,获取到的控制逻辑图和说明文件可为可扩展标记语言文件,例如xml文件等。
S2,利用解析函数对控制逻辑图进行解析,生成仿真任务文件,仿真任务文件用于确定控制逻辑图中各基础算法块的调用顺序。
应当理解的是,由于控制逻辑图包括基础算法块和连接基础算法块的连线,因此,对控制逻辑图的解析实际上为对基础算法块和连线的解析,包括但不限于对基础算法块的名称、参数、功能的解析以及连线连接的至少两个基础算法块的输入点、输出点以及连接顺序等。基于此,通过对控制逻辑图的解析,能够通过对基础算法块和连线的解析,得到用于确定控制逻辑图中各基础算法块调用顺序的仿真任务文件。
进一步地,利用解析函数对控制逻辑图进行解析,包括:利用第一解析函数解析基础算法块对应的基础算法块元素,基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据,利用第二解析函数见解析连线的坐标位置,并将坐标位置映射到基础算块的输入点位置或输出点位置。
其中,第一解析函数可为第一visio解析函数,即,可利用第一visio解析函数对控制逻辑图中的基础算法块进行解析,解析出定义基础算法块时为基础算法块设置的名称、静态属性和动态属性,其中,静态属性包括但不限于基础算法块形状外观,动态属性包括但不限于基础算法块形状数据。
第二解析函数也可为第二visio解析函数,即,可利用第二visio解析函数对控制逻辑图中的连线进行解析,解析出连线的起始位置对应的坐标和结束位置对应的坐标,然后再根据控制逻辑图中各基础算法块的输入点位置坐标和输出点坐标位置,确定连线连接的至少两个基础算法块以及至少两个基础算法块之间的逻辑顺序。
应当理解的是,在分别利用第一解析函数和第二解析函数对控制逻辑图中的基础算法块和连线进行解析之前,需要先识别出控制逻辑图中的基础算法块和连线进行识别,即,从控制逻辑图中提取出基础算法块和连线,然后,再分别利用第一解析函数和第二解析函数进行解析。
由此,本申请在基础算法块利用visio软件进行定义时,利用visio解析函数对其进行解析,能够快速、准确的实现对控制逻辑图解析的目的,无需测试设计人员人工分析,为后续自动生成测试用例有效提高解析效率,同时,有效降低人因错误,为后续自动生成的测试用例提高质量保障。
S3,将基础算法块对应的说明文件编译成与基础算法块对应的算法函数以及用于记载算法函数存储地址的算法块动态链接库文件。
需要说明的是,动态链接库是使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。也就是说,本申请通过将基础算法块对应的说明文件编译成可执行的函数存储在DLL文件中,并生成用于记载基础算法块对应的函数地址的算法动态链接库,以在仿真运行时能够从存储文件中调用各基础算法块对应的函数。
可选的,可将基础算法块对应的说明文件按照仿真运行的执行语言进行编译,例如,当仿真运行的语言为Microsoft Visual C++语言时,则将基础算法块对应的说明文件编译成Microsoft Visual C++语言的算法函数。
具体地,可根据核电DCS系统中多个基础算法块的类型,编写出编译模板,然后再根据对基础算法块的解析结果,将例如输入类型、输出类型、延迟时间、功能分类等填写到编译模板中,得到与基础算法块对应的算法函数,最后将根据控制逻辑图中全部的基础算法块对应的说明文件编译出的算法函数汇总成并存储在DLL文件中,并根据存储文件中各算法函数的存储地址生成算法块动态链接库。
S4,根据仿真任务文件记载的基础算法块的调用顺序以及算法块动态链接库文件记载的算法函数存储地址,有序调用算法函数,以对仿真任务文件对应的控制逻辑图进行仿真运算。
其中,测试用例与仿真任务文件可具有一一对应的关系,即,一个仿真任务文件中记载的基础算法块调用顺序对应一个测试用例的仿真顺序。
具体地,如图8所示,在进行仿真时,先根据解析控制逻辑图中连线得到的仿真任务文件确定执行基础算法块的顺序,然后,当达到执行某基础算法块对应的算法函数时,则根据算法块动态链接库记载的算法函数存储位置调用该基础算法块的算法函数,如此从仿真任务文件中的第一基础算法块直行至最后一个基础算法块,完成对仿真任务文件的仿真运行,得到测试结果。
在一个或多个实施例中,基础算法块对应的形状外观包括输入点名称和输出点名称,仿真任务文件包括至少一个测试输入点组合,测试输入点组合包括至少一个输入点名称,根据仿真任务文件有序按照算法块动态链接库调用算法函数,实现对测试用例的仿真运行,得到测试结果之前,还包括:获取与控制逻辑图对应的测试输入点组合,或者根据测试覆盖准则对控制逻辑图进行解析,得到控制逻辑图对应的测试输入点组合。
需要理解的是,核电站DCS系统的运行通常不是在一成不变的环境下,即,运行状态可能根据不同复杂需求等条件变化改变运行逻辑,因此,虽然控制逻辑图给出了完整的运行图,但是,在具体运行时,仍然容易出现变输入运行的状态。因此,对控制逻辑图的测试也需要在变输入点组合的环境下进行。
其中,在核电站DCS系统的测试输入点组合为固定组合时,例如,该控制逻辑图的输入情况为特定的一个或多个组合范围,此时,可由测试设计人员直接输入与控制逻辑图对应的测试输入点组合,减少冗余的仿真运行,提高整体的仿真效率。
或者,在不确定核电站DCS系统的测试输入点组合时,则可根据测试覆盖准则对控制逻辑图进行解析,得到与控制逻辑图对应的测试输入点组合,即,可将控制逻辑图中的输入点进行排列组合,得到多种测试输入点组合。可选的,可识别控制逻辑图中的初始输入点,即,控制逻辑图中总的输入点,或者第一个基础算法块对应的输出点,然后将初始输入点进行排列组合得到输入点组合。
具体地,获取由基础算法块组成的控制逻辑图和基础算法块对应的说明文件,然后利用解析函数对控制逻辑图进行解析,得到控制逻辑图中各基础算法块的调用顺序,并根据测试覆盖准则从控制逻辑图中确定出至少一组测试输入点组合,并基于测试输入点组合以及各基础算法块的调用顺序得到与测试输入点组合对应的基础算法块调用逻辑,其中,与测试输入点组合对应的基础算法块调用逻辑即为一个测试用例,根据与测试输入点组合对应的基础算法块调用逻辑依次根据算法块动态链接库调用算法函数,实现对测试用例的仿真运行,得到测试结果。
S5,根据测试输入和控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
其中,测试输入包括但不限于对测试输入点的控制策略,例如开关的开启或闭合状态等。
需要说明的是,如图9所示,测试用例文件包括测试输入点组合和经过仿真运算的与每个测试输入点组合对应的输出点组合。
也就是说,测试用例文件用于存储并表达在各种输入点组合情况下执行控制逻辑图得到的输出情况,其中,输出情况通过输出点组合进行表达。
在一个或多个实施例中,在根据仿真任务文件有序按照算法块动态链接库文件调用算法函数,实现对测试用例的仿真运行,得到测试结果之前,还包括:根据控制逻辑图中记载的至少一个基础算法块生成仿真数据文件,仿真数据文件用于存储基础算法块对应的基础算法块元素;在根据仿真任务文件有序按照算法块动态链接库文件调用算法函数,实现对测试用例的仿真运行,得到测试结果之后,还包括:将每个基础算法块对应的运算结果,写入基础算法块在仿真数据文件中的对应位置。
也就是说,为了方便测试设计人员对控制逻辑图进行校正,还可将每个基础算法块的运算结果进行保存,并保存在该基础算法块对应的基础算法块元素存储位置中。
具体地,获取由基础算法块组成的控制逻辑图和基础算法块对应的说明文件,利用解析函数对所述控制逻辑图进行解析,得到基础算法块对应的基础算法块元素,将基础算法块元素保存成仿真数据文件,在根据仿真任务文件有序按照算法块动态链接库文件调用算法函数进行仿真,并将在每个基础算法块被调用执行后得到的运算结果,写入该基础算法块在仿真数据中的对应位置,从而使得测试设计人员能够根据每个基础算法块的基础算法块元素和运算结果对基础算法块进行修正,即,对控制逻辑图进行修正。
本申请实施例的基于控制逻辑图的逻辑测试用例自动生成方法,在获取到控制逻辑图后,能够利用解析函数自动对控制逻辑图进行解析与仿真,无需人工参与,有效提高逻辑测试用例的生成效率,降低人因错误,提高测试用例的准确性和可靠性。
为了实现上述实施例,本申请还提出了一种基于控制逻辑图的逻辑测试用例自动生成装置。
图10是本申请一个实施例的基于控制逻辑图的逻辑测试用例自动生成装置的结构示意图。
如图10所示,该基于控制逻辑图的逻辑测试用例自动生成装置10,包括:
获取模块11,用于获取由基础算法块组成的控制逻辑图和基础算法块对应的说明文件;
解析模块12,用于利用解析函数对控制逻辑图进行解析,生成仿真任务文件,仿真任务文件用于确定控制逻辑图中各基础算法块的调用顺序;
编译模块13,用于将基础算法块对应的说明文件编译成与基础算法块对应的算法函数以及用于记载算法函数存储地址的算法块动态链接库文件;
仿真模块14,用于根据仿真任务文件记载的基础算法块的调用顺序以及算法块动态链接库文件记载的算法函数存储地址,有序调用算法函数,以对仿真任务文件对应的控制逻辑图进行仿真运算;
生成模块15,用于根据测试输入和控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
可选的,控制逻辑图包括基础算法块和连接基础算法块的连线,解析模块12,还用于:
利用第一解析函数解析基础算法块对应的基础算法块元素,基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据;
利用第二解析函数解析连线的坐标位置,并将坐标位置映射到基础算法块的输入点位置或输出点位置。
可选的,基础算法块对应的形状外观包括输入点名称和输出点名称,仿真任务文件包括至少一个测试输入点组合,测试输入点组合包括至少一个输入点名称,仿真模块14,还用于:
获取与控制逻辑图对应的测试输入点组合;或者
根据测试覆盖准则对控制逻辑图进行解析,得到与控制逻辑图对应的测试输入点组合。
可选的,测试用例文件包括测试输入点组合和经过仿真运算的与每个测试输入点组合对应的输出点组合。
可选的,仿真模块14,还用于:
根据控制逻辑图中记载的至少一个基础算法块生成仿真数据文件,仿真数据文件用于存储基础算法块对应的基础算法块元素;
将每个基础算法块对应的运算结果,写入基础算法块在仿真数据文件中的对应位置。
可选的,基础算法块由visio模具进行定义,控制逻辑图可由定义后的visio模具通过连线连接得到,解析函数为visio解析函数。
本申请实施例的基于控制逻辑图的逻辑测试用例自动生成装置,在获取到控制逻辑图后,能够利用解析函数自动对控制逻辑图进行解析与仿真,无需人工参与,有效提高逻辑测试用例的生成效率,降低人因错误,提高测试用例的准确性和可靠性。
为了实现上述实施例,本申请还提出了一种计算机设备。
该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如第一方面实施例的方法。
为了实现上述实施例,本申请还提出了一种非临时性计算机可读存储介质。
该非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面实施例的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
Claims (10)
1.一种基于控制逻辑图的逻辑测试用例自动生成方法,其特征在于,包括以下步骤:
获取由基础算法块组成的控制逻辑图和所述基础算法块对应的说明文件;
利用解析函数对所述控制逻辑图进行解析,生成仿真任务文件,所述仿真任务文件用于确定所述控制逻辑图中各所述基础算法块的调用顺序;
将所述基础算法块对应的说明文件编译成与所述基础算法块对应的算法函数以及用于记载所述算法函数存储地址的算法块动态链接库文件;
根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算;
根据测试输入和所述控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
2.根据权利要求1所述的方法,其特征在于,所述控制逻辑图包括所述基础算法块和连接所述基础算法块的连线,利用解析函数对所述控制逻辑图进行解析,包括:
利用第一解析函数解析所述基础算法块对应的基础算法块元素,所述基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据;
利用第二解析函数解析所述连线的坐标位置,并将所述坐标位置映射到所述基础算法块的输入点位置或输出点位置。
3.根据权利要求2所述的方法,其特征在于,所述基础算法块对应的形状外观包括输入点名称和输出点名称,所述仿真任务文件包括至少一个测试输入点组合,所述测试输入点组合包括至少一个输入点名称,所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之前,还包括:
获取与所述控制逻辑图对应的测试输入点组合;或者
根据测试覆盖准则对所述控制逻辑图进行解析,得到与所述控制逻辑图对应的测试输入点组合。
4.根据权利要求3所述的方法,其特征在于,所述测试用例文件包括所述测试输入点组合和经过仿真运算的与每个所述测试输入点组合对应的输出点组合。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之前,还包括:
根据所述控制逻辑图中记载的至少一个所述基础算法块生成仿真数据文件,所述仿真数据文件用于存储所述基础算法块对应的基础算法块元素;
在所述根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算之后,还包括:
将每个所述基础算法块对应的运算结果,写入所述基础算法块在所述仿真数据文件中的对应位置。
6.根据权利要求1-5中任一所述的方法,其特征在于,所述基础算法块由visio模具进行定义,所述控制逻辑图可由定义后的visio模具通过连线连接得到,所述解析函数为visio解析函数。
7.一种基于控制逻辑图的逻辑测试用例自动生成装置,其特征在于,包括:
获取模块,用于获取由基础算法块组成的控制逻辑图和所述基础算法块对应的说明文件;
解析模块,用于利用解析函数对所述控制逻辑图进行解析,生成仿真任务文件,所述仿真任务文件用于确定所述控制逻辑图中各所述基础算法块的调用顺序;
编译模块,用于将所述基础算法块对应的说明文件编译成与所述基础算法块对应的算法函数以及用于记载所述算法函数存储地址的算法块动态链接库文件;
仿真模块,用于根据所述仿真任务文件记载的所述基础算法块的调用顺序以及所述算法块动态链接库文件记载的所述算法函数存储地址,有序调用所述算法函数,以对所述仿真任务文件对应的控制逻辑图进行仿真运算;
生成模块,用于根据测试输入和所述控制逻辑图仿真运算,生成测试输出,最终生成测试用例。
8.根据权利要求7所述的装置,其特征在于,所述控制逻辑图包括所述基础算法块和连接所述基础算法块的连线,所述解析模块,还用于:
利用第一解析函数解析所述基础算法块对应的基础算法块元素,所述基础算法块元素包括基础算法块名称、基础算法块形状外观和基础算法块形状数据;
利用第二解析函数解析所述连线的坐标位置,并将所述坐标位置映射到所述基础算法块的输入点位置或输出点位置。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-6中任一所述的方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111489064.9A CN114185781A (zh) | 2021-12-07 | 2021-12-07 | 基于控制逻辑图的逻辑测试用例自动生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111489064.9A CN114185781A (zh) | 2021-12-07 | 2021-12-07 | 基于控制逻辑图的逻辑测试用例自动生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185781A true CN114185781A (zh) | 2022-03-15 |
Family
ID=80542608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111489064.9A Pending CN114185781A (zh) | 2021-12-07 | 2021-12-07 | 基于控制逻辑图的逻辑测试用例自动生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185781A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383094A (zh) * | 2023-06-05 | 2023-07-04 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种测试用例库构建方法、装置、设备及存储介质 |
-
2021
- 2021-12-07 CN CN202111489064.9A patent/CN114185781A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383094A (zh) * | 2023-06-05 | 2023-07-04 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种测试用例库构建方法、装置、设备及存储介质 |
CN116383094B (zh) * | 2023-06-05 | 2023-08-25 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种测试用例库构建方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3745256A1 (en) | External code integrations within a computing environment | |
CN107844424B (zh) | 基于模型的测试系统及方法 | |
CN107080945B (zh) | 测试游戏中人工智能行为的方法、装置及电子设备 | |
EP2561441A1 (en) | Improved embedded system performance | |
CN107451064B (zh) | 自动测试方法、装置、计算机设备和可读存储介质 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN114896174B (zh) | 用于后处理调试的数据处理系统 | |
CN106201891A (zh) | 一种模型自动化测试方法和装置 | |
CN113068452B (zh) | 一种自动测试系统软件开发平台的构建方法 | |
CN102375895B (zh) | 一种自动构建器件模型参数优化提取过程的方法 | |
US20180181379A1 (en) | Program Variable Convergence Analysis | |
CN103885341B (zh) | 基于汽车性能模拟器的性能分析系统和方法 | |
CN114185781A (zh) | 基于控制逻辑图的逻辑测试用例自动生成方法和装置 | |
CN114780326B (zh) | 一种跨平台标定测试方法、装置及设备 | |
CN114661615B (zh) | 一种fpga软件测试方法和设备 | |
CN104850476A (zh) | 跨平台接口自动化测试方法及系统 | |
CN109521692A (zh) | 风力发电机组信息交互模型生成方法及其装置 | |
CN106844221B (zh) | 一种实现虚拟验证系统覆盖率分析的方法 | |
CN110109374B (zh) | 液体火箭发动机推力调节系统的半实物仿真方法及装置 | |
CN117892665B (zh) | 基于电路系统级模型的建模仿真方法、装置、介质及设备 | |
CN111985014B (zh) | 一种基于标准图集的建模方法及系统 | |
CN111580409B (zh) | 面向实时嵌入式系统的故障仿真测试方法 | |
CN111581101A (zh) | 软件模型的测试方法、装置、设备和介质 | |
CN115562989A (zh) | 一种自动化测试序列转化方法、系统、设备和介质 | |
CN111078548B (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 |