CN110471394B - 任务测试方法及装置、系统、存储介质和处理器 - Google Patents
任务测试方法及装置、系统、存储介质和处理器 Download PDFInfo
- Publication number
- CN110471394B CN110471394B CN201910696457.3A CN201910696457A CN110471394B CN 110471394 B CN110471394 B CN 110471394B CN 201910696457 A CN201910696457 A CN 201910696457A CN 110471394 B CN110471394 B CN 110471394B
- Authority
- CN
- China
- Prior art keywords
- task
- test
- period
- input data
- result
- 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
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种任务测试方法及装置、系统、存储介质和处理器,其中,该任务测试方法包括:在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取任务周期对应的输入数据;基于所述输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。本申请解决了现有相关技术中无法针对不同的输入条件的测试任务进行测试,无法针对任务周期执行长时间的测试任务进行自动化测试,导致测试效率低的技术问题。
Description
技术领域
本申请涉及任务测试领域,具体而言,涉及一种任务测试方法及装置、系统、存储介质和处理器。
背景技术
随着自动化测试系统的发展和应用,传统的测试机组不断地向着测试全自动化的方向发展,从而减小人工干预的因素。通常可编程控制器采用IEC61131规范的编程语言,程序的测试在上位机编程环境下进行,可通过设置断点,单步执行等手段,调试下位机运行的程序,实现如监测状态,监视数据,跟踪变量等功能。但该测试方法虽然可实现在线测试,但无法满足下位机系统长时间自动化的测试要求,如针对不同的输入数据,在不同运行周期,不同运行状态下,测试程序的自动化进行。另外一种方法就是在上位机编程环境中提供仿真模式,模拟下位机系统运行时环境,并在上位机中运行程序,从而达到测试的目的,但由于上下位机系统运行环境的不同,如:操作系统实时性、存储,输入输出,硬件条件等,也无法模拟出完全与下位机一样的系统环境,使得某些测试功能无法实现。
目前,在调试模式下的测试,本质是一种手工模式的测试,由程序输入测试的输入条件,单步或者通过断点指定代码的执行,如果针对不同的输入条件需反复进行,也无法针对任务周期执行长时间的自动化测试,测试的效率较低;仿真模式下的测试,本质是通过模拟环境对程序进行测试,模拟环境与真实的下位机运行环境有着本质的差别,其硬件条件,输入输出等均不相同,仿真模式下运行的程序可能在某些条件下无法测试出程序的错误;通用的软件自动化测试方法一般针对待测程序模块实现定制的测试程序,运行测试程序返回的结果判断待测程序模块的正确与否,但可编程控制器系统是一种特殊软硬件一体化执行环境,测试输入无时无刻不受下位机运行时环境的影响,一般的自动化方法很难反映出待测程序模块任务周期的变化。总的来说,现有相关技术的测试方法无法自动化根据不同测试情况设置不同周期任务的测试输入参数,而是需要人力手动去进行测试设置。
针对上述技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种任务测试方法及装置、系统、存储介质和处理器,以至少解决现有相关技术中无法针对不同的输入条件的测试任务进行测试,无法针对任务周期执行长时间的测试任务进行自动化测试,导致测试效率低的技术问题。
根据本申请实施例的一个方面,提供了一种任务测试方法,包括:在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取任务周期对应的输入数据;基于所述输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
可选地,从输入数据集中获取任务周期对应的输入数据,包括:从上位机中接收对测试任务进行测试时各个任务周期对应的输入条件信息,并基于输入条件信息确定输入数据集中的输入数据。
可选地,从输入数据集中获取任务周期对应的输入数据之前,该方法还包括:根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值。
可选地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期之后,还包括:设置下位机的预设配置空间和文件系统,其中,预设配置空间和文件系统用于存储至少以下两种数据:输入数据集、预设结果。
可选地,依据比较结果得到任务周期的目标测试结果之后,该方法还包括:确定任务周期的类型,其中,任务周期的类型至少包括:起始任务周期、中间任务周期、终点任务周期;在类型指示为起始任务周期时,继续执行所述测试过程中的其他任务周期中的测试任务。
可选地,目标测试结果包括:测试完成、测试未完成。
根据本申请实施例的另一方面,还提供了一种任务测试装置,包括:确认模块,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为当前测试过程中任意一个测试任务所在的周期;传输模块,从输入数据集中获取任务周期对应的输入数据;执行模块,基于输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较模块,比较所述初始测试结果和预设结果;输出模块,依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
根据本申请实施例的另一方面,还提供了一种任务测试系统,包括:上位机,用于根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值;下位机,用于在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取所述任务周期对应的输入数据;基于输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,程序运行时控制存储介质所在的设备执行所述的任务测试方法。
根据本申请实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行所述的任务测试方法。
在本申请实施例中,采用在上位机预设数据集,其中数据集包括预设结果以及输入数据集,下位机通过获取数据集来对不同周期任务的测试工作进行自动化设置,并输出测试结果。因此,本申请解决了现有相关技术中无法针对不同的输入条件的测试任务进行测试,无法针对任务周期执行长时间的测试任务进行自动化测试,导致测试效率低的技术问题,达到了针对不同的输入条件进行测试、针对任务周期执行长时间任务时的自动化测试、提高整体测试效率的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是现有相关技术中任务测试方法的示意图;
图2是是根据本申请实施例的一种任务测试方法的流程图;
图3是根据本申请实施例的一种任务测试装置的结构框图;
图4是根据本申请实施例的一种任务测试系统的结构框图;
图5是根据本申请实施例的一种任务测试系统的示意图;
图6是根据本申请实施例一种任务测试方法的一个完整实例的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种任务测试方法及装置、系统、存储介质和处理器的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是现有相关技术中任务测试方法的示意图。
调试模式:如图1中①所示,可编程控制器测试的调试模式一般由上位机编程工具发起测试请求,通过测试命令如:单步执行,设置断点等给下位机发送测试指令,下位机一般由调试代理接收指令,并指定程序模块的相应执行。此种方式的一般由编程人员手工操作,好处是可运行在线调试,即时反应程序模块针对调试指令执行时的变化,返回数据和状态等信息。但调试模式每次输入数据都需手工进行,针对不同的情境下不同的输入数据,无法针对任务周期执行长时间的自动化测试。
仿真模式:如图1中②所示,可编程控制器测试的仿真模式均在上位机进行,由位于上位机编程工具中的仿真运行时模拟真实环境下的下位机系统。仿真模式即可如调试模式下发送测试指令等待返回结果的方式执行,也可直接运行待测程序。但仿真运行时环境与真实的下位机环境有着本质的差别,其硬件条件,输入输出等均不相同,仿真模式下运行的程序可能在某些条件下无法测试出程序的错误。
图2是根据本申请实施例的一种任务测试方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期。
具体地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期。下位机可以是程序测试执行终端,例如,单片机和PLC可编程逻辑器件综合测试系统,通过该系统的INPUT接口可以获取测试任务的周期信息,周期信息可以是Tn_m:n表示T任务周期的分组,Tn表示可编程控制器的第n个任务周期;m表示Tn周期任务重复的第几次,因此单片机和PLC可编程逻辑器件综合测试系统中的处理器可以根据测试过程中任务周期情况,确定该测试过程处于什么样的任务周期,以便对其他数据及参数进行调用和后续任务的执行。
需要说明的是,每个测试任务的持续时间均不相同,因此在对某一时间长度的任务进行测试的时候,其中涉及若干任务周期,也就是说每一个任务周期所测试的内容可以是不相同,所有任务周期的测试结果总和可以反映出一个整体测试任务的情况。例如,对于测试获取列车车轮角速度变化情况的程序用例,在该测试任务中,针对车轮角动量、角速度、动摩擦力、静摩擦力、车轮重量等参数,每一个参数均可以作为一个任务周期进行测试,所有参数的组合是获取列车车轮角速度变化情况的完整程序执行过程。
可选地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期之后,还包括:设置下位机的预设配置空间和文件系统,其中,预设配置空间和文件系统用于存储至少以下两种数据:输入数据集、预设结果。
具体地,下位机在运行测试任务时,可以进行初始化操作,生成一个配置空间和文件系统(某些下位机中的文件系统为默认生成的),当下位机获取上位机的数据时,将该数据存储至生成的配置空间和文件系统中,例如,单片机和PLC可编程逻辑器件综合测试系统在初始化时生成一个64k的储存空间以及相同大小的文件日志系统,当获取到上位机的数据时,则将数据同时存储到储存空间以及文件日志系统中,用于测试任务。
需要说明的是,输入数据集可以是一组或几组测试输入参数,如表1所示,根据不同的任务周期,对不同输入变量参数进行设置,组成一个输入数据的集合体。预设结果可以是一组或几组输出数据的集合,用于比较下位机测试结果是否符合要求,如表2所示。
表1
表2
步骤S204,从输入数据集中获取任务周期对应的输入数据。
具体地,本实施例中下位机需要获取上位机中的输入数据集,获取方式可以是通过有线以太网连接下位机和上位机,还可以是通过远程通讯协议(LORA通信)进行下位机和上位机之间的数据传输。下位机通过识别目前正在运行的测试任务,并针对该测试任务所需要的输入数据向上位机发出调用输入数据集的调用请求,上位机在收到下位机的请求之后将输入数据集发送至下位机。
需要说明的是,下位机根据测试任务发出测试输入数据请求的时候,可以对请求信息进行加密处理,并相应地在上位机接收模块中设置解密功能,在上位机接收到下位机发送的调用请求时,对加密的调用请求信息进行解密和分析。以上过程可以大大地增加程序测试中数据流的安全性,保证上位机、下位机在相对封闭、安全的网路中进行数据传输。
还需要说明的是,上位机可以是PHP可编程后台构建服务器,利用PHP语言以及PSR2汇编规则,对上位机中的数据进行编译,从而得到下位机测试时需要调用的数据。
可选地,从输入数据集中获取任务周期对应的输入数据,包括:从上位机中接收对测试任务进行测试时各个任务周期对应的输入条件信息,并基于输入条件信息确定输入数据集中的输入数据。
可选地,从输入数据集中获取任务周期对应的输入数据之前,该方法还包括:根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值。
具体地,下位机获取到上位机提供的输入数据集之后,会对输入条件信息进行分析提取,并将提取后的数据作为最终输入到测试任务当中作为测试任务参数的输入数据,例如,下位机获取到上位机发送来的输入条件信息为“a-1,b-5,c-2”,那么通过下位机处理器的分析,将a值为1、b值为5、c值为2的输入条件信息提炼为测试任务相对应的参数,并赋予相关参数以相应的数值,这样便完成了一次获取上位机数据-分析提取数据-生成输入数据的过程。
需要说明的是,上位机中输入条件信息和预设结果的存储方式可以是通过C语言编程的单片机系统,并将存储器连接于单片机之上,用于储存编译好的输入条件信息和预设结果信息。其中,输入条件信息包括:边界条件、极端值。
还需要说明的是,边界条件和极端值是一种边界值分析中的核心参数,边界值分析是一种黑盒测试方法,适度等价类分析方法的一种补充,由于大量的错误是发生在输入或输出的边界上,因此针对各种边界情况设计测试用例,可以查出更多的错误,综上所述,边界条件和极端值的设置可以大大地增加测试准确度,并可以根据不同的测试环境设置不同的边界值和极端值,达到自动化测试的效果。
步骤S206,基于所述输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果。
具体地,根据上述实施例所确定的输入数据,下位机将执行测试任务的测试工作,测试工作的结果可以是以表格或数组的方式输出的测试数据,例如,在测试列车车轮角速度变化的测试用例中,下位机获得车轮重量为a,摩擦力为b,那么将两项参数赋予该测试任务后执行测试操作,最后测试结果显示为角度变化为c,则将数值c作为下位机输出的初始测试结果。
步骤S208,比较初始测试结果和预设结果。
步骤S210,依据比较结果得到任务周期的目标测试结果,并输出目标测试结果
可选地,依据比较结果得到任务周期的目标测试结果之后,该方法还包括:确定任务周期的类型,其中,任务周期的类型至少包括:起始任务周期、中间任务周期、终点任务周期;在类型指示为起始任务周期时,继续执行所述测试过程中的其他任务周期中的测试任务。
可选地,目标测试结果包括:测试完成、测试未完成。
具体地,预设结果是前述实施例中上位机中生成,下位机接收到的,与初始测试结果相比较的预设数值,该预设数值可以理解为测试用户希望或根据标准计算出的理想值,也就是说该预设数值是测试正确的标准。通过标准值与初始测试结果的比较,得到最终测试结果,当测试结果为测试完成时,则下位机结束测试任务,当测试结果为测试未完成时,下位机根据后续测试任务的情况继续进行测试。
需要说明的是,任务周期类型是用于下位机判断测试任务是否继续进行的标识,即起始任务类型需要下位机继续进行测试,中间任务类型根据测试任务的情况进行判断,终点任务类型不需要进行继续测试。
如图3所示,本申请实施例还提供了一种任务测试装置,包括:确认模块30,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为当前测试过程中任意一个测试任务所在的周期;传输模块32,从输入数据集中获取任务周期对应的输入数据;执行模块34,基于输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较模块36,比较所述初始测试结果和预设结果;输出模块38,依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
具体地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期。下位机可以是程序测试执行终端,例如,单片机和PLC可编程逻辑器件综合测试系统,通过该系统的INPUT接口可以获取测试任务的周期信息,周期信息可以是Tn_m:n表示T任务周期的分组,Tn表示可编程控制器的第n个任务周期;m表示Tn周期任务重复的第几次,因此单片机和PLC可编程逻辑器件综合测试系统中的处理器可以根据测试过程中任务周期情况,确定该测试过程处于什么样的任务周期,以便对其他数据及参数进行调用和后续任务的执行。
需要说明的是,每个测试任务的持续时间均不相同,因此在对某一时间长度的任务进行测试的时候,其中涉及若干任务周期,也就是说每一个任务周期所测试的内容可以是不相同,所有任务周期的测试结果总和可以反映出一个整体测试任务的情况。例如,对于测试获取列车车轮角速度变化情况的程序用例,在该测试任务中,针对车轮角动量、角速度、动摩擦力、静摩擦力、车轮重量等参数,每一个参数均可以作为一个任务周期进行测试,所有参数的组合是获取列车车轮角速度变化情况的完整程序执行过程。
可选地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期之后,还包括:设置下位机的预设配置空间和文件系统,其中,预设配置空间和文件系统用于存储至少以下两种数据:输入数据集、预设结果。
具体地,下位机在运行测试任务时,可以进行初始化操作,生成一个配置空间和文件系统(某些下位机中的文件系统为默认生成的),当下位机获取上位机的数据时,将该数据存储至生成的配置空间和文件系统中,例如,单片机和PLC可编程逻辑器件综合测试系统在初始化时生成一个64k的储存空间以及相同大小的文件日志系统,当获取到上位机的数据时,则将数据同时存储到储存空间以及文件日志系统中,用于测试任务。
需要说明的是,输入数据集可以是一组或几组测试输入参数,如表1所示,根据不同的任务周期,对不同输入变量参数进行设置,组成一个输入数据的集合体。预设结果可以是一组或几组输出数据的集合,用于比较下位机测试结果是否符合要求,如表2所示。
本实施例中下位机需要获取上位机中的输入数据集,获取方式可以是通过有线以太网连接下位机和上位机,还可以是通过远程通讯协议(LORA通信)进行下位机和上位机之间的数据传输。下位机通过识别目前正在运行的测试任务,并针对该测试任务所需要的输入数据向上位机发出调用输入数据集的调用请求,上位机在收到下位机的请求之后将输入数据集发送至下位机。
需要说明的是,下位机根据测试任务发出测试输入数据请求的时候,可以对请求信息进行加密处理,并相应地在上位机接收模块中设置解密功能,在上位机接收到下位机发送的调用请求时,对加密的调用请求信息进行解密和分析。以上过程可以大大地增加程序测试中数据流的安全性,保证上位机、下位机在相对封闭、安全的网路中进行数据传输。
还需要说明的是,上位机可以是PHP可编程后台构建服务器,利用PHP语言以及PSR2汇编规则,对上位机中的数据进行编译,从而得到下位机测试时需要调用的数据。
可选地,从输入数据集中获取任务周期对应的输入数据,包括:从上位机中接收对测试任务进行测试时各个任务周期对应的输入条件信息,并基于输入条件信息确定输入数据集中的输入数据。
可选地,从输入数据集中获取任务周期对应的输入数据之前,该方法还包括:根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值。
具体地,下位机获取到上位机提供的输入数据集之后,会对输入条件信息进行分析提取,并将提取后的数据作为最终输入到测试任务当中作为测试任务参数的输入数据,例如,下位机获取到上位机发送来的输入条件信息为“a-1,b-5,c-2”,那么通过下位机处理器的分析,将a值为1、b值为5、c值为2的输入条件信息提炼为测试任务相对应的参数,并赋予相关参数以相应的数值,这样便完成了一次获取上位机数据-分析提取数据-生成输入数据的过程。
需要说明的是,上位机中输入条件信息和预设结果的存储方式可以是通过C语言编程的单片机系统,并将存储器连接于单片机之上,用于储存编译好的输入条件信息和预设结果信息。其中,输入条件信息包括:边界条件、极端值。
还需要说明的是,边界条件和极端值是一种边界值分析中的核心参数,边界值分析是一种黑盒测试方法,适度等价类分析方法的一种补充,由于大量的错误是发生在输入或输出的边界上,因此针对各种边界情况设计测试用例,可以查出更多的错误,综上所述,边界条件和极端值的设置可以大大地增加测试准确度,并可以根据不同的测试环境设置不同的边界值和极端值,达到自动化测试的效果。
根据上述实施例所确定的输入数据,下位机将执行测试任务的测试工作,测试工作的结果可以是以表格或数组的方式输出的测试数据,例如,在测试列车车轮角速度变化的测试用例中,下位机获得车轮重量为a,摩擦力为b,那么将两项参数赋予该测试任务后执行测试操作,最后测试结果显示为角度变化为c,则将数值c作为下位机输出的初始测试结果。
可选地,依据比较结果得到任务周期的目标测试结果之后,该方法还包括:确定任务周期的类型,其中,任务周期的类型至少包括:起始任务周期、中间任务周期、终点任务周期;在类型指示为起始任务周期时,继续执行所述测试过程中的其他任务周期中的测试任务。
可选地,目标测试结果包括:测试完成、测试未完成。
具体地,预设结果是前述实施例中上位机中生成,下位机接收到的,与初始测试结果相比较的预设数值,该预设数值可以理解为测试用户希望或根据标准计算出的理想值,也就是说该预设数值是测试正确的标准。通过标准值与初始测试结果的比较,得到最终测试结果,当测试结果为测试完成时,则下位机结束测试任务,当测试结果为测试未完成时,下位机根据后续测试任务的情况继续进行测试。
需要说明的是,任务周期类型是用于下位机判断测试任务是否继续进行的标识,即起始任务类型需要下位机继续进行测试,中间任务类型根据测试任务的情况进行判断,终点任务类型不需要进行继续测试。
如图4所示,本申请实施例还提供了一种任务测试系统,包括:上位机40,用于根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值;下位机42,用于在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取所述任务周期对应的输入数据;基于输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
上述任务测试系统的示意图为图5所示,其中包括上位机以及下位机。
具体地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期。下位机可以是程序测试执行终端,例如,单片机和PLC可编程逻辑器件综合测试系统,通过该系统的INPUT接口可以获取测试任务的周期信息,周期信息可以是Tn_m:n表示T任务周期的分组,Tn表示可编程控制器的第n个任务周期;m表示Tn周期任务重复的第几次,因此单片机和PLC可编程逻辑器件综合测试系统中的处理器可以根据测试过程中任务周期情况,确定该测试过程处于什么样的任务周期,以便对其他数据及参数进行调用和后续任务的执行。
需要说明的是,每个测试任务的持续时间均不相同,因此在对某一时间长度的任务进行测试的时候,其中涉及若干任务周期,也就是说每一个任务周期所测试的内容可以是不相同,所有任务周期的测试结果总和可以反映出一个整体测试任务的情况。例如,对于测试获取列车车轮角速度变化情况的程序用例,在该测试任务中,针对车轮角动量、角速度、动摩擦力、静摩擦力、车轮重量等参数,每一个参数均可以作为一个任务周期进行测试,所有参数的组合是获取列车车轮角速度变化情况的完整程序执行过程。
可选地,在下位机对测试任务进行测试的过程中,确定测试任务的任务周期之后,还包括:设置下位机的预设配置空间和文件系统,其中,预设配置空间和文件系统用于存储至少以下两种数据:输入数据集、预设结果。
具体地,下位机在运行测试任务时,可以进行初始化操作,生成一个配置空间和文件系统(某些下位机中的文件系统为默认生成的),当下位机获取上位机的数据时,将该数据存储至生成的配置空间和文件系统中,例如,单片机和PLC可编程逻辑器件综合测试系统在初始化时生成一个64k的储存空间以及相同大小的文件日志系统,当获取到上位机的数据时,则将数据同时存储到储存空间以及文件日志系统中,用于测试任务。
需要说明的是,输入数据集可以是一组或几组测试输入参数,如表1所示,根据不同的任务周期,对不同输入变量参数进行设置,组成一个输入数据的集合体。预设结果可以是一组或几组输出数据的集合,用于比较下位机测试结果是否符合要求,如表2所示。
本实施例中下位机需要获取上位机中的输入数据集,获取方式可以是通过有线以太网连接下位机和上位机,还可以是通过远程通讯协议(LORA通信)进行下位机和上位机之间的数据传输。下位机通过识别目前正在运行的测试任务,并针对该测试任务所需要的输入数据向上位机发出调用输入数据集的调用请求,上位机在收到下位机的请求之后将输入数据集发送至下位机。
需要说明的是,下位机根据测试任务发出测试输入数据请求的时候,可以对请求信息进行加密处理,并相应地在上位机接收模块中设置解密功能,在上位机接收到下位机发送的调用请求时,对加密的调用请求信息进行解密和分析。以上过程可以大大地增加程序测试中数据流的安全性,保证上位机、下位机在相对封闭、安全的网路中进行数据传输。
还需要说明的是,上位机可以是PHP可编程后台构建服务器,利用PHP语言以及PSR2汇编规则,对上位机中的数据进行编译,从而得到下位机测试时需要调用的数据。
可选地,从输入数据集中获取任务周期对应的输入数据,包括:从上位机中接收对测试任务进行测试时各个任务周期对应的输入条件信息,并基于输入条件信息确定输入数据集中的输入数据。
可选地,从输入数据集中获取任务周期对应的输入数据之前,该方法还包括:根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,输入条件信息包括:边界条件、极端值。
具体地,下位机获取到上位机提供的输入数据集之后,会对输入条件信息进行分析提取,并将提取后的数据作为最终输入到测试任务当中作为测试任务参数的输入数据,例如,下位机获取到上位机发送来的输入条件信息为“a-1,b-5,c-2”,那么通过下位机处理器的分析,将a值为1、b值为5、c值为2的输入条件信息提炼为测试任务相对应的参数,并赋予相关参数以相应的数值,这样便完成了一次获取上位机数据-分析提取数据-生成输入数据的过程。
需要说明的是,上位机中输入条件信息和预设结果的存储方式可以是通过C语言编程的单片机系统,并将存储器连接于单片机之上,用于储存编译好的输入条件信息和预设结果信息。其中,输入条件信息包括:边界条件、极端值。
还需要说明的是,边界条件和极端值是一种边界值分析中的核心参数,边界值分析是一种黑盒测试方法,适度等价类分析方法的一种补充,由于大量的错误是发生在输入或输出的边界上,因此针对各种边界情况设计测试用例,可以查出更多的错误,综上所述,边界条件和极端值的设置可以大大地增加测试准确度,并可以根据不同的测试环境设置不同的边界值和极端值,达到自动化测试的效果。
根据上述实施例所确定的输入数据,下位机将执行测试任务的测试工作,测试工作的结果可以是以表格或数组的方式输出的测试数据,例如,在测试列车车轮角速度变化的测试用例中,下位机获得车轮重量为a,摩擦力为b,那么将两项参数赋予该测试任务后执行测试操作,最后测试结果显示为角度变化为c,则将数值c作为下位机输出的初始测试结果。
可选地,依据比较结果得到任务周期的目标测试结果之后,该方法还包括:确定任务周期的类型,其中,任务周期的类型至少包括:起始任务周期、中间任务周期、终点任务周期;在类型指示为起始任务周期时,继续执行所述测试过程中的其他任务周期中的测试任务。
可选地,目标测试结果包括:测试完成、测试未完成。
具体地,预设结果是前述实施例中上位机中生成,下位机接收到的,与初始测试结果相比较的预设数值,该预设数值可以理解为测试用户希望或根据标准计算出的理想值,也就是说该预设数值是测试正确的标准。通过标准值与初始测试结果的比较,得到最终测试结果,当测试结果为测试完成时,则下位机结束测试任务,当测试结果为测试未完成时,下位机根据后续测试任务的情况继续进行测试。
需要说明的是,任务周期类型是用于下位机判断测试任务是否继续进行的标识,即起始任务类型需要下位机继续进行测试,中间任务类型根据测试任务的情况进行判断,终点任务类型不需要进行继续测试。
如图6所示为本申请实施例一种任务测试方法的一个完整实例的流程图,其中:
步骤S600,配置输入数据集和预设结果(输出数据集)。
步骤S602,确定测试任务的任务周期。
步骤S604,从上位机获取数据集并生成输入数据和预设结果。
步骤S606,根据S604获取的数据,执行测试任务。
步骤S608,比较初始测试结果和预设结果。
步骤S610,将S608的比较结果进行输出。
步骤S612,下位机根据检测结果判断测试周期是否完成,如果完成则结束测试,如果没完成则继续从步骤S602进行测试.
步骤S614,将输出结果录入到外部文件中,以备留存。
本申请实施例还提供了一种非易失性存储介质,包括存储的程序,其中,所述程序运行时控制存储介质所在的设备执行所述的一种任务测试方法。例如,可以执行以下步骤:在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取任务周期对应的输入数据;基于所述输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
本申请实施例的还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的一种任务测试方法。例如,可以执行以下步骤:在下位机对测试任务进行测试的过程中,确定测试任务的任务周期,其中,任务周期为所述当前测试过程中任意一个测试任务所在的周期;从输入数据集中获取任务周期对应的输入数据;基于所述输入数据继续执行测试任务的测试过程,并在任务周期执行完成后,得到任务周期对应的初始测试结果;比较初始测试结果和预设结果;依据比较结果得到任务周期的目标测试结果,并输出目标测试结果。
通过上述实施例,采用对任务预处理,包括划分任务类型以及设置任务优先级,利用延迟原理对任务调度进行优化,同时利用多任务处理阶段来完成任务的处理过程。因此,本申请解决了相关技术中任务调度效率低下、应急任务处理不及时、任务通信切换效率低下的技术问题,达到了提高任务调度效率、弥补了现有技术对于应急任务处理的缺陷,并增加了任务间通信及切换的质量的技术效果。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种任务测试方法,其特征在于,所述方法包括:
在下位机对测试任务进行测试的过程中,确定所述测试任务的任务周期,其中,所述任务周期为当前测试过程中任意一个所述测试任务所在的周期;
从输入数据集中获取所述任务周期对应的输入数据;
基于所述输入数据继续执行所述测试任务的测试过程,并在所述任务周期执行完成后,得到所述任务周期对应的初始测试结果;
比较所述初始测试结果和预设结果;
依据比较结果得到所述任务周期的目标测试结果,并输出所述目标测试结果;
其中,所述从输入数据集中获取所述任务周期对应的输入数据,包括:从上位机中接收对所述测试任务进行测试时各个任务周期对应的输入条件信息,并基于所述输入条件信息确定所述输入数据集中的所述输入数据,其中,所述输入条件信息包括:边界条件、极端值。
2.根据权利要求1所述的方法,其特征在于,所述从输入数据集中获取所述任务周期对应的输入数据之前,所述方法还包括:
根据所述测试任务的测试需求,将所述输入条件信息和所述预设结果存储于上位机中。
3.根据权利要求1所述的方法,其特征在于,所述在下位机对测试任务进行测试的过程中,确定所述测试任务的任务周期之后,还包括:
设置所述下位机的预设配置空间和文件系统,其中,所述预设配置空间和所述文件系统用于存储至少以下两种数据:所述输入数据集、所述预设结果。
4.根据权利要求1所述的方法,其特征在于,所述依据比较结果得到所述任务周期的目标测试结果之后,所述方法还包括:
确定所述任务周期的类型,其中,所述任务周期的类型至少包括:起始任务周期、中间任务周期、终点任务周期;
在所述类型指示为起始任务周期时,继续执行所述测试过程中的其他所述任务周期中的测试任务。
5.根据权利要求1所述的方法,其特征在于,
所述目标测试结果包括:测试完成、测试未完成。
6.一种任务测试装置,其特征在于,所述装置包括:
确认模块,在下位机对测试任务进行测试的过程中,确定所述测试任务的任务周期,其中,所述任务周期为当前测试过程中任意一个所述测试任务所在的周期;
传输模块,从输入数据集中获取所述任务周期对应的输入数据;
执行模块,基于所述输入数据继续执行所述测试任务的测试过程,并在所述任务周期执行完成后,得到所述任务周期对应的初始测试结果;
比较模块,比较所述初始测试结果和预设结果;
输出模块,依据比较结果得到所述任务周期的目标测试结果,并输出所述目标测试结果;
其中,所述传输模块,还用于从上位机中接收对所述测试任务进行测试时各个任务周期对应的输入条件信息,并基于所述输入条件信息确定所述输入数据集中的所述输入数据,其中,所述输入条件信息包括:边界条件、极端值。
7.一种任务测试系统,其特征在于,所述系统包括:
上位机,用于根据测试任务的测试需求,将输入条件信息和预设结果存储于上位机中,其中,所述输入条件信息包括:边界条件、极端值;
下位机,用于在下位机对测试任务进行测试的过程中,确定所述测试任务的任务周期,其中,所述任务周期为当前测试过程中任意一个所述测试任务所在的周期;从输入数据集中获取所述任务周期对应的输入数据;基于所述输入数据继续执行所述测试任务的测试过程,并在所述任务周期执行完成后,得到所述任务周期对应的初始测试结果;比较所述初始测试结果和预设结果;依据比较结果得到所述任务周期的目标测试结果,并输出所述目标测试结果;
其中,所述下位机,还用于从上位机中接收对所述测试任务进行测试时各个任务周期对应的输入条件信息,并基于所述输入条件信息确定所述输入数据集中的所述输入数据,其中,所述输入条件信息包括:边界条件、极端值。
8.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述程序运行时控制非易失性存储介质所在的设备执行权利要求1至5中任意一项所述的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910696457.3A CN110471394B (zh) | 2019-07-30 | 2019-07-30 | 任务测试方法及装置、系统、存储介质和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910696457.3A CN110471394B (zh) | 2019-07-30 | 2019-07-30 | 任务测试方法及装置、系统、存储介质和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471394A CN110471394A (zh) | 2019-11-19 |
CN110471394B true CN110471394B (zh) | 2020-10-20 |
Family
ID=68509130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910696457.3A Active CN110471394B (zh) | 2019-07-30 | 2019-07-30 | 任务测试方法及装置、系统、存储介质和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471394B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112392688B (zh) * | 2020-11-02 | 2022-04-29 | 珠海格力电器股份有限公司 | 机组调试方法、装置、系统、设备和存储介质 |
CN112463615B (zh) * | 2020-12-03 | 2023-11-03 | 中国工商银行股份有限公司 | 应用的测试方法、装置、计算设备和介质 |
DE112021005655T5 (de) * | 2021-02-17 | 2023-08-10 | Mitsubishi Electric Corporation | Datenvergleichsgerät, Datenvergleichssystem und Datenvergleichsverfahren |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448276B2 (en) * | 2012-04-11 | 2016-09-20 | Advantest Corporation | Creation and scheduling of a decision and execution tree of a test cell controller |
CN104111890B (zh) * | 2014-07-29 | 2018-01-16 | 北京航空航天大学 | 一种实时性能测试方法与系统 |
CN105487977A (zh) * | 2015-11-30 | 2016-04-13 | 北京锐安科技有限公司 | 一种面向敏捷的自动化测试管理系统和方法 |
CN105785978B (zh) * | 2016-05-06 | 2019-01-15 | 中车青岛四方机车车辆股份有限公司 | 一种重联信号测试系统及设有该测试系统的试验平台 |
CN106776289A (zh) * | 2016-11-24 | 2017-05-31 | 山东交通学院 | 多任务自适应云测试方法 |
CN107315679A (zh) * | 2017-05-12 | 2017-11-03 | 昆明奥多智能科技有限公司 | 一种嵌入式软件自动化确认测试方法及测试系统 |
-
2019
- 2019-07-30 CN CN201910696457.3A patent/CN110471394B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110471394A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471394B (zh) | 任务测试方法及装置、系统、存储介质和处理器 | |
US7644398B2 (en) | System and method for automatic test-case generation for software | |
US20050223295A1 (en) | Method for the creation of sequences for testing software | |
EP3309683B1 (en) | Improved test manager for industrial automation controllers | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN100520732C (zh) | 性能测试脚本生成方法 | |
CN106021049A (zh) | 国产操作系统验证平台及建立方法 | |
CN112650676A (zh) | 软件测试方法、装置、设备及存储介质 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
CN116166525A (zh) | 一种测试脚本的生成方法及装置 | |
CN107832176A (zh) | 一种Windows下硬盘压力自动测试方法及系统 | |
CN114238127A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN109783837A (zh) | 仿真设备、仿真系统、仿真方法和仿真程序 | |
CN112199273A (zh) | 一种虚拟机压力/性能测试方法及系统 | |
CN116069334B (zh) | 一种基于云原生的在线开发与代码托管方法及系统 | |
CN115220707B (zh) | 一种基于区块链的软件开发管理方法及系统 | |
CN111078444A (zh) | 用于故障行为的安全分析的系统和方法 | |
CN115562931A (zh) | 处理器调试模块验证方法、装置、电子设备和存储介质 | |
KR101335657B1 (ko) | 실시간 시뮬레이터와 시스템 스위칭을 이용한 대규모 dcs 검증 장치 및 그 검증방법 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN111338761A (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
CN115589407B (zh) | 一种基于plm-dnc集成系统的文件传输验证方法 | |
KR101174716B1 (ko) | 장비 검증 장치 및 시스템 | |
Ogawa et al. | A practical study of debugging using model checking | |
CN112817872B (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 |