CN115833964A - 双模通信模块的性能测试方法和性能测试系统 - Google Patents
双模通信模块的性能测试方法和性能测试系统 Download PDFInfo
- Publication number
- CN115833964A CN115833964A CN202211425400.8A CN202211425400A CN115833964A CN 115833964 A CN115833964 A CN 115833964A CN 202211425400 A CN202211425400 A CN 202211425400A CN 115833964 A CN115833964 A CN 115833964A
- Authority
- CN
- China
- Prior art keywords
- test
- instruction
- dual
- communication module
- mode communication
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种双模通信模块的性能测试方法和性能测试系统,属于无线通信技术领域。所述双模通信模块的性能测试方法包括:获取测试脚本文件,所述测试脚本文件包括用于描述所述双模通信模块的性能测试用例的有序指令集,其中所述有序指令集中的每个指令对应所述双模通信模块执行性能测试时不可再分的操作功能;解析所述测试脚本文件,得到所述有序指令集;以及根据所述有序指令集执行对所述双模通信模块的性能测试。测试用例采用测试脚本文件描述其测试过程和测试内容,实现了从编写代码到文本描述来完成性能测试的转变,大大简化了开发模式、缩短了测试系统开发维护周期、降低了研发和更新维护成本。
Description
技术领域
本发明涉及无线通信技术领域,具体地涉及一种双模通信模块的性能测试方法和性能测试系统。
背景技术
双模通信模块HRF无线技术和电力技术相结合,广泛应用于无线抄表领域。例如可以应用于符合国网标准Q/GDW 1376.2-2013的集中器或DL/T 645-2007智能电表上,其中双模通信模块主节点插于集中器上,双模通信模块从节点插于智能电表上。所述主、从节点遵照约定的通信协议完成无线组网后,由集中器负责组织与各智能电表无线通信,实现远程无线抄表及网络维护。
每个双模通信模块出厂前都需要对其进行性能测试,以确保所述模块能够符合各性能指标、满足供货要求。目前,行业内认定的针对双模通信模块HRF的性能测试用例包括:工作频段及功率谱密度、最大输入电平、最大发射功率、杂散辐射限值、抗频偏容忍、邻道干扰、接收灵敏度、发射频谱模板和多径信道性能等测试。对于以上所述性能测试,各双模通信模块生产厂家还会有其它关心的测试指标,客观上存在个性化测试用例的扩展需求。
现有的双模通信模块HRF性能测试,主要是将所有测试用例按照其测试流程进行功能模块划分,然后定义好各功能模块之间的数据交互接口,接着编写各功能模块的代码,最后联调所有代码并编译生成相应测试软件。明显地,这些测试用例的测试逻辑都固化在软件代码实现中。现有技术的缺点如下:
1)测试用例的测试参数、硬件或业务逻辑等实现,任何一方面或多方面发生改变时,不可避免地需要研发人员重新修改软件工具源码,重新调试、编译、生成新软件才能满足新需求,这会增加研发周期和成本,修改也可能给原有软件带来不稳定因素;
2)如果有新增测试用例的扩展需求时,需要研发人员在原有代码框架结构中新增测试用例的类并实现其所有测试逻辑功能模块代码,重新调试、编译、生成新软件才能满足新需求,这也会增加研发周期和成本,修改也可能给原有软件带来不稳定因素;
3)现有技术方案只能做标准化测试,即:仅仅提供测试程序设定好的测试流程及测试结论,对于测试不通过的情况,不能提供不通过的细节及原因,缺乏测试的个性化定制需求,要想改善这种现状,还需要进行二次开发,且同样面临上述1)和2)的问题。
发明内容
本发明实施例的目的是提供一种双模通信模块的性能测试方法,该双模通信模块的性能测试方法可以解决现有双模通信模块HRF性能测试的上述缺点。
为了实现上述目的,本发明实施例提供一种双模通信模块的性能测试方法,所述双模通信模块的性能测试方法包括:获取测试脚本文件,所述测试脚本文件包括用于描述所述双模通信模块的性能测试用例的有序指令集,其中所述有序指令集中的每个指令对应所述双模通信模块执行性能测试时不可再分的操作功能;解析所述测试脚本文件,得到所述有序指令集;以及执行所述有序指令集,以对所述双模通信模块进行性能测试。
可选的,所述测试脚本文件的数据结构包括:一个或多个性能测试用例;所述一个或多个性能测试用例中每个性能测试用例对应的一个或多个测试执行步骤;所述一个或多个测试执行步骤中每个执行步骤对应的一个或多个指令;所述一个或多个指令中每个指令对应的指令参数组。
可选的,在所述获取测试脚本文件之前,所述双模通信模块的性能测试方法还包括生成所述测试脚本文件,其中,通过指令集定义层定义所述有序指令集中的每个指令和对应的所述指令参数组,通过指令描述层描述所述指令集定义层定义的每个指令的展现方式和对应的所述指令参数组中每个参数的展现方式,通过测试功能描述层定义每个性能测试用例对应的所述一个或多个测试执行步骤,并通过所述指令描述层对每个执行步骤对应的所述指令进行描述。
可选的,所述每个执行步骤包括:测试参数初始化、硬件初始化、测试业务逻辑和测试结果输出。
可选的,所述执行所述有序指令集,以对所述双模通信模块进行性能测试包括:按顺序获取所述有序指令集中的每个指令和对应的所述指令参数组;针对所述每个指令,获取对应的指令执行函数;通过所述每个指令和对应的所述指令参数组,按指令获取顺序执行对应的所述指令执行函数。
可选的,所述按指令获取顺序执行对应的所述指令执行函数包括:上一步指令的所述指令执行函数的执行结果,参与下一步指令的执行决策。
可选的,所述双模通信模块的性能测试方法还包括:根据所述有序指令集中的显示类指令,获取对应的指令执行函数;通过所述显示类指令对应的指令参数组执行所述指令执行函数,将显示数据输出到指定位置。
本发明实施例还提供一种控制装置,所述控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据上述任意一项所述的双模通信模块的性能测试方法。
本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令使得机器执行根据上述任意一项所述的双模通信模块的性能测试方法。
本发明实施例还提供一种双模通信模块的性能测试系统,所述双模通信模块的性能测试系统包括:测试屏蔽箱,用于屏蔽箱外无线信号及抑制箱内壁反射波;上述的控制装置;以及测试仪器组,用于根据所述控制装置的控制,读或写所述双模通信模块所需的测试数据。
可选的,所述测试屏蔽箱包括:测试工装,用于连接待测试的双模通信模块;主控单元,用于配置所述双模通信模块的测试参数,还用于透传所述双模通信模块的上行测试数据至所述控制装置;耦合板与天线,用于所述双模通信模块和所述测试仪器组之间的信号收发。
可选的,所述主控单元与所述控制装置之间设置有第一数据缓冲区。
可选的,所述测试仪器组包括:程控衰减器,用于设置所述双模通信模块与所述测试仪器组之间通信链路上的信号衰减值;侦听台,配置有侦听台接口,用于侦听所述双模通信模块与所述测试仪器组之间通信链路上的测试数据;信号源,配置有信号源接口,用于输出所述双模通信模块的接收性能所需的测试数据或输出设置所述信号源的测试参数;频谱仪,配置有频谱仪接口,用于输入所述双模通信模块的发射性能所需的测试数据或输出设置所述频谱仪的测试参数。
可选的,所述测试仪器组还包括功分器和合路器,所述侦听台、所述信号源、所述频谱仪通过所述功分器和合路器与所述程控衰减器进行连接,所述功分器和合路器用于对测试数据对应的射频信号进行分路或合路处理。
可选的,所述侦听台与所述控制装置之间设置有第二数据缓冲区。
可选的,所述双模通信模块的性能测试系统还包括交换机,所述测试屏蔽箱和所述测试仪器组通过所述交换机与所述控制装置进行通信,所述交换机还用于扩展LAN口。
可选的,所述控制装置包括:指令分析模块,用于解析测试脚本文件,以得到有序指令集中各指令及其指令参数组;指令执行模块,用于根据所述指令分析模块有序输入的当前指令及其指令参数组执行对所述双模通信模块的性能测试;输出测试结果模块,用于将示出测试结果的显示数据输出到指定位置。
可选的,所述指令执行模块包括指令处理单元、指令执行函数单元和外设通信接口单元。
通过上述技术方案,本发明实施例对于双模通信模块的性能测试,测试用例采用测试脚本文件描述其测试过程和测试内容,实现了从编写代码到文本描述来完成性能测试的转变,大大简化了开发模式、缩短了测试系统开发维护周期、降低了研发和更新维护成本。本发明实施例还提供了自定义的指令集,所述指令集中每一指令仅实现独立单一的操作功能,为不可再分割的指令;各测试用例的测试过程可分解为若干有序指令的组合;在测试用例发生改变或新增测试用例的需求等多种应用场景下,只需要在测试脚本文件中更改和新增相应测试用例所属的指令组合,无需更改测试系统工具源码,即可实现所述测试用例的更改和新增等。这种设计上的灵活性,使得本发明实施例具有较强的可扩展性。进一步地,以测试脚本文件和指令分析处理结构实现对被测单元DUT(双模通信模块)的性能测试;测试脚本文件使对双模通信模块的性能测试具有可配置性;指令分析处理结构使对双模通信模块的性能测试独立于测试用例以及测试流程。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是现有双模通信模块HRF的性能测试的流程示意图;
图2是本发明实施例提供的双模通信模块的性能测试方法的流程示意图;
图3是示例测试脚本文件生成的流程示意图;
图4是本发明实施例提供的双模通信模块的性能测试系统的结构示意图;
图5是示例性能测试系统的结构框架示意图;
图6是通过图5示例性能测试系统实施对双模通信模块的性能测试的流程示意图;
图7是示例控制装置的结构示意图;
图8是通过图7示例性控制装置实施对双模通信模块的性能测试的流程示意图。
附图标记说明
10-测试屏蔽箱;20-测试仪器组;30-控制装置。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
在详细描述本发明实施例之前,先对现有技术及其缺陷进行简单介绍。
现有双模通信模块HRF的性能测试,主要是将所有测试用例按照其测试流程进行功能模块划分,然后定义好各功能模块之间的数据交互接口,编写各功能模块的代码,最后联调所有代码并编译生成相应测试软件。明显地,这些测试用例的测试逻辑都固化在软件代码实现中。
如图1所示,现有的上述测试方法以每个测试用例为一个基本处理单元,然后为每个基本处理单元建立一个测试用例类,测试用例类中实现其测试流程逻辑功能,测试逻辑功能中可以包括:测试参数初始化模块、硬件初始化模块、测试用例业务逻辑实现模块以及测试结果输出模块。其中,测试参数初始化模块负责设定本测试用例涉及到的参数初始值;硬件初始化模块负责设定本测试用例使用到的硬件的初始值;业务逻辑实现模块负责实现本测试用例测试的测试流程步骤、组织读写各步骤中用到的硬件等,测试结果输出模块负责输出本测试用例最终的测试结果。
如果上述测试中某一测试用例i需要修改,例如,测试用例i的测试参数、硬件或业务逻辑任何一方面或多方面发生改变,都需要在软件代码中修改所述测试用例i对应的类,修改完成后编译生成新版本的测试软件;再例如,有新测试用例n+1的扩展需求时,需要在原有代码框架结构中新建所述测试用例n+1对应的类,实现其所有测试逻辑功能模块代码,联调所有代码并编译生成新版本的测试软件。以上测试过程均需修改源码,同时会增加研发周期和成本,修改源码也可能给原有测试软件正常运行带来不稳定因素。现有技术方案只能做标准化测试,即:仅仅提供测试程序设定好的测试用例及测试用例的测试结论,对于测试不通过的情况,不能提供不通过的细节及原因,不能满足测试的个性化定制需求。
图2是本发明实施例提供的双模通信模块的性能测试方法的流程示意图,请参考图2,所述双模通信模块的性能测试方法可以包括以下步骤:
步骤S110:获取测试脚本文件。
其中,所述测试脚本文件包括用于描述所述双模通信模块的性能测试用例的有序指令集,其中所述有序指令集中的每个指令对应所述双模通信模块执行性能测试时不可再分的操作功能。
本发明实施例以测试脚本文件为基础,所述测试脚本文件为带有一定数据格式的文本文件,所述脚本文件使用自定义的有序指令集,可以对各测试用例的测试流程进行描述,所述描述在脚本文件中完成,而不需要固化于软件代码中,本发明实施例使双模通信模块的性能测试具有可配置性的特征。
其中,自定义的有序指令集中的每一个指令可以用于描述双模通信模块测试实施时的一个具体功能操作,例如,读或写操作、判断大于操作、判断小于操作、判断相等操作、条件跳转操作、显示操作等;每个指令对应的指令执行函数用于实现每个指令的功能;测试脚本文件通过配置适当的有序指令集,描述测试用例的测试流程。因此,测试脚本文件的修改即是对有序指令集的更改,有序指令集的更改即是对指令执行(函数)的更改,指令执行(函数)的更改即是对测试流程的改变,最终更改了测试用例的测试内容,也就使得双模通信模块的性能测试具有可配置性的特性。
本发明实施例还提供了指令集详细的指令提取示例。根据对双模通信模块HRF的性能测试用例的特点分析,可以对具体测试流程进行细化、分割、抽象,最后设计、定义指令,形成指令集。并使用指令集中的不同子集(一个或多个指令组合)对各测试用例测试流程进行描述。所述指令集如表1所示:
表1指令集
表1中的每一指令包括指令符和指令参数组,各指令参数组的大小及参数含义如表1所示。需要说明,表1中指令对应的参数个数是用于示意的,参数个数可以根据对应的指令设置。每一指令可以代表一种操作,一个功能,不可再分;指令的不同组合(表1指令集的有序子集)可以实现不同的功能。
对于表1的每一个指令,均对应一个指令执行函数(下文将指令执行函数简称为函数)。所述函数可以通过从对应的指令获取到指令参数组,实现指令对应的操作功能,即,所述函数就是对指令操作功能的解释和执行。这些函数可以被测试软件实现并固化在代码里,当性能测试需要执行某个指令时,由测试软件可以自动去调用指令对应的指令执行函数。表1中的示例指令对应的示例指令解释执行函数可以如表2所示:
表2指令执行函数
表2中示例指令执行函数的操作功能及指令参数组的描述如表3所示:
表3函数的操作功能及指令参数组
优选的,在步骤S110之前,所述双模通信模块的性能测试方法还包括生成所述测试脚本文件。
其中,通过指令集定义层定义所述有序指令集中的每个指令和对应的所述指令参数组,通过指令描述层描述所述指令集定义层定义的每个指令的展现方式和对应的所述指令参数组中每个参数的展现方式,通过测试功能描述层定义每个性能测试用例对应的所述一个或多个测试执行步骤,并通过所述指令描述层对每个执行步骤对应的所述指令进行描述。
以示例说明,add指令在描述层的展现方式,“加运算-add-加数-被加数-和”,其中“add”、“加数”、“被加数”、“和”都是add这个指令的数据,这条指令放到脚本文件里描述的时候要简单、清楚地说明关系;指令描述层可以采取键值对的形式来作为这些原本数据的一种描述展现方式,例如,采用的(指令符=“add”)用来描述“add”,增加了一个(参数个数=“3”)用来描述这条指令总共的参数个数,使用(参数1=“操作数1”)用来描述“加数”,使用(参数2=“操作数2”)来描述“被加数”,使用(参数3=“结果”)来描述“和”。
本发明实施例优选的所述每个执行步骤可以包括:测试参数初始化、硬件初始化、测试业务逻辑和测试结果输出。
以示例说明,本发明实施例的测试脚本文件是带有一定数据格式的文本文件,可以由指令集定义层、指令描述层和测试功能描述层三部分生成,生成所述测试脚本文件。如图3所示,指令集定义层可以定义描述所有测试用例使用到的各种指令,例如包括指令符及指令参数组,如表1所示的内容。指令描述层定义描述各指令自身属性的格式,所述自身属性包括指令符、指令携带参数个数以及指令参数组;可以采用键值对的形式进行描述,例如,加法指令add可以描述为:指令符=“add”,参数个数=“3”,参数1=“操作数1”,参数2=“操作数2”,参数3=“结果”,含义为:add这条指令执行的功能是将操作数1和操作数2相加,将执行add的结果存放于参数3中,其中指令符表示add指令,参数1~参数3表示add指令参数组中的各参数,参数个数表示add指令参数组的参数个数。测试功能描述层定义每个测试用例的测试步骤,可以包括测试参数初始化、硬件初始化、测试业务逻辑和测试结果输出等部分,每一部分内容使用指令描述层对若干指令子集进行描述即可。
本发明实施例优选的所述测试脚本文件的数据结构可以包括:一个或多个性能测试用例;所述一个或多个性能测试用例中每个性能测试用例对应的一个或多个测试执行步骤;所述一个或多个测试执行步骤中每个执行步骤对应的一个或多个指令;所述一个或多个指令中每个指令对应的指令参数组。
其中,所述指令参数组包括一个或多个参数,所述指令参数组也可以为空,即对应的指令没有参数,比如:空操作nop。
本发明实施例的测试脚本文件使用自定义的有序指令集与特定的数据结构对各性能测试用例的测试流程进行描述。所述数据结构以性能测试用例、测试执行步骤、指令、指令参数组的四层数据结构来描述性能测试用例的测试内容和测试流程。例如,测试脚本文件包括几个性能测试用例;每个性能测试用例分割为几个测试执行步骤;每个测试执行步骤由几条指令组成;每条指令的指令参数组携带有几个参数。其中,测试执行步骤就是在上述测试功能描述层定义的,指令自身属性就是在指令描述层描述的,指令及其参数组就是在指令集定义层定义的。
示例有序指令集的数据结构如表4所示:
表4示例测试脚本文件的数据结构
如表4示例所示,测试脚本文件(解析出的有序指令集)描述了该双模通信模块的性能测试包括:N个性能测试用例;第i个性能测试用例(例如,灵敏度)有N1个测试执行步骤;第1个测试执行步骤有N2条需要执行的指令;第i条指令的指令参数组长度为N3;N3个指令参数的内容。
表4示例对应的测试脚本文件可以如下:
性能测试用例总数TIN=1,性能测试用例名TIN1=接收灵敏度,性能测试用例的测试执行步骤数TISN1=4,被测模块类型TIDUTType=1,测试结果标准指标值TIStandardValue=-106dBm;
第1测试执行步骤(参数初始化)包括例如23个有序指令:TIOPN=23,TIODName1=writePara,TIODName2=writePara,TIODName3=writePara,…;
TIODName1指令对应的参数组:TIODS1[0]=1001,TIODS1[1]=IP,TIODS1[2]=192.168.1.2,TIODS1[3]=Port,TIODS1[4]=8088,TIODS1[5]=主控单元,
TIODName2指令对应的参数组:TIODS2[0]=2001,TIODS2[1]=IP,TIODS2[2]=192.168.1.112,TIODS2[3]=Port,TIODS2[4]=4196,TIODS2[5]=程控衰减器,
TIODName3指令对应的参数组:TIODS3[0]=4001,TIODS3[1]=Address,TIODS3[2]=TCPIP0::192.168.1.254::inst1::INSTR,TIODS3[3]=频谱仪,…。
第2测试执行步骤(硬件初始化)包括例如3个有序指令:TIOPN=3,TIODName1=writeDevice,…,TIODName3=writeDevice;
TIODName1指令对应的参数组:TIODS1[0]=MainConUnit,TIODS1[1]=1001,TIODS1[2]=80,TIODS1[3]=7321332133,TIODS1[4]=TCP,TIODS1[5]=result,
TIODName3指令对应的参数组:TIODS3[0]=MainConUnit,TIODS3[1]=1001,TIODS3[2]=92,TIODS3[3]=AAAAAAAAAAAA,TIODS3[4]=TCP,TIODS3[5]=result。
第3测试执行步骤(测试业务)包括例如88个有序指令:TIOPN=88,TIODName1=open,…,TIODName7=delay,TIODName8=little,TIODName9=loopC,…,TIODName86=sub;TIODName87=jmp,TIODName88=add;
TIODName1指令对应的参数组:TIODS1[0]=4001,TIODS1[1]=TCP,TIODS1[2]=Address,TIODS1[3]=SpectrumAnalyzer,TIODS1[4]=result,…,
TIODName7指令对应的参数组:TIODS7[0]=5000,TIODS7[1]=ms,
TIODName8指令对应的参数组:TIODS8[0]=powerValue,TIODS8[1]=TestSensitivityLimitValue,TIODS8[2]=TestPowerFlag,
TIODName9指令对应的参数组:TIODS9[0]=-1,TIODS9[1]=TestPowerFlag,TIODS9[2]=1,TIODS9[3]=79,TIODS9[4]=80,…,
TIODName86指令对应的参数组:TIODS86[0]=powerValue,TIODS86[1]=TestPowerOffset,TIODS86[2]=powerValue,
TIODName87指令对应的参数组:TIODS87[0]=StaticFlag,TIODS87[1]=2,TIODS87[2]=0,
TIODName88指令对应的参数组:TIODS88[0]=powerValue,TIODS88[1]=1,TIODS88[2]=powerValue。
第4测试执行步骤(测试结论)包括例如24个有序指令:TIOPN=24,TIODName1=writeData,TIODName2=mul,…,TIODName24=display;
TIODName1指令对应的参数组:TIODS1[0]=count,TIODS1[1]=TestSuccessPackageNum,
TIODName2指令对应的参数组:TIODS2[0]=count,TIODS2[1]=100,TIODS2[2]=count,…,
TIODName24指令对应的参数组:TIODS24[0]=接收灵敏度测试结论:,TIODS24[1]=TestResult,TIODS24[2]=不通过,TIODS24[3]=string。
步骤S120:解析所述测试脚本文件,得到所述有序指令集。
如上述表4示例对应的测试脚本文件,解析出的有序指令集包括针对当前双模通信模块的性能测试的所有性能测试用例的指令及每个指令对应的指令参数组。其中,指令为有序指令,示出了该双模通信模块性能测试的所有测试内容和执行顺序。
步骤S130:执行所述有序指令集,以对所述双模通信模块进行性能测试。
本发明实施例优选的步骤S130可以包括:按顺序获取所述有序指令集中的每个指令和对应的所述指令参数组;针对所述每个指令,获取对应的指令执行函数;通过所述每个指令和对应的所述指令参数组,按指令获取顺序执行对应的所述指令执行函数。
本发明实施例优选的所述按指令获取顺序执行对应的所述指令执行函数包括:上一步指令的所述指令执行函数的执行结果,参与下一步指令的执行决策。
以示例说明,如上述表4示例对应的测试脚本文件解析出的有序指令集,从第1个性能测试用例(例如,表4有1个性能测试用例)的第1个测试执行步骤(参数初始化)对应的第1条指令(TIODName1=writePara)开始执行性能测试,按指令顺序,一直执行到第4个测试执行步骤(测试结论)对应的第24条指令(TIODName24=display)。例如,第1条指令(TIODName1=writePara)为表1中的指令“写参数”测试,获取例如表2中其对应的指令执行函数voidwritePara(string object,string ip,string ipValue,string port,stringportValue),并将对应的指令参数组(TIODS1[0]-TIODS5[0])传递到指令执行函数,调用、执行所述函数,并返回函数执行结果;按指令顺序依次执行所有指令,完成对双模通信模块的性能测试。
优选的,所述双模通信模块的性能测试方法还可以包括:根据所述有序指令集中的显示类指令,获取对应的指令执行函数;通过所述显示类指令对应的指令参数组执行所述指令执行函数,将显示数据输出到指定位置。
以示例说明,测试脚本文件中还可以包括用于指示测试结果显示(例如,显示格式、显示位置等)的显示类指令,例如,对有序指令集中的所有测试指令(如上述示例中的指令)执行完毕后,根据显示类指令,获取对应的指令执行函数,调用、执行所述函数,将要显示数据的内容输出到指定位置。
据此,本发明实施例对于双模通信模块的性能测试,测试用例采用测试脚本文件描述其测试过程和测试内容,实现了从编写代码到文本描述来完成性能测试的转变,大大简化了开发模式、缩短了测试系统开发维护周期、降低了研发和更新维护成本。
本发明实施例还提供了自定义的指令集,所述指令集中每一指令仅实现独立单一的操作功能,为不可再分割的指令;各测试用例的测试过程可分解为若干有序指令的组合;在测试用例发生改变或新增测试用例的需求等多种应用场景下,只需要在测试脚本文件中新增或更改相应测试用例所属的指令组合,无需更改测试系统工具源码,即可实现所述测试用例的更改和新增等。这种设计上的灵活性,使得本发明实施例具有较强的可扩展性。
具体地,如果某测试用例i需要修改,例如其测试参数、硬件或业务逻辑实现的任何一方面或多方面发生改变,只需要在软件代码外的测试脚本文件更改所述测试用例i对应的测试功能描述部分中的有序指令集的描述,不影响性能测试对应的代码,不需要重新编译,直接运行测试即可;如果有新测试用例n+1的扩展需求,只需要在软件代码外的测试脚本文件中新增所述测试用例n+1对应测试功能描述部分对应的有序指令集的描述,新增完成后直接运行测试即可。
本发明实施例还提供一种控制装置,所述控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据步骤S110-S130所述的双模通信模块的性能测试方法。
本发明实施例还提供一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令使得机器执行步骤S110-S130所述的双模通信模块的性能测试方法。
图4是本发明实施例提供的双模通信模块的性能测试系统的结构示意图,请参考图4,所述双模通信模块的性能测试系统可以包括:测试屏蔽箱10,用于屏蔽箱外无线信号及抑制箱内壁反射波;上述的控制装置30;以及测试仪器组20,用于根据所述控制装置的控制,读或写所述双模通信模块所需的测试数据。
图5是示例性能测试系统的结构框架示意图,请参考图5,优选的所述测试屏蔽箱10包括:测试工装,用于连接待测试的双模通信模块;主控单元,用于配置所述双模通信模块的测试参数,还用于透传所述双模通信模块的上行测试数据至所述控制装置;耦合板与天线,用于所述双模通信模块和所述测试仪器组之间的信号收发。
请参考图5,以示例说明,测试屏蔽箱10还包括被测模块DUT(即待测试的双模通信模块);测试工装,用于连接所述双模通信模块,可以为所述双模通信模块提供强弱电接口插座、UART通信接口以及工作所需电源;主控单元,用于配置所述双模通信模块测试参数,还用于透传上行测试数据至所述控制装置,即双模通信模块接收到数据后,不进行任何处理,直接将接收到的数据发送出去;耦合板与天线,用于所述双模通信模块和所述测试仪器组之间的信号收发,例如,耦合板与天线可以接收所述双模通信模块发射的信号给所述测试仪器组或发射所述测试仪器组发射给双模模块的无线信号。
以示例说明,测试屏蔽箱中,被测模块DUT,可以插于测试工装上,接入该性能测试系统;测试工装将DUT的上行透传数据通过其UART通信口发送给主控单元;被测模块DUT收发无线链路信号并通过耦合板与天线,与测试仪器组中的测试仪器通信。
参考图5,优选的所述测试仪器组20可以包括:程控衰减器,用于设置所述双模通信模块与所述测试仪器组之间通信链路上的信号衰减值;侦听台,配置有侦听台接口,用于侦听所述双模通信模块与所述测试仪器组之间通信链路上的测试数据;信号源,配置有信号源接口,用于输出所述双模通信模块的接收性能所需的测试数据或输出设置所述信号源的测试参数;频谱仪,配置有频谱仪接口,用于输入所述双模通信模块的发射性能所需的测试数据或输出设置所述频谱仪的测试参数。
进一步优选的,所述测试仪器组20还可以包括功分器和合路器,所述侦听台、所述信号源、所述频谱仪通过所述功分器和合路器与所述程控衰减器进行连接,所述功分器和合路器用于对测试数据对应的射频信号进行分路或合路处理。
承接上述示例,信号源用于测试被测模块DUT的接收性能;频谱仪用于测试被测模块DUT的发射性能;程控衰减器用于调节无线通信链路上的信号衰减大小;侦听台用于监听无线链路上的通信数据,以便于数据比对、检验等;功分器和合路器用于无线射频信号的分或合处理。
优选的所述双模通信模块的性能测试系统还可以包括交换机,所述测试屏蔽箱和所述测试仪器组通过所述交换机与所述控制装置进行通信,所述交换机还用于扩展LAN口。
承接上述示例,交换机和串口服务器分别可以用于扩展PC工控机上的LAN口和串口;控制装置被配置于PC工控机上,在控制装置的控制下与上述外设硬件有序完成通信及测试任务。
图6是通过图5示例性能测试系统实施对双模通信模块的性能测试的流程示意图,请参考图6,以示例说明,待测双模通信模块DUT,测试时,将其放于测试工装上。控制装置可以从其内存中获取测试脚本文件,解析所述测试脚本文件,得到所述有序指令集;逐条提取出有序指令中各指令的指令符、其指令参数组、及参数数组对应的参数数据,并查询当前测试指令对应的指令执行函数,查找到所述函数后将指令参数组、及参数数组对应的参数数据作为函数的入口参数进行实参传入,然后调用、执行所述指令对应指令执行函数,并输出对应的测试结果。控制装置可以通过指令执行函数操控和调用外设,因此控制装置所述的PC工控机配置有多种外设通信接口。例如可以与侦听台、频谱仪、信号源、主控单元、程控衰减器等进行通信。
其中,侦听台接口,其输入可以为控制装置输出的操控侦听台的数据,依据所述数据配置侦听台的工作参数,使其能够实时侦听射频线路上的无线信号。
请结合图5和图6,优选的所述侦听台与所述控制装置之间设置有第二数据缓冲区(例如,数据缓冲区2),用于存放其侦听的数据。当执行的当前指令是读取侦听台数据的读指令时,所述指令对应的指令执行函数会从数据缓冲区2读取数据。
频谱仪接口,其输入可以为控制装置输出的操控频谱仪的数据,依据所述数据配置频谱仪的工作参数,使其能够显示所述配置参数下信号的频谱数据;或者依据所述数据读取频谱仪测量数据,并将所述测量数据返回(输出)给控制装置。
信号源接口,其输入可以为控制装置输出的操控信号源的数据,依据所述数据配置信号源的工作参数;或者依据所述数据要求信号源输出指定测试信号。
主控单元接口,其输入可以为控制装置输出的操控主控单元的数据,依据所述数据配置主控单元的工作参数,使其能够与测试工装正常通信。
优选的所述主控单元与所述控制装置之间设置有第一数据缓冲区(例如,数据缓冲区1),用于存放测试工装上传的数据。
程控衰减器接口,其输入可以为控制装置输出的操控程控衰减器的数据,依据所述数据配置程控衰减器的工作参数,使其能够改变射频通信链路上信号的衰减值大小。
本发明实施例的测试脚本文件包括有序指令集,即是如表1中若干指令的集合,而控制装置中的指令分析和处理结构,可以看作若干指令的集合对应的若干指令执行函数的处理单元;测试脚本文件在控制装置外,而指令分析和处理结构设置于控制装置中;测试脚本文件是通过有序指令集的形式,描述测试用例和测试流程,而指令分析和处理结构是执行某一测试用例、对应的测试流程下某一测试步骤对应的指令;测试脚本文件可以控制性能测试的整个执行流程,而指令分析和处理结构是被动地解释和执行每个指令。因此,在测试用例发生更改或新增测试用例的需求等多种应用场景下,只需要在测试脚本文件中更改或新增相应测试用例所属的指令组合,无需更改测试系统工具源码,即可实现所述测试用例的更新和更改。这种设计上的灵活性,使得本发明实施例具有较强的可扩展性。
为了更好地解释和执行有序指令集中的每个指令,请参考图7,本发明实施例优选的所述控制装置可以包括:指令分析模块,用于解析测试脚本文件,以得到有序指令集中各指令及其指令参数组;指令执行模块,用于根据所述指令分析模块有序输入的当前指令及其指令参数组执行对所述双模通信模块的性能测试;输出测试结果模块,用于将示出测试结果的显示数据输出到指定位置。
请参考图7,以示例说明,读取脚本文件模块将测试脚本文件内容读取到内存(例如数据缓冲区)中,供指令分析模块使用。指令分析模块(即指令分析处理器)从内存中获取测试用例的有序指令集中的所有指令,按照顺序依次提取指令;可以每次只提取一条指令,并将所述指令传递给指令执行模块(即指令执行处理器)或输出测试结果模块。指令执行模块每次处理一个指令,从指令分析模块获取到指令,然后提取所述指令的指令符及指令参数组,接着查询所述指令对应的指令执行函数,将指令参数组对应的参数数据传递给指令执行函数,调用并执行所述函数,并将函数执行结果返回给指令分析模块。输出测试结果模块可以从指令分析模块获取到显示类指令,然后提取所述指令的指令参数组,查询所述指令对应的指令执行函数,调用和执行所述函数,将要显示的数据内容输出到指定位置。
本发明实施例还提供了指令分析模块(即指令分析处理器)的模块化设计。指令分析处理器用于分析和处理从测试脚本文件导入的数据。指令分析处理器可以根据测试脚本文件中有序指令集的数据结构(例如,测试用例、测试步骤、指令、指令参数集)进行设置,可以以性能测试用例为基本处理单位,然后按照测试流程步骤划分层次关系、定义各层数据。
以示例说明,结合表4的相关示例,指令分析处理器的数据模型可以包括性能测试用例总数TIN和每组测试用例的特征参数,所述测试用例总数TIN是当前指令分析处理器需要创建的所述测试用例特征参数的组数;每组所述测试用例特征参数可以包括测试用例名TIName、测试用例步骤的组数TISN、每组测试步骤TISS;每组测试步骤TISS可以包括步骤名称TIStepName、组成所述步骤的指令总数TIOPN、每个指令TIOP;每个指令TIOP可以包括指令符TIOPName及其指令参数组TIOPS;指令参数组TIOPS的每个参数可以包括指令符所携带的入口参数及指令执行后返回的结果信息参数等;指令分析处理器解析所述测试脚本文件中的有序指令集后,可以将测试用例的特征参数所包括的各步骤、各指令、指令参数集,依次输入给指令执行处理器,如果所述指令有返回值,将所述返回值结果信息返回给所述指令分析处理器。
请参考上文表4示例对应的测试脚本文件,建立以上数据模型后,指令分析处理器获取到测试脚本文件的数据后,依照测试脚本文件中性能测试用例数量N,创建N组测试用例及N组特征参数的数据结构;然后再依照测试脚本文件中各测试用例下测试步骤组数N1,创建N1组步骤数据的数据结构;接着再依照测试脚本文件中各步骤下指令总数N2,创建N2个指令数据的数据结构;最后再依照测试脚本文件中各指令下指令参数组中参数个数N3,创建N3个参数变量。
据此,可以建立指令分析处理器的数据模型。显然,指令分析处理器的性能测试用例特征参数组数N、每组测试用例包含的测试步骤组数N1、每组测试步骤包含的指令总数N2、每个指令包含的指令参数组中参数个数N3,是可以依据测试脚本文件的数据变化的,而指令分析处理器的数据结构不会改变。指令分析处理器只有将测试脚本文件加载后,才依据测试脚本文件的数据(有序指令集)迅速建立指令分析处理器的测试数据结构(如表4的内容)。
本发明实施例优选的所述指令执行模块可以包括指令处理单元、指令执行函数单元和外设通信接口单元。
本发明实施例还提供了对指令执行模块(即指令执行处理器)的模块化设计。指令执行处理器可以包括指令处理单元、指令解释执行函数单元、外设通信接口单元。指令处理单元负责提取从指令分析处理器获取到的指令信息,然后将所述信息提供给指令执行函数单元;指令处理单元能够处理的指令可以包括读指令、写指令、输出指令、打开设备指令、关闭设备指令、循环指令、比较指令、跳转指令、延时指令、数据算术指令、数据逻辑指令等(如表1所示);指令执行函数单元是若干函数(如表2所示)的集合,集合中的每个函数都与一个指令(如表1所示)对应,所述函数用于解释和执行其对应指令的功能;外设通信单元接口也是函数集合,用于与各种外设通信(例如测试仪器组中的测试仪器),针对每一种外设可以创建对应的函数集,用于读或写操作。
指令执行处理器依据指令分析器输入的指令及指令符与指令参数组查找和其对应的指令执行函数,所述函数名对应指令符,函数入口参数对应指令参数组,函数返回值对应指令参数组中的返回值信息;所述函数执行完毕,将执行结果信息返回给指令分析处理器。
请参考图8,以上述示例控制装置为例,描述对双模通信模块的性能测试流程:
1)待测双模通信模块DUT,测试时,将其放于测试工装上。
2)测试启动后,读取脚本文件模块可以将测试脚本文件中的文本数据读入到内存中(例如,数据缓冲区0)中。其中,数据缓冲区0,为内存中的一块数据区域,用于保存从测试脚本文件读取的文本数据,并将所述文本数据输出给指令分析处理器。
3)指令分析模块(即指令分析处理器),其输入为数据缓冲区0的有序指令集中的所有指令,按照顺序逐条提取指令,及其对应的指令符和指令参数组,并将每条指令依次输出给指令执行处理器;指令执行模块(即指令执行处理器)执行完所述指令后将执行结果信息返回(输入)给指令分析处理器,指令分析处理器依据所述执行结果信息与提取的下一条指令综合判断、决策性能测试下一步的测试流程。如果指令分析处理器本次提取到的指令符为显示类指令,那么它会把指令直接输出给测试结果报表模块。
4)测试结果报表模块,用于保存和显示指令分析处理器输出的测试结果数据。
5)指令执行模块(即指令执行处理器),其输入为指令分析处理器输出的某条指令,及其对应的指令符和指令参数组,依据所述指令查询对应的指令执行函数,查找到所述函数后将指令的参数数据作为函数的入口实参传入,然后调用和执行所述函数,并将函数结果由指令执行处理器返回(输出)给指令分析处理器。指令分析处理器可以通过指令执行函数操控和调用外设,因此指令分析处理器可以配置有多种外设通信接口。例如,可以与侦听台、频谱仪、信号源、主控单元、程控衰减器等进行通信。
6)侦听台接口,其输入可以为指令执行处理器输出的操控侦听台的数据,依据所述数据配置侦听台的工作参数,使其能够实时侦听射频线路上的无线信号。优选的所述侦听台配置有第二数据缓冲区(例如,数据缓冲区2),用于存放其侦听的数据。当执行的当前指令是读取侦听台数据的读指令时,所述指令对应的指令执行函数会从数据缓冲区2读取数据。
7)频谱仪接口,其输入可以为指令执行处理器输出的操控频谱仪的数据,依据所述数据配置频谱仪的工作参数,使其能够显示所述配置参数下信号的频谱数据;或者依据所述数据读取频谱仪测量数据,并将所述测量数据返回(输出)给指令执行处理器。
8)信号源接口,其输入可以为指令执行处理器输出的操控信号源的数据,依据所述数据配置信号源的工作参数;或者依据所述数据要求输出指定测试信号。
9)主控单元接口,其输入可以为指令执行处理器输出的操控主控单元的数据,依据所述数据配置主控单元的工作参数,使其能够与测试工装正常通信。优选的所述主控单元配置有第一数据缓冲区(例如,数据缓冲区1),用于存放测试工装上传的数据。
10)程控衰减器接口,其输入可以为指令执行处理器输出的操控程控衰减器的数据,依据所述数据配置程控衰减器的工作参数,使其能够改变射频通信链路上信号的衰减值大小。
请参考上文表4示例对应的测试脚本文件,以示例说明,一次双模通信模块HRF的接收灵敏度测试,DUT类型配置为主节点模块TIDUTType=1,每轮测试信号源发包数TISendNum=10,DUT收包通过率TIRxRate=90%,接收灵敏度门限值TIStandardValue=-106dBm。依据上述的结构配置,指令分析处理器获取参数初始化、硬件初始化、测试业务和从测试脚本文件中解析出的每一指令TIODName及其TIODS信息,输出给指令执行处理器;指令执行处理器依据指令对应的指令执行函数执行具体操作逻辑,并返回执行数据;如此循环,依据指令分析处理器的各指令实施测试任务,最后输出测试结果。如果需要输出中间步骤的数据结果,只需要在测试脚本文件的配置结构里,追加一条输出指令即可跟踪到需要的数据结果。
其中,测试参数初始化模块负责设定本测试用例涉及到的参数初始值,例如,被测DUT的类型值、测试进度状态值、测试结果值、测试轮次值、每轮测试超时值、重发次数值、测试链路衰减补偿值等;
硬件初始化模块负责设定本测试用例使用到的硬件的初始值,例如,程控衰减器IP地址、端口号及初始衰减值、信号源通信地址及初始测试参数值、频谱仪通信地址及初始测试参数值、侦听台串口通信参数值等;
业务逻辑实现模块负责实现本测试用例测试的测试流程步骤、组织读写各步骤中用到的硬件等,
测试结果输出模块负责输出本测试用例最终的测试结果,例如,测试是否完成、测试是否通过、测试结果数据值、测试用时等。
以示例说明,以前文所述的第3测试执行步骤(测试业务)为例,第3测试执行步骤中执行的第84条指令中,依据指令分析处理器输出给指令执行处理器的指令为TIODName84=greatE(大于等于判断操作),所述指令的指令参数组TIODS84[0]=TestStandardRata_flag,TIODS84[1]=count,TIODS84[2]=TestStandardRata;且与第84条指令相邻的第85条指令为TIODName85=jmp(等于跳转操作),所述指令的指令参数集TIODS85[0]=TestStandardRata_flag,TIODS85[1]=1,TIODS85[2]=3;指令执行处理器处理的执行过程为:所述执行处理器获取到当前的TIODName84指令符greatE和其指令参数组TIODS84[0]、TIODS84[1]、TIODS84[2],将调用跟指令符greatE同名的指令执行函数(请参考表2),并且将指令参数组中参数TIODS84[0]、TIODS84[1]、TIODS84[2]作为所述函数的入口参数数据,然后执行greatE函数的操作功能;判断TIODS84[1]是否大于等于TIODS84[2],含义为:主控单元收到测试包的数量count是否大于等于测试配置的标准合格收到测试包数量值TestStandardRata;如果大于等于逻辑关系成立,将判断标识位TIODS84[0]=TestStandardRata_flag置为1;否则,将判断标识位TIODS84[0]=TestStandardRata_flag置为0。接着,指令执行处理器从指令分析处理器获取到第85条TIODName85指令符jmp和其指令参数组TIODS85[0]、TIODS85[1]、TIODS85[2],调用跟指令符jmp同名的的指令执行函数(请参考表2),并且将指令参数组中参数TIODS85[0]、TIODS85[1]、TIODS85[2]作为所述函数的入口参数数据,然后执行jmp函数的操作功能;判断标识位TIODS85[0]=TestStandardRata_flag的值;如果TIODS85[0]为1,以第85条指令为基础向下跳转到TIODS85[1]条所指的指令处进行该指令的处理逻辑;否则,以第85条指令为基础向下跳转到TIODS85[2]条所指的指令处进行该指令的处理逻辑。指令执行处理器就是依据指令分析处理器输入的各指令信息,如此有序执行,直到执行完所述分析处理器所有的指令为止。
上文表4示例对应的测试脚本文件中一次完整测试的测试结果如下:
侦听台接收数据[1]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[2]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[3]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[4]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[5]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[6]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[7]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[8]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[9]:
500000000001FF680F00CA000000000000041000DE16
侦听台接收数据[10]:
500000000001FF680F00CA000000000000041000DE16
透传给主控的数据[1]:680F00CA000000000000041000DE16
透传给主控的数据[2]:680F00CA000000000000041000DE16
透传给主控的数据[3]:680F00CA000000000000041000DE16
透传给主控的数据[4]:680F00CA000000000000041000DE16
透传给主控的数据[5]:680F00CA000000000000041000DE16
透传给主控的数据[6]:680F00CA000000000000041000DE16
透传给主控的数据[7]:680F00CA000000000000041000DE16
透传给主控的数据[8]:680F00CA000000000000041000DE16
透传给主控的数据[9]:680F00CA000000000000041000DE16
透传给主控的数据[10]:680F00CA000000000000041000DE16
测试结果:强度:-116dBm;测试总数:10;收包成功数:10;收包失败数:0;误包率:0%;接收灵敏度测试结论:1,通过。
其中,侦听台接收的和透传给主控单元的10包数据就是所述测试参数初始化中每轮测试信号源发包数TISendNum配置值10;侦听台接收的[1]~[10]数据用于从无线通信链路验证DUT是否发出了测试数据,用作对测试系统自身性能的一个验证;透传给主控的数据[1]~[10]用于计算接收成功率,上述本轮测试发包10次,正确收包10次全部正确,误包率为0%。所述测试参数初始化中接收灵敏度门限值TIStandardValue配置为-106dBm,测试值为-116dBm,远远小于TIStandardValue,因此,本次测试结论:测试通过。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种双模通信模块的性能测试方法,其特征在于,所述双模通信模块的性能测试方法包括:
获取测试脚本文件,所述测试脚本文件包括用于描述所述双模通信模块的性能测试用例的有序指令集,其中所述有序指令集中的每个指令对应所述双模通信模块执行性能测试时不可再分的操作功能;
解析所述测试脚本文件,得到所述有序指令集;以及
执行所述有序指令集,以对所述双模通信模块进行性能测试。
2.根据权利要求1所述的双模通信模块的性能测试方法,其特征在于,所述测试脚本文件的数据结构包括:
一个或多个性能测试用例;
所述一个或多个性能测试用例中每个性能测试用例对应的一个或多个测试执行步骤;
所述一个或多个测试执行步骤中每个执行步骤对应的一个或多个指令;
所述一个或多个指令中每个指令对应的指令参数组。
3.根据权利要求2所述的双模通信模块的性能测试方法,其特征在于,在所述获取测试脚本文件之前,所述双模通信模块的性能测试方法还包括生成所述测试脚本文件,
其中,通过指令集定义层定义所述有序指令集中的每个指令和对应的所述指令参数组,
通过指令描述层描述所述指令集定义层定义的每个指令的展现方式和对应的所述指令参数组中每个参数的展现方式,
通过测试功能描述层定义每个性能测试用例对应的所述一个或多个测试执行步骤,并通过所述指令描述层对每个执行步骤对应的所述指令进行描述。
4.根据权利要求3所述的双模通信模块的性能测试方法,其特征在于,所述每个执行步骤包括:测试参数初始化、硬件初始化、测试业务逻辑和测试结果输出。
5.根据权利要求2所述的双模通信模块的性能测试方法,其特征在于,所述执行所述有序指令集,以对所述双模通信模块进行性能测试包括:
按顺序获取所述有序指令集中的每个指令和对应的所述指令参数组;
针对所述每个指令,获取对应的指令执行函数;
通过所述每个指令和对应的所述指令参数组,按指令获取顺序执行对应的所述指令执行函数。
6.根据权利要求5所述的双模通信模块的性能测试方法,其特征在于,所述按指令获取顺序执行对应的所述指令执行函数包括:
上一步指令的所述指令执行函数的执行结果,参与下一步指令的执行决策。
7.根据权利要求5所述的双模通信模块的性能测试方法,其特征在于,所述双模通信模块的性能测试方法还包括:
根据所述有序指令集中的显示类指令,获取对应的指令执行函数;
通过所述显示类指令对应的指令参数组执行所述指令执行函数,将显示数据输出到指定位置。
8.一种控制装置,其特征在于,所述控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现根据权利要求1-7中任意一项所述的双模通信模块的性能测试方法。
9.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令使得机器执行根据权利要求1-7中任意一项所述的双模通信模块的性能测试方法。
10.一种双模通信模块的性能测试系统,其特征在于,所述双模通信模块的性能测试系统包括:
测试屏蔽箱,用于屏蔽箱外无线信号及抑制箱内壁反射波;
权利要求8所述的控制装置;以及
测试仪器组,用于根据所述控制装置的控制,读或写所述双模通信模块所需的测试数据。
11.根据权利要求10所述的双模通信模块的性能测试系统,其特征在于,所述测试屏蔽箱包括:
测试工装,用于连接待测试的双模通信模块;
主控单元,用于配置所述双模通信模块的测试参数,还用于透传所述双模通信模块的上行测试数据至所述控制装置;
耦合板与天线,用于所述双模通信模块和所述测试仪器组之间的信号收发。
12.根据权利要求11所述的双模通信模块的性能测试系统,其特征在于,所述主控单元与所述控制装置之间设置有第一数据缓冲区。
13.根据权利要求10所述的双模通信模块的性能测试系统,其特征在于,所述测试仪器组包括:
程控衰减器,用于设置所述双模通信模块与所述测试仪器组之间通信链路上的信号衰减值;
侦听台,配置有侦听台接口,用于侦听所述双模通信模块与所述测试仪器组之间通信链路上的测试数据;
信号源,配置有信号源接口,用于输出所述双模通信模块的接收性能所需的测试数据或输出设置所述信号源的测试参数;
频谱仪,配置有频谱仪接口,用于输入所述双模通信模块的发射性能所需的测试数据或输出设置所述频谱仪的测试参数。
14.根据权利要求13所述的双模通信模块的性能测试系统,其特征在于,所述测试仪器组还包括功分器和合路器,
所述侦听台、所述信号源、所述频谱仪通过所述功分器和合路器与所述程控衰减器进行连接,
所述功分器和合路器用于对测试数据对应的射频信号进行分路或合路处理。
15.根据权利要求13所述的双模通信模块的性能测试系统,其特征在于,所述侦听台与所述控制装置之间设置有第二数据缓冲区。
16.根据权利要求10所述的双模通信模块的性能测试系统,其特征在于,所述双模通信模块的性能测试系统还包括交换机,
所述测试屏蔽箱和所述测试仪器组通过所述交换机与所述控制装置进行通信,
所述交换机还用于扩展LAN口。
17.根据权利要求10所述的双模通信模块的性能测试系统,其特征在于,所述控制装置包括:
指令分析模块,用于解析测试脚本文件,以得到有序指令集中各指令及其指令参数组;
指令执行模块,用于根据所述指令分析模块有序输入的当前指令及其指令参数组执行对所述双模通信模块的性能测试;
输出测试结果模块,用于将示出测试结果的显示数据输出到指定位置。
18.根据权利要求17所述的双模通信模块的性能测试系统,其特征在于,所述指令执行模块包括指令处理单元、指令执行函数单元和外设通信接口单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425400.8A CN115833964A (zh) | 2022-11-14 | 2022-11-14 | 双模通信模块的性能测试方法和性能测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211425400.8A CN115833964A (zh) | 2022-11-14 | 2022-11-14 | 双模通信模块的性能测试方法和性能测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115833964A true CN115833964A (zh) | 2023-03-21 |
Family
ID=85528099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211425400.8A Pending CN115833964A (zh) | 2022-11-14 | 2022-11-14 | 双模通信模块的性能测试方法和性能测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115833964A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116744611A (zh) * | 2023-08-15 | 2023-09-12 | 江苏华鹏智能仪表科技股份有限公司 | 一种双模通信模块自动检测装置 |
-
2022
- 2022-11-14 CN CN202211425400.8A patent/CN115833964A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116744611A (zh) * | 2023-08-15 | 2023-09-12 | 江苏华鹏智能仪表科技股份有限公司 | 一种双模通信模块自动检测装置 |
CN116744611B (zh) * | 2023-08-15 | 2023-10-13 | 江苏华鹏智能仪表科技股份有限公司 | 一种双模通信模块自动检测装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459794A (zh) | 通信网络测试方法、装置、计算机设备和存储介质 | |
CN102722440A (zh) | 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统 | |
CN103530209B (zh) | 一种密码键盘自动化测试方法 | |
CN111176984A (zh) | 一种面向信号的自动测试实现方法 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
CN113992514B (zh) | 一种零代码快速实现数采仪协议的方法及数采仪终端 | |
CN112685291A (zh) | 系统联合测试方法及相关装置 | |
CN115833964A (zh) | 双模通信模块的性能测试方法和性能测试系统 | |
CN112445692B (zh) | 一种用例测试方法及终端 | |
CN106713011A (zh) | 一种获取测试数据的方法与系统 | |
CN114328223A (zh) | 一种信息测试方法、装置、设备及存储介质 | |
CN112306857A (zh) | 用于测试应用的方法和装置 | |
CN108009086B (zh) | 基于用例分解和功能学习的系统自动化测试方法 | |
CN111176995A (zh) | 一种基于大数据测试用例的测试方法和测试系统 | |
US6351455B1 (en) | System test metacontroller | |
CN113434405A (zh) | 测试文件的确定方法及装置、存储介质及电子装置 | |
CN114845328B (zh) | 一种多态性nr射频测试系统、测试例生成方法及测试方法 | |
CN112929101B (zh) | 一种应用于发射机的自动测试系统及方法 | |
CN111258838B (zh) | 验证组件生成方法、装置、存储介质及验证平台 | |
CN112099453B (zh) | 一种核电厂安全级仪控系统的功能验证系统 | |
CN111541589B (zh) | 对智能终端的扩展模块接口进行测试的方法、装置和设备 | |
CN103678054B (zh) | 用于BACnet设备的测试方法及装置 | |
CN114647568A (zh) | 自动化测试方法、装置、电子设备及可读存储介质 | |
CN118261143B (zh) | Unity环境下的Json数据解析方法、装置、设备及介质 | |
CN115409194B (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 |