CN114385271B - 基于插件的命令执行系统 - Google Patents
基于插件的命令执行系统 Download PDFInfo
- Publication number
- CN114385271B CN114385271B CN202210282385.XA CN202210282385A CN114385271B CN 114385271 B CN114385271 B CN 114385271B CN 202210282385 A CN202210282385 A CN 202210282385A CN 114385271 B CN114385271 B CN 114385271B
- Authority
- CN
- China
- Prior art keywords
- information
- plug
- configuration
- target configuration
- command
- 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
Images
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于插件的命令执行系统,包括信息配置模块,用于按照预设的信息配置模板生成至少一个目标配置信息,并发送至所述解析器,信息配置模板包括对应的至少一个step类型信息,每一step类型对应的插件id和step参数信息,以及基于step类型信息生成的至少一个flow信息;解析器,用于解析目标配置信息,并将每一step类型对应的step类型信息、插件id以及flow信息发送给命令执行器;插件库中包括至少一个插件,每一插件对应一个step类型;命令执行器用于基于目标配置信息中对应的插件id调用对应的插件,基于对应的插件和step参数信息,生成每一step对应的step执行命令,基于flow信息分步执行对应的step命令。本发明提高了命令生成及执行效率,且便于批量修改。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于插件的命令执行系统。
背景技术
在多种应用场景中,需要大批量生成并执行命令,例如,在开发IC(IntegratedCircuit集成电路)过程中,需要生成并执行多个测试用例(test case)来验证仿真软件的代码,测试用例的数量可能达到万级甚至十万级别。现有技术是直接采用step命令文件来执行测试用例,则海量需要生成并执行海量测试用例的场景下,效率极低。且海量的脚本生成需求造成了大量同源的或者类似的自动化脚本难于规范化编写、集中更新和管理。且运行环境是特定的情况下,一种脚本写好后很难简单的转化成另外一种脚本形式。且此外,普通的模板系统难于扩展,更无法根据用户需求不断的扩展。当需要生成并执行万级甚至十万级别的测试用例命令时,效率极低,且如果需要批量修改时,需要逐个修改测试用例的脚本,生成和执行测试用例命令的效率极低,且易出错。
发明内容
本发明目的在于,提供一种基于插件的命令执行系统,提高了命令生成及执行效率,且便于批量修改。
本发明提供了一种基于插件的命令执行系统,包括信息配置模块、解析器、插件库和命令执行器,其中,
所述信息配置模块用于按照预设的信息配置模板生成至少一个目标配置信息,并将目标配置信息发送至所述解析器,所述信息配置模板包括对应的至少一个step类型信息,每一step类型对应的插件id和step参数信息,以及基于step类型信息生成的至少一个flow信息;
所述解析器用于解析所述目标配置信息,并将每一step类型对应的step类型信息、插件id以及flow信息发送给所述命令执行器;
所述插件库中包括至少一个插件,每一插件对应一个step类型;
所述命令执行器用于基于所述目标配置信息中对应的插件id从所述插件库中调用对应的插件,基于所述对应的插件和step参数信息,生成每一step对应的step执行命令,基于flow信息分步执行对应的step命令。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于插件的命令执行系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明通过设置统一的信息配置模板生成目标配置信息,通过设置插件库并结合目标配置信息自动化生成并执行命令,提高了命令生成及执行效率,且便于批量修改。此外,信息配置模板中的step类型信息、flow信息以及插件库中的插件均可以根据应用需求扩展,且便于批量修改。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于插件的命令执行系统示意图;
图2为本发明实施例提供的插件结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于插件的命令执行系统的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种基于插件的命令执行系统,如图1所示,包括信息配置模块、解析器、插件(Plugin)库和命令执行器,其中,
所述信息配置模块用于按照预设的信息配置模板生成至少一个目标配置信息,并将目标配置信息发送至所述解析器,所述信息配置模板包括对应的至少一个step(步骤)类型信息,每一step类型对应的插件id和step参数信息,以及基于step类型信息生成的至少一个flow(流程)信息。需要说明的是,通过设置信息配置模板,可以生成命令,且模板可以相互引用,功能相似的命令也可以共享大部分功能,在减少同类型命令编写工作的同时,可以规范化命令编写模式。作为一种实施例,所述系统具体可用于生成并执行测试用例的场景,所述命令具体为执行测试用例的命令。
所述解析器用于解析所述目标配置信息,并将每一step类型对应的step类型信息、插件id以及flow信息发送给所述命令执行器。
所述命令执行器用于基于所述目标配置信息中对应的插件id从所述插件库中调用对应的插件,基于所述对应的插件和step参数信息,生成每一step对应的step执行命令,基于flow信息分步执行对应的step命令。需要说明的是,插件对应的step具体可以为makefile的step、shell的step或tcl类型的step等等。
本发明实施例所述系统通过设置统一的信息配置模板生成目标配置信息,通过设置插件库并结合目标配置信息自动化生成并执行命令,提高了命令生成及执行效率,且便于批量修改。此外,信息配置模板中的step类型信息、flow信息以及插件库中的插件均可以根据应用需求扩展,且便于批量修改。
作为一种实施例,所述信息配置模块可以为每一测试用例单独配置一个对应的目标配置信息,但可以理解的是,相同的step类型信息、step类型对应的插件id、基于step类型信息生成flow信息是可以复用的。
作为另一种实施例,所述信息配置模块还可以为多个测试用例批量生成目标配置信息,且其中的step类型信息、step类型对应的插件id、基于step类型信息生成flow信息可以以继承的形式复用。具体的,所述信息配置模块还用于将多个目标配置信息划分为M个信息组,为每个信息组设置信息组内所有目标配置对应的step类型信息集合、flow信息集合以及每一目标配置信息对应的step参数信息,每一目标信息继承对应组内的step类型信息集合、flow信息集合。通过继承的形式复用step类型信息、step类型对应的插件id、基于step类型信息生成flow信息,更加便于批量修改和管理,提高了批量测试用例命令的生成效率。
作为一种实施例,所述信息组中还设置有信息组配置描述信息,每一目标配置信息还包括对应的配置描述信息,所述配置描述信息设置在所述目标配置信息内,或继承所述信息组对应的信息组配置描述信息。配置描述信息为元数据,设置为文本信息,具体可包括标签信息、所有者信息、step命令功能信息。需要说明的是,信息组对应的信息组配置描述信息为可以由组内目标配置信息继承的默认配置描述信息,当组内目标配置信息中配置有对应的配置描述信息时,则以配置的配置描述信息为准,如果没有配置,则直接继承信息组配置描述信息。基于配置描述信息,便于测试用例命令的分类和管理,大大减轻了测试用例命令本分类和管理的工作量,且可以批量遴选。
作为一种实施例,所述系统还包括遴选模块,所述遴选模块用于基于预设配置描述信息遍历所有目标配置信息,从中遴选出所有预设配置描述信息对应的目标配置信息,通过所述命令执行器批量生成测试用例命令进行执行。需要说明的是,遴选模块是可以针对多个不同的信息组中的目标配置信息进行批量遴选的,便于批量操作。
作为一种实施例,所述插件库中包括至少一个插件,每一插件对应一个step类型,需要说明的是,已经生成的插件可以直接调用,也可以修改插件,通过修改插件即可批量修改测试用例命令。可以直接配置好通用插件,此外,用户可以方便灵活的实现各种插件来扩展整个系统。对于一批万级甚至十万级数量的测试用例,所需的step类型也仅有几十个,甚至更少,因此,通过配置好插件库,基于插件库和目标配置信息即可快速准确生成万级甚至十万级数量的测试用例命令,大大提高了测试用例命令生成效率。
作为一种实施例,所述插件基于预设的插件结构生成,如图2所示,所述预设的插件结构包括step参数数据段(step option declaration)和执行函数数据段(ExecutionFunction),所述step参数数据段用于获取所述目标配置信息中对应的step类型的step参数信息;所述执行函数数据段用于设置执行函数。
作为一种实施例,被调用的插件从所述目标配置信息中获取对应的step类型的step参数信息,将所述对应的step类型的step参数信息存储至所述step参数数据段,调用所述执行函数,将所述对应的step类型的step参数信息对应配置在所述执行函数中,生成对应的step执行命令。
作为一种实施例,如图2所示,所述预设的插件结构还可包括注释信息(comments),所述注释信息包括插件id、step类型信息;所述命令执行器还用于基于所述注释信息生成注释显示信息进行显示,便于用户查看。
作为一种实施例,所述信息配置模块在配置step参数信息时,所述step参数信息包括必选参数信息和可选参数信息,所述必选信息初始状态为空,所述可选信息初始状态为默认值,所述信息配置模块用于基于用户输入的必选参数生成所述必选参数信息;所述信息配置模块若接收到用户输入的可选参数值,则将用户输入的可选值替换对应的可选参数信息,否则,可选参数信息保留对应的默认值。
所述flow信息基于对应的step类型信息按照执行顺序排序生成,例如,step集合“steps”为{step1,step2,......,stepM},flow信息集合“flows”={flow1,flow2,......,flowN}, flow1=(step1,step2,step4), flow2=(step2,step5,step4)等等。此外,flow信息还可设置一个默认flow=(step1,step2,......,stepM),若未配置flow信息,则直接选择默认flow作为flow信息。
作为一种实施例,所述系统还包括第一检测模块,用于验证目标配置信息的正确性,具体的,第一检测模块与所述信息配置模块相连接,用于检测所述信息配置模块所生成的目标配置信息是否符合预设的配置文件语法,若符合,则继续检测所述目标配置信息是否符合信息配置模板,若符合,则将目标配置信息发送至所述解析器,若所述目标配置信息不符合预设的配置文件语法,或者所述目标配置信息不符合信息配置模板,则生成第一预警信息。通过第一检测模块能够及时检测出测试用例命令生成过程中出现的错误,并进行预警,及时避免生成错误step命令。
作为一种实施例,所述系统还包括插件加载器,所述插件加载器分别与所述插件库和命令执行器相连接,所述插件加载器基于所述目标配置信息中对应的插件id从所述插件库中加载对应的插件,并发送给所述命令执行器。
作为一种实施例,所述系统还包括第二检测模块,与所述插件加载器相连接,用于在将所述插件加载器所加载的插件送给所述命令执行器之前,检测所加载的插件是否符合预设的插件结构,若符合,则将所述插件加载器所加载的插件送给所述命令执行器,否则,生成第二预警信息。通过第二检测模块能够及时检测出测试用例命令生成过程中出现的错误,并进行预警,及时避免生成错误命令。
需要说明的是,可以根据具体应用需求仅设置第一检测模块、第二检测模块中的任意一个或多个,如果全部设置,则能够及时快速检测出每一过程出现的错误,提高测试用例命令生成的准确性。
作为一种实施例,本发明所述系统可以适用于批量生成并执行测试用例(testcase)等应用场景,以批量生成测试用例验证IC设计软件的代码为例,通过本系统生成并执行每一测试用例的命令。而不是直接用脚本文件执行测试用例,提高了测试用例命令的生成和执行效率。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种基于插件的命令执行系统,其特征在于,
包括信息配置模块、解析器、插件库和命令执行器,其中,
所述信息配置模块用于按照预设的信息配置模板生成至少一个目标配置信息,并将目标配置信息发送至所述解析器,所述信息配置模板包括对应的至少一个step类型信息,每一step类型对应的插件id和step参数信息,以及基于step类型信息生成的至少一个flow信息;
所述信息配置模块还用于将多个目标配置信息划分为M个信息组,为每个信息组设置信息组内所有目标配置对应的step类型信息集合、flow信息集合以及每一目标配置信息对应的step参数信息,每一目标信息继承对应组内的step类型信息集合、flow信息集合;
所述解析器用于解析所述目标配置信息,并将每一step类型对应的step类型信息、插件id以及flow信息发送给所述命令执行器;
所述插件库中包括至少一个插件,每一插件对应一个step类型;
所述命令执行器用于基于所述目标配置信息中对应的插件id从所述插件库中调用对应的插件,基于所述对应的插件和step参数信息,生成每一step对应的step执行命令,基于flow信息分步执行对应的step命令。
2.根据权利要求1所述的系统,其特征在于,
所述插件基于预设的插件结构生成,所述预设的插件结构包括step参数数据段和执行函数数据段,所述step参数数据段用于获取所述目标配置信息中对应的step类型的step参数信息;所述执行函数数据段用于设置执行函数。
3.根据权利要求2所述的系统,其特征在于,
当所述插件被所述命令执行器调用时,从所述目标配置信息中获取对应的step类型的step参数信息,将所述对应的step类型的step参数信息存储至所述step参数数据段,调用所述执行函数,将所述对应的step类型的step参数信息对应配置在所述执行函数中,生成对应的step执行命令。
4.根据权利要求2所述的系统,其特征在于,
所述预设的插件结构还包括注释信息,所述注释信息包括插件id、step类型信息;所述命令执行器还用于基于所述注释信息生成注释显示信息进行显示。
5.根据权利要求1所述的系统,其特征在于,
所述step参数信息包括必选参数信息和可选参数信息,所述必选参数信息初始状态为空,所述可选参数信息初始状态为默认值,所述信息配置模块用于基于用户输入的必选参数生成所述必选参数信息;所述信息配置模块若接收到用户输入的可选参数值,则将用户输入的可选值替换对应的可选参数信息,否则,可选参数信息保留对应的默认值。
6.根据权利要求1所述的系统,其特征在于,
所述信息组中还设置有信息组配置描述信息,每一目标配置信息还包括对应的配置描述信息,所述配置描述信息设置在所述目标配置信息内,或继承所述信息组对应的信息组配置描述信息。
7.根据权利要求1所述的系统,其特征在于,
所述系统还包括遴选模块,所述遴选模块用于基于预设配置描述信息遍历所有目标配置信息,从中遴选出所有预设配置描述信息对应的目标配置信息,通过所述命令执行器批量生成step命令进行执行。
8.根据权利要求1所述的系统,其特征在于,
所述系统还包括插件加载器,所述插件加载器分别与所述插件库和命令执行器相连接,所述插件加载器基于所述目标配置信息中对应的插件id从所述插件库中加载对应的插件,并发送给所述命令执行器。
9.根据权利要求1所述的系统,其特征在于,
所述flow信息基于对应的step类型信息按照执行顺序排序生成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282385.XA CN114385271B (zh) | 2022-03-22 | 2022-03-22 | 基于插件的命令执行系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210282385.XA CN114385271B (zh) | 2022-03-22 | 2022-03-22 | 基于插件的命令执行系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385271A CN114385271A (zh) | 2022-04-22 |
CN114385271B true CN114385271B (zh) | 2022-06-03 |
Family
ID=81205328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210282385.XA Active CN114385271B (zh) | 2022-03-22 | 2022-03-22 | 基于插件的命令执行系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385271B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017096990A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 测试脚本自动生成方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7926038B2 (en) * | 2005-11-21 | 2011-04-12 | International Business Machines Corporation | Method, system and computer program for testing a command line interface of a software product |
US20070283327A1 (en) * | 2006-06-02 | 2007-12-06 | Microsoft Corporation | Hierarchical test verification using an extendable interface |
CN109871312B (zh) * | 2017-12-05 | 2022-08-12 | 航天信息股份有限公司 | 一种接口测试方法、装置、设备及可读存储介质 |
CN108845956A (zh) * | 2018-09-20 | 2018-11-20 | 广州酷狗计算机科技有限公司 | 应用程序测试的方法和装置 |
CN112799966B (zh) * | 2021-03-29 | 2021-06-29 | 广州嘉为科技有限公司 | 可扩展插件化批量生成测试数据方法、系统、设备及介质 |
-
2022
- 2022-03-22 CN CN202210282385.XA patent/CN114385271B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017096990A1 (zh) * | 2015-12-07 | 2017-06-15 | 中兴通讯股份有限公司 | 测试脚本自动生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114385271A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949338B1 (en) | Automated software bug discovery and assessment | |
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
CN109582301B (zh) | 基于任务调度系统的业务处理方法、装置、设备及介质 | |
US10073683B2 (en) | System and method for providing software build violation detection and self-healing | |
CN111399853A (zh) | 机器学习模型与自定义算子的模板化部署方法 | |
CN107391366B (zh) | 一种测试用例的生成方法及执行方法和装置 | |
CN104778124A (zh) | 一种软件应用自动化测试方法 | |
US20210103514A1 (en) | Reusable test cases for identifiable patterns | |
CN104035873A (zh) | 测试代码生成方法及生成装置 | |
US9851944B2 (en) | Operation search method and operation search apparatus | |
EP3413149B1 (en) | Field device commissioning system and field device commissioning method | |
CN104657274A (zh) | 软件界面测试方法及装置 | |
US20220164170A1 (en) | Usage-based software library decomposition | |
CN105591779A (zh) | 网元巡检方法及装置 | |
CN115658529A (zh) | 用户页面的自动化测试方法以及相关设备 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN113094252A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN112463596B (zh) | 测试用例数据的处理方法、装置、设备以及处理设备 | |
CN114385271B (zh) | 基于插件的命令执行系统 | |
CN114756217B (zh) | 基于插件的脚本生成系统 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN112256554B (zh) | 一种基于场景测试用例进行测试的方法及设备 | |
CN114116471A (zh) | 一种自动化代码扫描方法、系统、电子设备与存储介质 | |
JP2014126900A (ja) | プログラム解析装置、プログラム解析方法、及び、プログラム解析プログラム | |
CN112015633A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |