CN114371993A - 基于scpi指令的软件调试方法和装置、电子设备及存储介质 - Google Patents
基于scpi指令的软件调试方法和装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114371993A CN114371993A CN202111536998.3A CN202111536998A CN114371993A CN 114371993 A CN114371993 A CN 114371993A CN 202111536998 A CN202111536998 A CN 202111536998A CN 114371993 A CN114371993 A CN 114371993A
- Authority
- CN
- China
- Prior art keywords
- scpi
- instruction
- tested
- software product
- scpi instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
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/362—Software debugging
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
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)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种基于SCPI指令的软件调试方法和装置、电子设备及存储介质。基于SCPI指令的软件调试方法包括:获取步骤:获取输入的SCPI指令和针对SCPI指令的自动执行命令;处理步骤:响应于自动执行命令,自动将SCPI指令传输至待测软件产品,以由待测软件产品执行;反馈步骤:接收待测软件产品返回的执行结果。相对现有技术中通过人力手动点击每条SCPI指令来执行来说,该方法既极大地提高了软件调试的效率,又在一定程度上降低了人力资源成本。
Description
技术领域
本发明涉及软件应用技术领域,更具体地涉及一种基于SCPI指令的软件调试方法和装置、电子设备及存储介质。
背景技术
在可编程产品交付之前需要进行软件调试,目前通常采用可编程仪器标准命令(SCPI)指令进行软件调试。在现有技术中,软件调试的过程如下:需要调试人员输入很多条SCPI指令,并在需要运行某一条SCPI指令时依靠人工点击该指令,以控制该指令在待测软件产品上执行,进而根据SCPI指令的执行结果分析待测软件产品的性能。现有的软件调试方法存在如下问题:由于每个SCPI指令均需要通过人为的方式来控制运行,而往往SCPI指令的数量较多,因此,需要人为执行很多次点击操作,导致操作繁琐、调试效率低。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种基于SCPI指令的软件调试方法和装置、电子设备及存储介质。
根据本发明一方面,提供一种基于SCPI指令的软件调试方法,包括:获取步骤:获取输入的SCPI指令和针对SCPI指令的自动执行命令;处理步骤:响应于自动执行命令,自动将SCPI指令传输至待测软件产品,以由待测软件产品执行;反馈步骤:接收待测软件产品返回的执行结果。
示例性地,获取步骤,还包括:获取输入的循环参数;根据循环参数生成自动执行命令;处理步骤,包括:响应于自动执行命令,根据循环参数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,循环参数包括:相邻两个SCPI指令之间的间隔时间参数和/或循环次数;获取步骤,包括:获取输入的相邻两个SCPI指令之间的间隔时间参数和/或循环次数,根据间隔时间参数和/或循环次数生成自动执行命令;处理步骤,包括:响应于自动执行命令,根据间隔时间参数和/或循环次数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,获取步骤包括:获取针对单条或者多条SCPI指令的选择请求,并根据请求生成针对单条或者多条SCPI指令的自动执行命令;处理步骤,包括:响应于自动执行命令,自动将选择的单条或者多条SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,获取步骤,还包括:获取每条SCPI指令的理想结果;方法还包括:判断步骤:根据执行结果和理想结果判断调试结果。
示例性地,方法还包括:显示步骤:在显示界面中显示输入的SCPI指令与SCPI指令的相关信息;其中,SCPI指令的相关信息包括针对SCPI指令的执行结果、理想结果、调试结果。
示例性地,获取步骤,还包括:获取每条SCPI指令的备注信息;在显示步骤中,显示的SCPI指令的相关信息还包括SCPI指令的备注信息;其中,SCPI指令的备注信息是用于指示对应的SCPI指令所实现的功能的信息。
示例性地,在显示步骤中,不同的SCPI指令分行一一对应显示;
每条SCPI指令与SCPI指令的相关信息的一个或多个同行显示;每条SCPI指令的相关信息分栏显示。
示例性地,调试结果包括以下一项或多项:报警、警告、提示和正确。
根据本发明另一方面,提供了一种基于SCPI指令的软件调试装置,包括:获取模块,用于获取输入的SCPI指令和针对SCPI指令的自动执行命令;处理模块,用于响应于自动执行命令,自动将SCPI指令传输至待测软件产品,以由待测软件产品执行;反馈模块,用于接收待测软件产品返回的执行结果。
根据本发明又一方面,提供了一种电子设备,包括处理器和存储器,其中,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述基于SCPI指令的软件调试方法。
根据本发明再一方面,提供了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述基于SCPI指令的软件调试方法。
根据上述技术方案,通过获取用户输入的SCPI指令以及自动执行一条或者多条SCPI指令的自动执行命令,自动将SCPI指令传输至待测软件产品,由待测软件产品执行该命令并返回执行结果。相对现有技术中通过人力手动点击每条SCPI指令来执行来说,既极大地提高了软件调试的效率,又在一定程度上降低了人力资源成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出根据本发明一个实施例的基于SCPI指令的软件调试方法的示意性流程图;
图2示出根据本发明一个实施例的用户选择SCPI指令的界面的局部示意图;
图3示出根据本发明一个实施例的显示界面的局部示意图;
图4示出根据本发明一个实施例的基于SCPI指令的软件调试装置的示意性框图;以及
图5示出根据本发明一个实施例的电子设备的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了至少部分地解决上述问题,本发明实施例提供一种基于SCPI指令的软件调试方法。SCPI(Standard Commands for Programmable Instruments)即可编程仪器标准命令集,是一种基于ASCII码的标准仪器编程语言。在本发明实施例中,基于SCPI指令的发送与执行实现对软件产品的调节和测试。
图1示出了本发明一个实施例的基于SCPI指令的软件调试方法1000的示意性流程图。如图1所示,基于SCPI指令的软件调试方法1000可以包括以下步骤S1100、步骤S1200和步骤S1300。
步骤S1100,获取步骤:获取输入的SCPI指令和针对SCPI指令的自动执行命令。
示例性地,用户可以根据需求输入针对待测软件产品的相关SCPI指令。SCPI指令可以包括控制指令和查询指令等。示例性而非限制性地,用户输入的SCPI指令可以包括SCPI指令语句和SCPI指令参数。SCPI指令语句例如“SYSTem:VERSION?”、“DISP:PICT:ID”、“DISP:PICT:ID?”等。在SCPI指令语句中,查询指令一般是以问号结束。SCPI指令参数是进一步限定需要执行的SCPI指令。例如,“查询系统中硬件的版本”指令,需要在SCPI指令语句“SYSTem:VERSION?”后输入SCPI指令参数“HARDWARE”。又例如,“切换图片到第12张”指令,需要在SCPI指令语句“DISP:PICT:ID”后输入位置参数“12”等。
示例性地,用户可以在操作界面上输入SCPI指令。可选地,在用户的操作界面中可以包含有一个可供用户选择和输入SCPI指令的窗口,在该窗口下可以包含多个可编辑输入框和/或下拉复选框,可以分别用于用户直接输入或者从中选择SCPI指令语句和/或SCPI指令参数。
又可选地,在用户的操作界面还可以包含有一个可以导入SCPI指令的导入控件。通过点击该控件,可以把外部的已编辑好的SCPI指令以系统可以识别的文件格式导入进来。当然,可选地,在用户的操作界面还可以包含有一个可以导出编辑好的SCPI指令的导出控件。通过点击该控件,可以把用户通过操作界面编辑好的SCPI指令以系统可以识别的文件格式导出。上述系统可以识别的文件格式可以是例如excel文件格式(.xls格式)等。
针对SCPI指令的自动执行命令可以包括多种模式,例如单步执行命令模式、多步执行命令模式、循环执行命令模式等。可选地,在用户的操作界面可以包含有与一种或多种模式一一对应的自动执行控件。示例性而非限制性地,上述执行控件可以是按钮控件,例如单步执行按钮、多步执行按钮、循环执行按钮等。又可选地,可以包含一个自动执行的下拉菜单栏,通过下拉菜单栏可以选择不同的自动执行命令模式。用户根据实际的测试需求,可以先后发送不同的自动执行命令。
步骤S1200,处理步骤:响应于自动执行命令,自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,本申请实施例中的方法可以通过加载在一种装置或系统(称为基于SCPI指令的软件调试装置或系统)中实现。该基于SCPI指令的软件调试装置或系统与待测软件产品可以通过任何合适的有线或无线通信模块连接起来用以互相传输信号。例如,上述通信模块可以是局域网(LAN)、通用串行总线(USB)、通用接口总线(GPIB)等通信接口或者其他可以实现通信的端口。待测软件产品可以是支持SCPI通讯协议标准规范的不同类型的软件产品,例如带有嵌入式控制系统的图像信号发生器(PG)。
示例性地,该基于SCPI指令的软件调试装置或者系统中还可以包含控制器。通过该控制器可以接收用户输入的SCPI指令,还可以根据用户选择的自动执行命令将SCPI指令发送给待测软件产品。
示例性地,用户可以在基于SCPI指令的软件调试装置或者系统的操作界面上输入自动执行命令,例如用户通过鼠标左键点击操作界面上的单步执行按钮,或者通过下拉菜单栏选定相应的自动执行命令。
在一个示例中,基于SCPI指令的软件调试装置或者系统接收到用户选定的SCPI指令与相应的自动执行命令之后,可以将SCPI指令按照自动执行命令所规定的规则传输给待测软件产品。待测软件产品接收到SCPI指令后,直接开始执行该SCPI指令。在该示例中,基于SCPI指令的软件调试装置或者系统传输SCPI指令给待测软件产品时就按照自动执行命令所规定的规则传输。例如,自动执行命令是循环执行命令且循环次数为3次,则基于SCPI指令的软件调试装置或者系统可以在接收到用户输入的该循环执行命令之后,就生成包含指定SCPI指令的指令集,该指令集中指定SCPI指令循环出现3次。基于SCPI指令的软件调试装置或者系统将整个指令集传输给待测软件产品,待测软件产品直接按照接收顺序执行整个指令集即可。上述指定SCPI指令是用户指定的SCPI指令。
在另一个示例中,基于SCPI指令的软件调试装置或者系统接收到用户选定的SCPI指令与相应的自动执行命令之后,可以将SCPI指令直接传输给待测软件产品。待测软件产品接收到SCPI指令后,按照自动执行命令所规定的规则执行对应的SCPI指令。在该示例中,基于SCPI指令的软件调试装置或者系统传输SCPI指令给待测软件产品时可以无需考虑自动执行命令所规定的规则,而是在待测软件产品一侧执行时再考虑自动执行命令所规定的规则。例如,自动执行命令是循环执行命令且循环次数为3次,则基于SCPI指令的软件调试装置或者系统可以在接收到用户输入的该循环执行命令之后,直接将指定SCPI指令和循环执行命令传输给待测软件产品。待测软件产品再按照循环执行命令执行指定SCPI指令3次。
步骤S1300,反馈步骤:接收待测软件产品返回的执行结果。
待测软件产品执行对应的SCPI指令完成之后,可以将执行结果返回基于SCPI指令的软件调试装置或者系统。基于SCPI指令的软件调试装置或者系统接收该执行结果,并可以将其显示在操作界面上和/或存储在存储器中。执行结果为待测软件产品执行该SCPI指令的结果。例如,当待测软件产品接收到的SCPI指令为“查询系统中硬件的版本”时,待测软件产品通过执行该查询指令,返回的执行结果为例如1.03,该执行结果表示查询到的硬件版本为1.03。又例如,待测软件产品收到的SCPI指令为控制指令,例如“切换图片到第12张”,则待测软件返回的执行结果可以为“执行完成”或者“执行有误”。
根据上述技术方案,通过获取用户输入的SCPI指令以及自动执行SCPI指令的自动执行命令,自动将SCPI指令传输至待测软件产品,由待测软件产品执行该命令并返回执行结果。相对现有技术中通过人力手动点击每条SCPI指令来执行来说,既极大地提高了软件调试的效率,又在一定程度上降低了人力资源成本。
示例性地,步骤S1100可以包括获取针对单条或者多条SCPI指令的选择请求,并根据该请求生成针对单条或者多条SCPI指令的自动执行命令;步骤S1200可以包括:响应于自动执行命令,自动将选择的单条或者多条SCPI指令传输至待测软件产品,以由待测软件产品执行。
用户可以根据对待测软件产品的测试需求在操作界面中同时输入任意数量的SCPI指令。基于SCPI指令的软件调试装置或者系统接收该指令后,可以在操作界面中逐条显示各个SCPI指令。可选地,在该操作界面中还可以包括有复选框,供用户选定需要执行的SCPI指令。
图2为一个示例的用户选择SCPI指令的界面的局部示意图。如图2所示,在该选择界面显示了用户输入的5条SCPI指令,其中包括3条查询指令和2条控制指令。用户可以选中其中任意一条或多条SCPI指令,并发出针对一条或多条SCPI指令的自动执行命令。
如前所述,用户可以根据需求灵活地选择不同的自行执行命令模式。可选地,当用户选择其中一条SCPI指令,可以通过鼠标右键点击“单步执行”按钮向基于SCPI指令的软件调试装置或者系统发出仅执行该SCPI指令的自动执行命令。又可选地,当用户选择其中的多条SCPI指令,例如图2中的选择界面示出的选择列表中的第1、2、5条SCPI指令,可以通过鼠标右键点击“多步执行”按钮向基于SCPI指令的软件调试装置或者系统发出同时执行选中的3条SCPI指令的自动执行命令。又可选地,对于多条SCPI指令的执行顺序,可以在该选择界面上,通过按住鼠标左键上下拖动SCPI指令的方式对选中的SCPI指令进行排序,按照选中的SCPI指令在列表中的顺序先后执行SCPI指令。
示例性地,基于SCPI指令的软件调试装置或者系统接收到用户发出的图2中示出的用户选定的3条SCPI指令以及“多步执行”的自动执行命令模式之后,可以将该3条SCPI指令传输给待测软件产品,以由待测软件产品执行。待测软件产品执行上述3条SCPI指令之后,将执行结果返回至基于SCPI指令的软件调试装置或者系统。
根据上述技术方案,可以根据用户的需求灵活设置自动执行的SCPI指令的数量,由待测软件产品执行对应的SCPI指令。待测软件产品返回的执行结果可以是针对单条SCPI指令的执行结果,也可以是多条SCPI指令同时执行的执行结果。不仅可以单独查看某个SCPI指令的执行结果并核对错误,还可以多条并行查看。既可以提高测试效率又便于进一步核对错误以进行调整,因此,又在一定程度上提高了软件调试的实用性。
示例性地,SCPI指令的自动执行命令还可以包括循环执行命令,不仅包括单条SCPI指令的任意多次循环执行,还可以包括多条SCPI指令的任意多次循环执行。循环的场景主要是用于针对SCPI指令的单功能的长时间压力测试。单功能可以是一条SCPI指令的功能,又可以是多条SCPI指令组成的功能。
示例性地,在用户的操作界面上还可以包括用于设置SCPI指令自动循环执行的相关参数的控件,例如输入框控件和/或选择框控件。在本发明的实施例中,用“循环参数”来表示SCPI指令自动循环执行的相关参数。可选地,上述操作界面上可以包括一个“循环参数设置”的菜单栏,在该菜单栏下供用户输入或选择自动循环执行的相关参数。
根据本发明实施例,获取步骤S1100还可以包括:步骤S1110,获取输入的循环参数;步骤S1120,根据循环参数生成自动执行命令;处理步骤S1200包括:响应于自动执行命令,根据循环参数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
例如,用户在操作界面通过复选框选定需要执行的SCPI指令之后,点击界面上的“循环参数设置”菜单栏,并通过该菜单栏下的子菜单设置符合相应软件测试需求的循环参数。基于SCPI指令的软件调试装置或者系统接收该循环参数的设置信息,并在用户点击“循环执行”按钮之后确认并生成针对用户选定的SCPI指令的且根据用户设置的循环参数进行循环执行的自动执行命令。进一步地,在处理步骤S1200中,响应于自动执行命令,基于SCPI指令的软件调试装置或者系统可以根据循环参数自动将SCPI指令传输至待测软件产品以由待测软件产品执行相应的循环执行命令。
示例性地,上述用于设置循环执行命令的循环参数可以包括时间间隔参数和/或循环次数;获取步骤S1100包括:获取输入的相邻两个SCPI指令之间的间隔时间参数和/或循环次数,根据间隔时间参数和/或循环次数生成自动执行命令;处理步骤S1200包括:响应于自动执行命令,根据间隔时间参数和/或循环次数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
其中,时间间隔参数是指运行相邻两个SCPI指令之间的间隔时间的参数,例如10毫秒、50毫秒、1分钟或者根据测试需求所需要的任意值。可选地,时间间隔参数还可以包括第一时间间隔参数和第二时间间隔参数。其中,第一时间间隔参数可以表示在每个循环中,每两条SCPI指令之间的间隔时间;第二时间间隔参数可以表示每次循环的最后一条SCPI指令和下一次循环的第一条SCPI指令之间的间隔时间。示例性地,当循环执行的SCPI指令数量为一条时,第一时间间隔参数等于第二时间间隔参数。当循环执行的SCPI指令为多条时,第一时间间隔参数与第二时间间隔参数可以相同或不同。
循环次数,即选定的SCPI指令共需要执行多少次。循环次数可以为1~+∞的任意次数。对于实际操作中,也可以不限制循环次数,在循环执行命令开始后的任意时间,以诸如鼠标左键再次点击“循环执行”按钮的方式结束该循环执行命令。
例如,在图2示出的界面中,用户选中3条SCPI指令后,可以点击下拉菜单栏“循环参数设置”,且在第二层子菜单栏中点击“第一时间间隔参数设置”,最后通过第三层子菜单栏中的“延时时间”的单选框选中10、“单位”的单选框选择毫秒。同样将第二时间间隔参数设置为20毫秒,将循环次数设置为1000次。基于SCPI指令的软件调试装置或系统获取该SCPI指令以及循环参数后,生成自动执行命令。当用户点击“循环执行”按钮之后,由基于SCPI指令的软件调试装置或系统将SCPI指令传输至待测软件产品,以由待测软件产品执行。可以理解,在待测软件执行针对该3条SCPI指令的自动循环执行过程中:在一个循环中,每一条指令执行结束至下一条指令执行开始之间的时间间隔为10毫秒;每条SCPI指令执行结束至再次执行该SCPI指令需要10+10+20=40毫秒的延时时间;并且在该循环执行1000次之后自动结束执行。
需要说明的是,上述通过循环参数设置来控制自动循环执行SCPI指令的方法仅是本发明实施例中的一个示例,任何现有的或者未来的可以控制SCPI指令的自动循环执行方式的技术方案都应落入本申请的保护范围中。
根据上述技术方案,通过获取用户设置的自动执行SCPI指令的循环参数,并且按照该循环参数来生成自动执行命令,以控制待测软件产品按照相应的循环参数自动执行该SCPI指令,由此实现对待测软件产品的调试。由于循环参数可以为满足待测软件产品调试需求的任意值,因此可以适用于多种待测对象,且测试的准确率和效率也相应更高。
示例性地,获取步骤S1100还包括步骤S1130:获取每条SCPI指令的理想结果。每条SCPI指令的理想结果是指假设待测软件产品性能正常的情况下执行该条SCPI指令的结果。上述方法1000还包括判断步骤S1400:根据执行结果和理想结果判断调试结果。
基于SCPI指令的软件调试装置或系统接收SCPI指令的执行结果后,可以对比针对该SCPI指令的执行结果和理想结果,并根据对比结果判断针对待测软件产品的调试结果。
可以理解,当待测软件返回的执行结果与理想结果的值一致的时候,可以认为待测软件产品执行该指令的路径与理想路径一致,可以判断为调试结果是正确的,无需再进一步调试。当执行结果和理想结果差别较大时,则可以表明待测软件产品执行该指令的路径有问题因此需要再次调试。
示例性地,调试结果可以包括以下一项或多项:报警、警告、提示和正确。其中,调试结果为不正确的类型可以包括报警、警告、提示三种。例如待测试软件产品按照SCPI指令运行且返回的执行结果与理想结果的差值小于预设的阈值时,可以判定该调试结果为报警;当待测试软件产品按照SCPI指令运行且返回的执行结果与理想结果的差值大于预设的阈值时,可以判定该调试结果为警告;当待测试软件产品按照指令未能成功运行时,例如找不到SCPI指令中对应的目标数据时,可以判定该调试结果为提示,并且返回相应的提示信息。可选地,上述判断待测软件产品调试结果类型的预设阈值可以在用户操作界面中的一个菜单栏中进行设置,用户可以根据SCPI指令的不同类别以及不同的测试标准预设不同的阈值。
示例性地,基于SCPI指令的软件调试装置或系统向用户输出的调试结果类型可以用不同的字母表示,例如正确用r表示,报警用e表示,警告用w表示,提示用i表示。
通过上述技术方案,通过对比待测软件产品执行SCPI指令的理想结果和实际执行结果,可以实现系统自动判断对待测软件产品的调试结果,并可以根据预设规则设置不同的调试结果类型。用户识别不同的调试结果类型,可以快速地判断待测软件产品在执行SCPI指令中可能出现的问题,从而便于进一步调试优化。
示例性地,为便于人机交互,上述基于SCPI指令的软件调试方法1000还可以包括显示步骤S1500:在显示界面中显示输入的SCPI指令与SCPI指令的相关信息。其中,SCPI指令包括SCPI指令与指令参数。SCPI指令的相关信息包括针对SCPI指令的执行结果、理想结果、调试结果。
图3示出了本发明实施例的一个显示界面的局部示意图。如图3所示,该图可以视为待测软件产品自动执行图2中选中的SCPI指令后的显示界面。该界面显示了已执行的3条SCPI指令的列表框。其中从左至右,第一列和第二列分别为该3条SCPI指令的指令语句和指令参数。第三列至第五列分别为针对该3条SCPI指令的理想结果值、执行结果值和调试结果类型。
示例性地,获取步骤S1100还包括步骤S1140:获取每条SCPI指令的备注信息,SCPI指令的备注信息可以是用于指示对应的SCPI指令所实现的功能的信息。在显示步骤S1500中,显示的SCPI指令的相关信息还包括SCPI指令的备注信息。再次参考图3,第六列示出了该3条SCPI指令的备注信息。例如第一条指令“SYSTem:VERSION?:HARDWARE的”备注信息为查询硬件版本。
示例性地,在显示步骤S1500中,不同的SCPI指令可以分行一一对应显示;每条SCPI指令与SCPI指令的相关信息的一个或多个同行显示;每条SCPI指令的相关信息可以分栏显示。
示例性地,图3中的3条SCPI指令分行显示,例如第一行显示SCPI指令SYSTem:VERSION?,第二行显示SCPI指令DISP:PICT:ID,第三行显示SCPI指令DISP:PICT:ID?。其中,第一个SCPI指令和第三个SCPI指令为查询指令,在该指令后面还分别显示该指令的理想结果值、执行结果值和调试结果类型。且这三种结果值分别位于不同的列中。第二个SCPI指令为控制指令,控制待测软件产品切换图片到第12张。由于该控制指令为显性的,且当指令执行正确的时候,因此在该显示界面可以不显示结果值。
根据上述技术方案,通过在显示界面显示SCPI指令与SCPI指令的相关信息,可以将待测软件产品执行的SCPI指令与执行指令的结果信息一一对应地呈现在可视化的操作界面上。这种显示方式直观,方便用户快速地了解每条SCPI指令的信息及其执行结果,也便于用户统一查阅、管理及核对调试结果有问题的地方。由此,在提高调试效率的基础上还可以提高人机交互的可用性,提升用户体验感。
根据本发明另一方面,提供了一种基于SCPI指令的软件调试装置。图4示出根据本发明一个实施例的基于SCPI指令的软件调试装置400的示意性框图。如图4所示,该装置400包括获取模块410、处理模块420和反馈模块430。各个模块可分别执行上文中结合图1描述的基于SCPI指令的软件调试方法的各个步骤/功能。以下仅对该基于SCPI指令的软件调试装置400的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
获取模块410用于获取输入的SCPI指令和针对SCPI指令的自动执行命令。
处理模块420用于响应于自动执行命令,自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
反馈模块430用于接收待测软件产品返回的执行结果。
示例性地,获取模块410还包括:第一获取子模块,用于获取输入的循环参数;生成子模块,用于根据循环参数生成自动执行命令;处理模块420包括:第一传输子模块,用于响应于自动执行命令,根据循环参数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,循环参数包括:相邻两个SCPI指令之间的间隔时间参数和/或循环次数;第一获取子模块具体用于获取输入的相邻两个SCPI指令之间的间隔时间参数和/或循环次数,根据间隔时间参数和/或循环次数生成自动执行命令;传输子模块具体用于响应于自动执行命令,根据间隔时间参数和/或循环次数自动将SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,获取模块410包括:第二获取子模块,用于获取针对单条或者多条SCPI指令的选择请求,并根据请求生成针对单条或者多条SCPI指令的自动执行命令;处理步骤模块420包括:第二传输子模块,用于响应于自动执行命令,自动将选择的单条或者多条SCPI指令传输至待测软件产品,以由待测软件产品执行。
示例性地,获取模块410还包括:第三获取子模块,用于获取每条SCPI指令的理想结果;装置400还包括:判断模块,用于根据执行结果和理想结果判断调试结果。
示例性地,装置400还包括:第一显示模块,用于在显示界面中显示输入的SCPI指令与SCPI指令的相关信息;其中,SCPI指令的相关信息包括针对SCPI指令的执行结果、理想结果、调试结果。
示例性地,获取模块410还包括:第四获取子模块,用于获取每条SCPI指令的备注信息;第一显示模块显示的SCPI指令的相关信息还包括SCPI指令的备注信息;其中,SCPI指令的备注信息是用于指示对应的SCPI指令所实现的功能的信息。
示例性地,在第一显示模块在显示界面中显示输入的SCPI指令与SCPI指令的相关信息时,不同的SCPI指令分行一一对应显示;每条SCPI指令与SCPI指令的相关信息的一个或多个同行显示;每条SCPI指令的相关信息分栏显示。
示例性地,调试结果包括以下一项或多项:报警、警告、提示和正确。
根据本发明又一方面,提供了一种电子设备。图5示出根据本发明一个实施例的电子设备500的示意性框图。如图5所示,电子设备500包括处理器510和存储器520,其中,存储器520中存储有计算机程序指令,计算机程序指令被处理器510运行时用于执行上述基于SCPI指令的软件调试方法1000。
根据本发明再一方面,提供了一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述基于SCPI指令的软件调试方法1000。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
本领域普通技术人员通过阅读上述基于SCPI指令的软件调试方法的相关描述,可以理解上述电子设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种基于SCPI指令的软件调试方法,包括:
获取步骤:获取输入的SCPI指令和针对所述SCPI指令的自动执行命令;
处理步骤:响应于所述自动执行命令,自动将所述SCPI指令传输至待测软件产品,以由所述待测软件产品执行;
反馈步骤:接收所述待测软件产品返回的执行结果。
2.如权利要求1所述的方法,其中,所述获取步骤,还包括:
获取输入的循环参数;
根据所述循环参数生成所述自动执行命令;
所述处理步骤,包括:响应于所述自动执行命令,根据所述循环参数自动将SCPI指令传输至待测软件产品,以由所述待测软件产品执行。
3.如权利要求2所述的方法,其中,所述循环参数包括:相邻两个SCPI指令之间的间隔时间参数和/或循环次数;
所述获取步骤,包括:获取输入的相邻两个SCPI指令之间的间隔时间参数和/或循环次数,根据所述间隔时间参数和/或循环次数生成自动执行命令;
所述处理步骤,包括:响应于所述自动执行命令,根据所述间隔时间参数和/或循环次数自动将所述SCPI指令传输至待测软件产品,以由所述待测软件产品执行。
4.如权利要求1至3任一项所述的方法,其中,
所述获取步骤包括:获取针对单条或者多条所述SCPI指令的选择请求,并根据所述请求生成针对所述单条或者多条SCPI指令的自动执行命令;
所述处理步骤,包括:响应于所述自动执行命令,自动将选择的所述单条或者多条SCPI指令传输至所述待测软件产品,以由所述待测软件产品执行。
5.如权利要求1至4任一项所述的方法,其中,所述获取步骤,还包括:获取每条SCPI指令的理想结果;
所述方法还包括:判断步骤:根据所述执行结果和所述理想结果判断调试结果。
6.如权利要求5所述的方法,其中,所述方法还包括:
显示步骤:在显示界面中显示输入的所述SCPI指令与所述SCPI指令的相关信息;
其中,所述SCPI指令的相关信息包括针对所述SCPI指令的所述执行结果、所述理想结果、所述调试结果。
7.如权利要求6所述的方法,其中,
所述获取步骤,还包括:获取每条SCPI指令的备注信息;
在所述显示步骤中,显示的所述SCPI指令的相关信息还包括所述SCPI指令的备注信息;
其中,所述SCPI指令的备注信息是用于指示对应的SCPI指令所实现的功能的信息。
8.如权利要求6至7任一项所述的方法,其中,
在所述显示步骤中,所述不同的SCPI指令分行一一对应显示;
所述每条SCPI指令与所述SCPI指令的相关信息的一个或多个同行显示;
所述每条SCPI指令的相关信息分栏显示。
9.如权利要求5至8任一项所述的方法,其中,所述调试结果包括以下一项或多项:报警、警告、提示和正确。
10.一种基于SCPI指令的软件调试装置,包括:
获取模块,用于获取输入的SCPI指令和针对所述SCPI指令的自动执行命令;
处理模块,用于响应于所述自动执行命令,自动将所述SCPI指令传输至待测软件产品,以由所述待测软件产品执行;
反馈模块,用于接收所述待测软件产品返回的执行结果。
11.一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至9任一项所述的基于SCPI指令的软件调试方法。
12.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行如权利要求1至9任一项所述的基于SCPI指令的软件调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536998.3A CN114371993A (zh) | 2021-12-10 | 2021-12-10 | 基于scpi指令的软件调试方法和装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536998.3A CN114371993A (zh) | 2021-12-10 | 2021-12-10 | 基于scpi指令的软件调试方法和装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114371993A true CN114371993A (zh) | 2022-04-19 |
Family
ID=81139343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111536998.3A Pending CN114371993A (zh) | 2021-12-10 | 2021-12-10 | 基于scpi指令的软件调试方法和装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114371993A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103308846A (zh) * | 2013-05-07 | 2013-09-18 | 南京邮电大学 | 一种基于模型识别的集成芯片功能性能检测方法和装置 |
CN104461895A (zh) * | 2014-12-17 | 2015-03-25 | 广东欧珀移动通信有限公司 | 测试序列的编辑方法和系统以及自动化测试系统 |
CN206698228U (zh) * | 2017-04-24 | 2017-12-01 | 华南理工大学 | 甚高频收发机自动测试硬件系统 |
CN113704099A (zh) * | 2021-08-20 | 2021-11-26 | 北京空间飞行器总体设计部 | 一种用于航天器电源系统评测的测试脚本生成方法及设备 |
-
2021
- 2021-12-10 CN CN202111536998.3A patent/CN114371993A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103308846A (zh) * | 2013-05-07 | 2013-09-18 | 南京邮电大学 | 一种基于模型识别的集成芯片功能性能检测方法和装置 |
CN104461895A (zh) * | 2014-12-17 | 2015-03-25 | 广东欧珀移动通信有限公司 | 测试序列的编辑方法和系统以及自动化测试系统 |
CN206698228U (zh) * | 2017-04-24 | 2017-12-01 | 华南理工大学 | 甚高频收发机自动测试硬件系统 |
CN113704099A (zh) * | 2021-08-20 | 2021-11-26 | 北京空间飞行器总体设计部 | 一种用于航天器电源系统评测的测试脚本生成方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8356282B1 (en) | Integrated development environment for the development of electronic signal testing strategies | |
CN109633351B (zh) | 智能it运维故障定位方法、装置、设备及可读存储介质 | |
CN104331373A (zh) | 一种Monkey测试系统及方法 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN112054822B (zh) | 蓝牙测试方法及装置、电子设备、存储介质 | |
CN106126414B (zh) | 应用软件测试方法和系统 | |
US10877778B2 (en) | Sequence detection and automation for complex portal environments | |
TW201312340A (zh) | 手持式電子裝置的測試系統及方法 | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN111563042A (zh) | 一种应用于Wi-Fi5芯片的无线性能测试系统及方法 | |
US8397114B2 (en) | Automated regression testing intermediary | |
CN111796578A (zh) | 一种车用控制器测试方法、装置、系统和存储介质 | |
CN114218072A (zh) | 测试脚本生成方法、装置、存储介质及计算机设备 | |
CN112579438B (zh) | 多功能自动化测试工具及测试方法 | |
CN110717315B (zh) | 系统数据批量修改方法、装置、存储介质及电子设备 | |
US6717595B1 (en) | Computer-based list editor | |
CN102915272A (zh) | 软件测试方法、测试系统及电视终端 | |
US8713533B2 (en) | Module-code verification layer to automatically validate user input | |
CN114371993A (zh) | 基于scpi指令的软件调试方法和装置、电子设备及存储介质 | |
CN110850136A (zh) | 示波器的测试方法、终端设备及计算机可读存储介质 | |
US10678681B2 (en) | Method and device for automatic testing | |
CN109783368A (zh) | 梯形图编程软件测试系统及方法 | |
CN115550826A (zh) | Mic阵列的检测分析方法、装置、设备及存储介质 | |
US20030093728A1 (en) | Test executive system with a tape recorder type control interface | |
CN106405430B (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 |