CN113868112A - 设备测试方法和装置、存储介质及电子装置 - Google Patents
设备测试方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN113868112A CN113868112A CN202010615380.5A CN202010615380A CN113868112A CN 113868112 A CN113868112 A CN 113868112A CN 202010615380 A CN202010615380 A CN 202010615380A CN 113868112 A CN113868112 A CN 113868112A
- Authority
- CN
- China
- Prior art keywords
- test
- test cases
- cases
- testing
- groups
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 488
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 244000035744 Hura crepitans Species 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims abstract description 23
- 230000007717 exclusion Effects 0.000 claims description 19
- 238000009826 distribution Methods 0.000 claims description 2
- 238000012800 visualization Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000035882 stress Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000001787 Wald–Wolfowitz test Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010998 test method 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种设备测试方法和装置、存储介质及电子装置,该方法包括:获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。通过本发明,解决了设备测试的效率低的问题,进而达到了提高设备测试效率的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种设备测试方法和装置、存储介质及电子装置。
背景技术
通信产品的生产测试设备是一种包含软硬件,为小批量或批量生产的通信设备提供功能测试、老化测试等缺陷筛选产品或设备;该测试系统执行特定测试用例,检查是否存在硬件加工缺陷,并施加特定应力以激发器件故障,以达到筛选故障品的目的。
现有的测试过程,通常在获取到测试用例之后,将所有的测试用例发送到用于测试的下位机测试脚本引擎中,由测试脚本引擎依次使用测试用例进行测试。
然而,上述方法所有的测试用例只能依次执行,设备测试的效率低。
发明内容
本发明实施例提供了一种设备测试方法和装置、存储介质及电子装置,以至少解决相关技术中测试的效率低的问题。
根据本发明的一个实施例,提供了一种设备测试方法,包括:获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。
在一个示例性实施例中,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例包括:对所述测试用例进行解析,获取每一个所述测试用例中的所述属性标签的标签类型,其中,所述属性标签的标签类型包括以下至少之一:分组编号,定时器时长,断点位置,测试频率,测试间隔,串并发配置,互斥配置,选择用例;获取每一个所述测试用例中每个所述属性标签对应的属性值;按照所述属性值将所述测试用例分成不同的组别。
在一个示例性实施例中,所述按照所述属性值将所述测试用例分成不同的组别包括:获取所述测试用例的所述属性标签的所述属性值;在两个所述测试用例的相同属性标签下的所述属性值相同的情况下,将两个所述测试用例分到同一个组别;在两个所述测试用例的相同属性标签下的所述属性值不同的情况下,将两个所述测试用例分到不同的组别。
在一个示例性实施例中,在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之前,所述方法还包括:创建测试引擎互斥锁;在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括:释放所述测试引擎互斥锁。
在一个示例性实施例中,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例之后,所述方法还包括:解析所述测试用例中的第一数据,其中,所述第一数据为在所述设备正常的情况下运行所述测试用例得到的数据;将每一个所述测试用例的所述第一数据保存到数据变量表中。
在一个示例性实施例中,在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括:获取每一个所述测试用例对应的测试结果,其中,所述测试结果中包括与所述测试用例对应的测试数据;将所述测试数据与所述数据变量表中的所述第一数据进行比对;输出与所述第一数据不同的所述测试数据。
在一个示例性实施例中,所述使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试包括:使用多个所述测试沙盒同步对所述设备进行测试;或者使用多个所述测试沙盒异步对所述设备进行测试。
在一个示例性实施例中,所述测试用例可以用于测试不同的所述设备,所述测试用例为使用表驱动的可视化的测试用例。
根据本发明的另一个实施例,提供了一种设备测试装置,包括:第一获取单元,用于获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;分组单元,用于根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;分配单元,用于为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;测试单元,用于使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。
在一个示例性实施例中,所述分组单元包括:解析模块,用于对所述测试用例进行解析,获取每一个所述测试用例中的所述属性标签的标签类型,其中,所述属性标签的标签类型包括以下至少之一:分组编号,定时器时长,断点位置,测试频率,测试间隔,串并发配置,互斥配置,选择用例;获取模块,用于获取每一个所述测试用例中每个所述属性标签对应的属性值;分组模块,用于按照所述属性值将所述测试用例分成不同的组别。
在一个示例性实施例中,所述分组模块包括:获取子模块,用于获取所述测试用例的所述属性标签的所述属性值;第一分组子模块,用于在两个所述测试用例的相同属性标签下的所述属性值相同的情况下,将两个所述测试用例分到同一个组别;第二分组子模块,用于在两个所述测试用例的相同属性标签下的所述属性值不同的情况下,将两个所述测试用例分到不同的组别。
在一个示例性实施例中,所述装置还包括:建立单元,用于在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之前,建立测试引擎互斥锁;释放单元,用于在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,释放所述测试引擎互斥锁。
在一个示例性实施例中,所述装置还包括:解析单元,用于根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例之后,解析所述测试用例中的第一数据,其中,所述第一数据为在所述设备正常的情况下运行所述测试用例得到的数据;保存单元,用于将每一个所述测试用例的所述第一数据保存到数据变量表中。
在一个示例性实施例中,所述装置还包括:第二获取单元,用于在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,获取每一个所述测试用例对应的测试结果,其中,所述测试结果中包括与所述测试用例对应的测试数据;比对单元,用于将所述测试数据与所述数据变量表中的所述第一数据进行比对;输出单元,用于输出与所述第一数据不同的所述测试数据。
在一个示例性实施例中,所述测试单元包括:第一测试模块,用于使用多个所述测试沙盒同步对所述设备进行测试;或者第二测试模块,用于使用多个所述测试沙盒异步对所述设备进行测试。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,由于在对设备进行测试的过程中,获取测试用例之后,根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例,并且为每一组测试用例分配测试沙盒,多个测试沙盒分别进行测试,实现了对设备进行并行测试的效果。因此,可以解决设备测试的效率低的问题,达到提高设备测试效率的效果。
附图说明
图1是根据本发明实施例的设备测试方法的执行装置结构示意图;
图2是根据本发明实施例的设备测试方法的流程示意图;
图3是根据本发明实施例的设备测试方法的系统示意图;
图4是根据本发明实施例的设备测试方法的流程示意图;
图5是根据本发明实施例的设备测试方法的流程示意图;
图6是根据本发明实施例的设备测试方法的的流程示意图;
图7是根据本发明实施例的设备测试装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种设备测试方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备测试方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的设备测试方法,图2是根据本发明实施例的设备测试方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;
步骤S204,根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;
步骤S206,为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;
步骤S208,使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。
其中,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例包括:对所述测试用例进行解析,获取每一个所述测试用例中的所述属性标签的标签类型,其中,所述属性标签的标签类型包括以下至少之一:分组编号,定时器时长,断点位置,测试频率,测试间隔,串并发配置,互斥配置,选择用例;获取每一个所述测试用例中每个所述属性标签对应的属性值;按照所述属性值将所述测试用例分成不同的组别。
此步骤可以判断两个测试用例的属性标签的属性值。如果相同属性标签的属性值相同,则可以分为一个组,如果一个或者多个相同属性标签的属性值不同,则将测试用例分成不同的组别。
其中,所述按照所述属性值将所述测试用例分成不同的组别包括:获取所述测试用例的所述属性标签的所述属性值;在两个所述测试用例的相同属性标签下的所述属性值相同的情况下,将两个所述测试用例分到同一个组别;在两个所述测试用例的相同属性标签下的所述属性值不同的情况下,将两个所述测试用例分到不同的组别。
其中,在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之前,所述方法还包括:创建测试引擎互斥锁;在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括:释放所述测试引擎互斥锁。
其中,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例之后,所述方法还包括:解析所述测试用例中的第一数据,其中,所述第一数据为在所述设备正常的情况下运行所述测试用例得到的数据;将每一个所述测试用例的所述第一数据保存到数据变量表中。
其中,在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括:获取每一个所述测试用例对应的测试结果,其中,所述测试结果中包括与所述测试用例对应的测试数据;将所述测试数据与所述数据变量表中的所述第一数据进行比对;输出与所述第一数据不同的所述测试数据。
其中,所述使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试包括:使用多个所述测试沙盒同步对所述设备进行测试;或者使用多个所述测试沙盒异步对所述设备进行测试。
其中,所述测试用例可以用于测试不同的所述设备,所述测试用例为使用表驱动的可视化的测试用例。
通过上述步骤,解决了设备测试的效率低的问题,达到提高设备测试效率的效果。
其中,上述步骤的执行主体可以为基站、终端等,但不限于此。
以下结合具体示例进行说明。
关键术语:
机器人自动测试框架或RF自动化测试框架(RobotFramework,RF)
板级支持包(Board Support Package,BSP)
机器人自动测试框架集成开发环境(RobotFramework Integrated DevelopmentEnvironment,RIDE)
测试套件(Test Suite):通常把一组相关的测试称为一个测试套件;
测试用例(Test Case):测试用例是一组条件或变量,测试者根据它来确定应用软件或软件系统是否正确工作。确定软件程序或系统是否通过测试的方法叫做测试准则。
通常,通信产品生产测试设备系统分为上位机、下位机和配置文件组成的测试系统;上位机一般在PC或工控机内运行测试控制软件,通常用C#,C++开发的windows程序;下位机运行的控制软件和驱动软件,通常是用C/C++开发的嵌入式跨平台(linux,VxWorks)的版本;以及上位机传给下位机的配置文件(如xml,json等格式)描述测试用例的数据或流程;上位机通过通信或者配置文件,控制下位机执行测试指令以实现生产测试。
本发明实施例属于嵌入式领域中的测试软件:将分布在上位机、下位机以及配置文件中对测试的设计和实现,统一到通用的、表驱动的、可视化的测试用例形式,以此驱动测试的设计、编写和调试等步骤;在一对多的上下位机测试场景,通过下位机测试脚本引擎可以实现并发的高效率测试。可以成为嵌入式的并发测试脚本引擎。
本发明实施例采用了如下技术:
1、CPU内并发测试,板间或CPU间分组调度测试;
2、嵌入式的脚本解释器:支持RobotFramework语言的解析和执行,能够调用BSP、用户自定义测试接口;
3、基于脚本解释器+调度标签的调度机制,构造测试脚本引擎;调度标签是用户自定义测试的时机、频率、间隔、次数、分组、串/并行、互斥等属性;
4、基于测试脚本引擎,构造仿真单板,使得用户可以在标准PC上模拟待测设备(单板),进行测试用例调试;也可以使用容器技术管理仿真单板集群,用户集成测试。
技术点的关键字:分组调度,嵌入式测试脚本解释器,调度标签,仿真单板。
图3为本申请的一种测试系统的示意图。图中的各个部件与各个部件的功能如下表1所示:
表1
首先,上位机上可以接收用户编写的测试用例,测试用例可以为RobotFramework格式的测试用例。编写测试用例的环境可以为集成开发环境IDE或者自动化测试环境RIDE。在接收到用户的测试用例之后,测试控制软件平台可以接收用户的测试指令,启动或结束测试。测试控制软件平台(测试控制软件)是一种控制下位机的测试软件平台,能够控制测试流程,采集数据,监控测试环境,能够接收用户的测试用例并将测试用例封装为测试套件。测试控制软件平台将测试套件发送给下位机,下位机接收到测试套件后,由测试引擎执行测试过程。其中,测试套件是由用户开发的,RobotFramework语言编写的:测试用例、测试数据和测试配置的脚本集合。
测试引擎包括了RF词法解析器、调度器、分组调度器与脚本解释器。测试引擎在接收到测试套件后,首先由RF词法解析器解析测试套件,得到测试用例。然后由调度器解析测试用例,得到测试用例的调度标签(属性标签),每一个测试用例的一个属性标签对应一个属性值。分组调度器按照属性值将测试用例分成多组并进行测试。其中,使用脚本解释器解释脚本语言。脚本解释器能够将RobotFramework语言的表达式、句子、混合C语言代码进行解析并执行。上述测试过程可以在待测设备/PC/服务器上运行。也就是说,本申请的测试引擎可以布置在待测设备/PC/服务器上。
本发明实施例的关键点囊括在测试引擎内,是实现嵌入式并发测试脚本引擎的核心,如表2所示:
表2
在上述过程中,首先测试引擎的分组调度器可以按照属性标签(调度标签或组标签)分组,将测试用例分成不同的组别。属性标签中包括了分组编号,定时器时长,断点位置,测试频率,测试间隔,串并发配置,互斥配置,选择用例等内容。分组调度器分组完成分组之后,可以运行多个测试沙盒,多个测试沙盒每一个测试沙盒负责测试一组测试用例。测试沙盒(沙盒)是多线程并发运行的容器:将测试用例执行过程监控起来,安全隔离并发测试中的log和变量。
在测试的过程中,需要使用脚本解释器进行脚本的解释。脚本解释器为嵌入式RobotFramework语言解释器,可以对测试用例进行解释,脚本解释器兼容RF语法并根据测试需求可以进行扩展。还需要使用C解释器。C解释器针对测试用例中的BSP调用,按照C语言风格解析和计算BSP相关的表达式。脚本解释器中包括了关键字,关键子是用户要求的特定功能接口,需测试引擎动态扩展的功能,是动态扩充RF语言的关键技术特点。
脚本解释器还包括BSP,BSP是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。
以下图4为本申请的一种可选的流程示意图。如图4所示,包括:
S410,测试控制平台获取用户编写的测试用例,其中,用户可以使用RIDE工具,编写RobotFramework格式的测试用例,输出测试套件
S420,测试控制平台接收用户的测试指令,发起测试,测试控制平台加载测试套件,并启动测试;该平台将测试套件派发到测试引擎;
S430,测试引擎执行测试,测试引擎接收完成测试套件后,开始测试。
如图5所示,具体步骤S430包括:S501-S518:RF词法解析器执行S501到S504,解析测试套件,加载测试用例,测试引擎按照RF语法和html文件格式,解析测试套件中的测试用例文件,生成测试用例词法表,记录在系统中;解析测试套件,加载通过标准,通过标准本质是测试套件中的html资源文件中定义的标量(Scalar),列表(List)和字典(Dictionary)数据结构,本申请中用来存储各种指标数值或字符,测试引擎按照RF语法和html文件格式,解析测试套件中的通过标准文件,生成用户变量表,记录在系统中;解析测试套件,加载用户定义关键字,用户定义关键字类似RF语言定义的函数;测试引擎按照RF语法和html文件格式,解析测试套件中的用户定义关键字文件,生成用户定义关键字词法表,记录在系统中;解析测试用例,设置调度标签,测试引擎解析测试用例中的调度标签,设置相应的属性值。如调度标签为timer:1h,则设置该测试定时器为1小时。之后,分组调度器执行步骤S505-S514:S505,分组测试用例,将该测试用例分配到相应的测试组。S506,创建测试引擎互斥锁,启动分组调度器为了多个测试引擎的实例协同调度,每个测试引擎创建自己的互斥锁,供多方做锁定和解锁的互斥机制。同时,启动分组调度器,开始测试用例的调度。S507,扫描测试用例,分组调度器通过扫描测试用例词法表,遍历所有的测试用例,对其进行调度操作。S508,根据调度标签,判断是否需要测试?如果测试用例中的调度标签标识综合判定为是则继续执行测试;否则不测试。S509,是否互斥调度?判断是否需要板内互斥,板间互斥,组间互斥。S510,互斥调度,根据板内互斥,板间互斥,组间互斥的要求,调度测试用例;S511,是否串行调度?判断是否板内串行,CPU内串行,组间串行。S512,串行调度,根据板内串行,CPU内串行,组间串行的要求,调度测试用例;S513,是否并发调度?判断是否板内并行,CPU内并行,组间并行。S514,并发调度,根据板内并行,CPU内并行,组间并行的要求,调度测试用例。之后,脚本解释器执行步骤S515,脚本解释器工作流程:分配沙盒,执行测试用例;解释器从测试用例词法表中同时解析执行RF脚本和C语言表达式。分组调度器执行步骤S516-S518:S516,回收沙盒资源,释放测试引擎互斥锁,S517,判断是否结束?测试过程中,允许用户终止测试引擎,S518,结束分组调度器,退出分组调度器,销毁占有资源。
其中,如图6所示,步骤S515包括S610-S618:S610,执行前置条件,执行测试用例中的前置条件;前置条件也是测试脚本的表达式组成的,由用户开发和维护;S611,扫描测试步骤,获取每个关键字或表达式,测试步骤是测试用例中的所有步骤集合,由RF开发,兼容C语言;这里面主要描述了测试的方法和步骤,测试的参数等等。脚本解析器从测试用例对象里面获取测试步骤等信息;S612,判断是否为C语言绑定到RF脚本的默认关键字?S613,调用关键字,RF脚本解析器动态执行关键字;S614,是否用户自定义关键字?判断是否用户自定义的RF关键字;这部分由用户开发和维护的脚本,不是C代码;S615,调用用户自定义关键字,RF脚本解释器自调用,将用户自定义关键字作为子用例执行;S616,查找ELF符号表,再调用C接口,解释器假设表达式为C语言,则进入C语言解释器动态执行C接口;S617,执行后置条件,执行测试用例中的后置条件;后置条件也是测试脚本的表达式组成的,由用户开发和维护;S618,测试统计,统计测试时长,成功与否,测试次数等数据,用于故障定位和数据分析。
本申请实施例中,在嵌入式系统有限的资源下,单个CPU内部能够并发地执行测试用例脚本,从而大幅度缩短测试过程中各器件的等待时间,提高测试频度,优化系统的性能;在嵌入式设备上支持关键字驱动开发,用户可以像编辑表格一样地编写硬件测试用例,提升了用户体验;用户可以灵活、快速地编写测试用例,或加大特定测试的应力,以激发故障和筛选器件缺陷。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种设备测试装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的设备测试装置的结构框图,如图7所示,该装置包括:
第一获取单元702,用于获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;
分组单元704,用于根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;
分配单元706,用于为所述多组测试用例中的每一组所述测试用例分别分配一个测试引擎;
测试单元708,用于使用所述多组测试用例在各自分配的所述测试引擎中对所述设备分别进行测试。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种设备测试方法,其特征在于,包括:
获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;
根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;
为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;
使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例包括:
对所述测试用例进行解析,获取每一个所述测试用例中的所述属性标签的标签类型,其中,所述属性标签的标签类型包括以下至少之一:分组编号,定时器时长,断点位置,测试频率,测试间隔,串并发配置,互斥配置,选择用例;
获取每一个所述测试用例中每个所述属性标签对应的属性值;
按照所述属性值将所述测试用例分成不同的组别。
3.根据权利要求1所述的方法,其特征在于,
在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之前,所述方法还包括,创建测试引擎互斥锁;
在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括,释放所述测试引擎互斥锁。
4.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例之后,所述方法还包括:
解析所述测试用例中的第一数据,其中,所述第一数据为在所述设备正常的情况下运行所述测试用例得到的数据;
将每一个所述测试用例的所述第一数据保存到数据变量表中。
5.根据权利要求4所述的方法,其特征在于,在使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试之后,所述方法还包括:
获取每一个所述测试用例对应的测试结果,其中,所述测试结果中包括与所述测试用例对应的测试数据;
将所述测试数据与所述数据变量表中的所述第一数据进行比对;
输出与所述第一数据不同的所述测试数据。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试包括:
使用多个所述测试沙盒同步对所述设备进行测试;或者
使用多个所述测试沙盒异步对所述设备进行测试。
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述测试用例可以用于测试不同的所述设备,所述测试用例为使用表驱动的可视化的测试用例。
8.一种设备测试装置,其特征在于,包括:
第一获取单元,用于获取测试用例,其中,所述测试用例为用于测试所述设备的计算机程序;
分组单元,用于根据所述测试用例的属性标签,将所述测试用例分成不同的组别,得到多组测试用例;
分配单元,用于为所述多组测试用例中的每一组所述测试用例分别分配一个测试沙盒;
测试单元,用于使用所述多组测试用例在各自分配的所述测试沙盒中对所述设备分别进行测试。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615380.5A CN113868112A (zh) | 2020-06-30 | 2020-06-30 | 设备测试方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615380.5A CN113868112A (zh) | 2020-06-30 | 2020-06-30 | 设备测试方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113868112A true CN113868112A (zh) | 2021-12-31 |
Family
ID=78981391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615380.5A Pending CN113868112A (zh) | 2020-06-30 | 2020-06-30 | 设备测试方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868112A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
CN106575248A (zh) * | 2014-05-18 | 2017-04-19 | 周凯 | 性能测试系统和方法 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109376090A (zh) * | 2018-10-25 | 2019-02-22 | 京信通信系统(中国)有限公司 | 软件自动测试方法及装置 |
CN109709418A (zh) * | 2018-12-21 | 2019-05-03 | 国网北京市电力公司 | 一种充电设施的检测方法及装置、存储介质和处理器 |
CN109726093A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 用于执行测试用例的方法、设备和计算机程序产品 |
CN110096445A (zh) * | 2019-05-06 | 2019-08-06 | 北京长城华冠汽车科技股份有限公司 | 一种模型在环测试方法及装置 |
-
2020
- 2020-06-30 CN CN202010615380.5A patent/CN113868112A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095059A (zh) * | 2014-04-15 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 一种自动化测试的方法和装置 |
CN106575248A (zh) * | 2014-05-18 | 2017-04-19 | 周凯 | 性能测试系统和方法 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109726093A (zh) * | 2017-10-27 | 2019-05-07 | 伊姆西Ip控股有限责任公司 | 用于执行测试用例的方法、设备和计算机程序产品 |
CN109376090A (zh) * | 2018-10-25 | 2019-02-22 | 京信通信系统(中国)有限公司 | 软件自动测试方法及装置 |
CN109709418A (zh) * | 2018-12-21 | 2019-05-03 | 国网北京市电力公司 | 一种充电设施的检测方法及装置、存储介质和处理器 |
CN110096445A (zh) * | 2019-05-06 | 2019-08-06 | 北京长城华冠汽车科技股份有限公司 | 一种模型在环测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN104166568B (zh) | 一种基于cim/g的电力系统图形文件并行加载的方法 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN105739481B (zh) | 工控软件的测试方法、装置及系统 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN109932588B (zh) | 一种航电设备验证测试引擎 | |
CN117370217B (zh) | 一种基于python的接口测试结果自动生成方法 | |
CN114510421A (zh) | 一种测试方法、装置、芯片及模组设备 | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
WO2005082072A2 (en) | Testing web services workflow using web service tester | |
CN112035346B (zh) | 基于嵌入式dsp操作系统的自动化测试方法、系统及介质 | |
CN113254350A (zh) | 一种Flink作业测试方法、装置、设备及存储介质 | |
CN117743145A (zh) | 一种基于编码模板的测试脚本生成方法、装置及处理设备 | |
CN111142861B (zh) | 结构化综控系统集成方法及装置 | |
CN111400191A (zh) | 网页安全测试方法、装置及计算机可读存储介质 | |
CN113868112A (zh) | 设备测试方法和装置、存储介质及电子装置 | |
CN116383025A (zh) | 基于Jmeter的性能测试方法、装置、设备及介质 | |
CN116599864A (zh) | 一种界面自动生成及用例模块化开发的通信测试系统、方法、设备及存储介质 | |
CN116467188A (zh) | 一种多环境场景下的通用本地复现系统和方法 | |
CN115587028A (zh) | 接口自动化测试方法、系统、介质及终端 | |
CN115454865A (zh) | 软件测试数据设计方法、装置、电子设备及存储介质 | |
CN112100086B (zh) | 软件自动化测试方法、装置、设备和计算机可读存储介质 | |
CN113806231A (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
CN114461514A (zh) | 一种基于低代码的自动化测试方法和系统 | |
CN109522205B (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 |