CN103546342B - 一种终端一致性测试方法及用于该方法的api接口通用适配器 - Google Patents
一种终端一致性测试方法及用于该方法的api接口通用适配器 Download PDFInfo
- Publication number
- CN103546342B CN103546342B CN201310492006.0A CN201310492006A CN103546342B CN 103546342 B CN103546342 B CN 103546342B CN 201310492006 A CN201310492006 A CN 201310492006A CN 103546342 B CN103546342 B CN 103546342B
- Authority
- CN
- China
- Prior art keywords
- instrument
- interface
- test
- external function
- ttcn
- 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
Landscapes
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种终端一致性测试方法及用于该方法的API接口通用适配器,该适配器包括第一单元和第二单元;第一单元的接口为java格式,用于与测试和测试控制符号3TTCN‑3测试集设备进行通信;第二单元的接口为C或C++语言格式,用于与所述仪表及外部函数库进行通信;所述第一单元以Java本地调用JNI调用第二单元;通过该适配器进行终端一致性测试,能够将TTCN‑3抽象测试集的端口数据格式与仪表支持的数据格式相互转化,从而屏蔽底层仪表的差异,使得测试系统可以在不同的仪表平台上正常运行;能够支持具有不同操作系统的主机,从而屏蔽主机的差异,使得测试系统可以在不同操作系统的主机上正常运行;其能够支持各种外部函数库;进而可使得终端测试系统具有优良的可移植性和可扩展性。
Description
技术领域
本发明涉及移动终端测试领域,特别涉及一种终端一致性测试方法及用于该方法的API接口通用适配器。
背景技术
在移动通信产业发展进程中,终端一致性测试是保障终端质量的重要环节,是推动产品成熟与完善的关键手段。终端一致性测试,是利用一组测试序列,在一定的网络环境下,对被测终端(IUT)进行黑盒测试,通过比较IUT的实际输出与预期输出的异同,判定IUT与标准和协议的一致程度,包括射频一致性测试、协议一致性测试、RRM一致性测试、USIM一致性测试和声学一致性测试等。由于测试序列定义的某些异常和特定的测试条件在实际网络中难以触发,或者网络侧某个特性的开发滞后于终端研发的需要,所以一般通过一致性测试系统模拟所需的特性流程来进行测试,目前,一致性测试系统通常采用的技术方案是:使用TTCN技术定义和执行测试序列,采用网络模拟器模拟网络环境。
图1是TTCN-3(Testingand Test Control Notation-3,测试和测试控制符号3)可执行测试集架构,由上至下共分为3个层面,分别为TTCN-3抽象测试集101、适配器102以及第三方库103;其中,TTCN-3抽象测试集101位于最上层,是由ETSI等国际组织统一编写的与平台无关的抽象测试例集合,定义测试例的具体行为,第三方库103位于最下层,主要包括仪表即系统模拟器的通信API接口,以及支持安全算法等的外部函数库。适配器102位于中间层,功能是将TTCN-3抽象测试集的端口数据格式与仪表支持的数据格式相互转化,并通过调用仪表提供的第三方库,从而使得TTCN-3抽象测试集和仪表之间可以正常通信,形成完整的TTCN-3可执行测试集。
上述方案中,终端测试系统中的适配器是直接对第三方库进行调用的,而由于不同的仪表厂商为其仪表提供的通信API接口并不相同,这就造成了适配器无法对于不同的仪表进行适配。当使用不同的仪表时,必须对适配器进行再次的开发,才能够匹配新的仪表。这些无疑增加了适配器的开发难度,造成二次开发等重复劳动,降低了终端测试系统的通用性。
除此之外,由于目前技术方案中,适配器直接调用第三方库,会受第三方库开发语言,支持的操作系统等因素影响。导致适配器可能无法调用开发语言不同的第三方库,或在具有不同操作系统的主机间快捷、方便的移植,这造成了终端测试系统的局限性。
发明内容
本发明的目的在于提供一种终端一致性测试方法及用于该方法的API接口通用适配器,通过在原测试架构上增加API接口通用适配器来实现终端测试系统的通用性。
为达到上述目的,本发明一方面提供了一种API接口通用适配器,其特征在于:包括第一单元和第二单元;
所述第一单元的接口为java格式,用于与测试和测试控制符号3TTCN-3测试集设备进行通信;
所述第二单元的接口为C或C++语言格式,用于与所述仪表及外部函数库进行通信;
所述第一单元以Java本地调用JNI调用第二单元。
可选的,所述第一单元包括仪表控制接口、配置消息接口、协议消息接口和第一外部函数接口;所述第二单元包括系统API接口和第二外部函数接口;
所述仪表控制接口用于接收所述仪表初始化命令或仪表释放命令;
所述配置消息接口用于接收所述仪表配置命令;
所述协议消息接口用于接收所述协议获取命令及上传所述终端协议信息;
所述系统API接口分别与所述仪表控制接口、配置消息接口及协议消息接口相连接,用于:根据所述仪表初始化命令或仪表释放命令对所述仪表进行初始化或释放连接;根据所述仪表配置命令对所述仪表进行配置;控制所述仪表根据所述协议获取命令获取所述终端协议信息;
所述第一外部函数接口用于接收所述外部函数获取命令及上传所述外部函数信息;
所述第二外部函数接口与所述第一外部函数接口相连接,用于根据所述外部函数获取命令调用所述外部函数信息。
可选的,所述系统API接口与所述仪表的API接口相连接;
所述仪表的API接口通过第三方库提供。
可选的,该API接口通用适配器,通过适配器与所述TTCN-3测试集设备进行通信。
本发明另一方面提供一种终端一致性测试方法,包括:
通过第一单元接收测试和测试控制符号3TTCN-3测试集设备下发的控制命令;
根据所述控制命令,以Java本地调用JNI调用第二单元;
所述第二单元根据所述控制命令与仪表及外部函数库进行通信。
可选的,所述控制命令包括仪表初始化命令、仪表释放命令、仪表配置命令、终端协议获取命令及外部函数获取命令;所述测试信息包括终端协议信息和外部函数信息;
所述第二单元根据所述控制命令与仪表进行通信具体包括:
接收测试和测试控制符号3TTCN-3测试集设备下发的仪表初始化命令,根据该仪表初始化命令建立与仪表的连接,并对该仪表进行初始化;
接收所述TTCN-3测试集设备下发的仪表配置命令,根据该仪表配置命令对所述仪表进行配置;
接收所述TTCN-3测试集设备下发的协议获取命令,根据该协议获取命令通过所述仪表获取待测终端的协议信息,并将该协议信息发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的外部函数获取命令,根据该外部函数获取命令调用外部函数,并将该外部函数的计算结果发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的仪表释放命令,并根据该仪表释放命令释放与所述仪表的连接。
本发明提供的上述方案能够达到以下有益效果:
第一,其能够将TTCN-3抽象测试集的端口数据格式与仪表支持的数据格式相互转化,从而屏蔽底层仪表的差异,使得测试系统可以在不同的仪表平台上正常运行。
第二,其能够支持具有不同操作系统的主机,从而屏蔽主机的差异,使得测试系统可以在不同操作系统的主机上正常运行。
第三,其能够支持各种外部函数库。实现上述三方面功能,即可使得终端测试系统具有优良的可移植性(适应各种操作系统和仪表平台)和可扩展性(能够调用各种外部函数库)。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为现有技术中,TTCN-3可执行测试集架构示意图;
图2为本发明TTCN-3可执行测试集架构示意图;
图3为本发明API接口通用适配器的结构示意图;
图4为本发明终端一致性测试方法的流程示意图;
图5为本发明第一单元和第二单元文件格式示意图;
图6为本发明API接口通用适配器内部模块间的交互流程。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
现有的测试系统,是基于C语言的。其首先将TTCN脚本编译为.cpp和.h文件,然后再将这些文件与适配器文件(.cpp)一起编译为可执行文件(.exe文件),此可执行文件调用仪表的API接口(.dll文件)。其适配层结构非常简单,只要完成两项功能即可:
1.将TTCN脚本中的原语转换为仪表识别的数据结构(即将TTCN中的结构体映射到仪表识别的结构体类型);
2.调用仪表的API接口。
本发明中的测试系统与上述不同,是基于java语言的,适配器不再直接调用仪表的API接口,而是调用API接口通用适配器。其将TTCN脚本编译为.jar文件,将适配器编译为.jar文件,而API接口通用适配器上层为.jar文件下层为.dll文件。运行时,TTCN脚本的jar文件调用适配器的jar文件,适配器的jar文件调用API接口通用适配器上层的.jar文件,API接口通用适配器下层的.dll文件调用仪表的API接口(.dll文件)。请注意,相比上述之前的测试系统,本系统的各jar文件相互独立并可单独编译,因此不需要每次修改适配层后将所有文件一起重新编译,也在一定程度上简化了开发过程。
具体的,本发明提供了一种新的TTCN-3可执行测试集架构,如图2所示,在现有技术的架构中,适配器和第三方库之间增加了API接口通用适配器。在图1所示的TTCN-3可执行测试集架构中,适配器是对第三方库直接进行调用的,不经过API接口通用适配器,因此需要根据不同仪表的通信接口进行重复开发。而如图2所示的TTCN-3可执行测试集架构中,通过增加API接口通用适配器,适配器不再直接对第三方库进行调用,而是对API接口通用适配器进行调用,之后API接口通用适配器再对第三方库进行调用。如此,就可以对适配器屏蔽底层的第三方库,保证适配器的通用性。
为实现上述目的,本发明提供了API接口通用适配器的具体结构,如图3所示,为本发明API接口通用适配器的结构示意图,包括:第一单元301和第二单元302;
其中,所述第一单元301的接口为java格式,用于与测试和测试控制符号3TTCN-3测试集设备进行通信;
所述第二单元302的接口为C或C++语言格式,用于与所述仪表及外部函数库进行通信;
所述第一单元301以Java本地调用JNI调用第二单元302。
其中,第一单元301包括仪表控制接口3011、配置消息接口3012、协议消息接口3013和第一外部函数接口3014;
第二单元302包括系统API接口3021和第二外部函数接口3022;
所述仪表控制接口3011用于接收所述仪表初始化命令或仪表释放命令;
所述配置消息接口3012用于接收所述仪表配置命令;
所述协议消息接口3013用于接收所述协议获取命令及上传所述终端协议信息;
所述系统API接口3021分别与所述仪表控制接口3011、配置消息接口3012及协议消息接口3013相连接,用于:根据所述仪表初始化命令或仪表释放命令对所述仪表进行初始化或释放连接;根据所述仪表配置命令对所述仪表进行配置;控制所述仪表根据所述协议获取命令获取所述终端协议信息;
所述第一外部函数接口3014用于接收所述外部函数获取命令及上传所述外部函数信息;
所述第二外部函数接口3022与所述第一外部函数接口3014相连接,用于根据所述外部函数获取命令调用所述外部函数信息。
本实施例可选的,
所述系统API接口3021与所述仪表的API接口相连接;
所述仪表的API接口通过第三方库提供。
另外需要说明的是,如图1所示,该API接口通用适配器,通过适配器与所述TTCN-3测试集设备进行通信。
本发明另外提供了一种终端一致性测试方法,如图4所示,包括以下步骤:
步骤401,通过第一单元接收测试和测试控制符号3TTCN-3测试集设备下发的控制命令;
步骤402,根据所述控制命令,以Java本地调用JNI调用第二单元;
如图5所示,API接口通用适配器的第一单元为java语言编写的jar文件。此jar文件的功能包括协议消息接口、配置消息接口和外部函数接口三部分。由于java语言是一种平台无关的语言,其编写的程序可以在不同的操作系统上运行,因此可以提高API接口通用适配器的通用性。
API接口通用适配器的第二单元为C语言编写的dll文件。此dll文件的功能包括系统API和外部函数接口两部分。所有的第三方库都由此dll进行调用。
步骤403,所述第二单元根据所述控制命令与仪表及外部函数库进行通信。
其中,所述控制命令包括仪表初始化命令、仪表释放命令、仪表配置命令、终端协议获取命令及外部函数获取命令;所述测试信息包括终端协议信息和外部函数信息;
所述第二单元根据所述控制命令与仪表进行通信具体包括:
接收测试和测试控制符号3TTCN-3测试集设备下发的仪表初始化命令,根据该仪表初始化命令建立与仪表的连接,并对该仪表进行初始化;
接收所述TTCN-3测试集设备下发的仪表配置命令,根据该仪表配置命令对所述仪表进行配置;
接收所述TTCN-3测试集设备下发的协议获取命令,根据该协议获取命令通过所述仪表获取待测终端的协议信息,并将该协议信息发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的外部函数获取命令,根据该外部函数获取命令调用外部函数,并将该外部函数的计算结果发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的仪表释放命令,并根据该仪表释放命令释放与所述仪表的连接。
上述测试方法中,API接口通用适配器内部模块间的交互流程如图6所示,先后顺序为:
步骤601,适配器通过仪表控制接口,调用系统API接口,建立与仪表的连接,并对仪表进行初始化操作;
步骤602,适配器通过配置消息接口,调用系统API接口,对仪表进行配置;
步骤603,适配器通过协议消息接口,调用系统API接口,保证上下行协议消息的交互;
步骤604,适配器通过外部函数接口,调用外部函数,例如完整性保护算法和加解密算法等安全算法;
步骤605,适配器通过仪表控制接口,调用系统API接口,释放与仪表的连接,测试结束
本申请能够达到以下技术效果:基于本发明的技术方案,终端测试系统中的适配器通过API接口通用适配器间接对第三方库进行调用,从而屏蔽了不同的仪表厂商为其仪表提供的不同的API接口,使得适配器可以对于不同的仪表进行适配。当使用不同的仪表时,也不需要对适配器进行再次的开发。因此降低了适配器的开发难度,减少了二次开发等重复劳动,增强了终端测试系统的通用性,降低了终端测试系统中适配器的开发难度。
最后应说明的是:虽然以上已经详细说明了本发明及其优点,但是应当理解在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。而且,本发明的范围不仅限于说明书所描述的过程、设备、手段、方法和步骤的具体实施例。本领域内的普通技术人员从本发明的公开内容将容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、手段、方法或者步骤。因此,所附的权利要求旨在在它们的范围内包括这样的过程、设备、手段、方法或者步骤。
本领域一般技术人员在此设计思想之下所做任何不具有创造性的改造,均应视为在本发明的保护范围之内。
Claims (4)
1.一种API接口通用适配器,用于移动终端协议一致性测试中,其特征在于:
包括第一单元和第二单元;
所述第一单元的接口为java格式,用于与测试和测试控制符号3 TTCN-3测试集设备进行通信;
所述第二单元的接口为C或C++语言格式,用于与仪表及外部函数库进行通信;
所述第一单元以Java本地调用JNI调用第二单元;
所述第一单元包括仪表控制接口、配置消息接口、协议消息接口和第一外部函数接口;所述第二单元包括系统API接口和第二外部函数接口;
所述仪表控制接口用于接收所述仪表初始化命令或仪表释放命令;
所述配置消息接口用于接收所述仪表配置命令;
所述协议消息接口用于接收所述协议获取命令及上传所述终端协议信息;
所述系统API接口分别与所述仪表控制接口、配置消息接口及协议消息接口相连接,用于:根据所述仪表初始化命令或仪表释放命令对所述仪表进行初始化或释放连接;根据所述仪表配置命令对所述仪表进行配置;控制所述仪表根据所述协议获取命令获取所述终端协议信息;
所述第一外部函数接口用于接收所述外部函数获取命令及上传所述外部函数信息;
所述第二外部函数接口与所述第一外部函数接口相连接,用于根据所述外部函数获取命令调用所述外部函数信息。
2.如权利要求1所述的API接口通用适配器,其特征在于:
所述系统API接口与所述仪表的API接口相连接;
所述仪表的API接口通过第三方库提供。
3.如权利要求1所述的API接口通用适配器,其特征在于:
该API接口通用适配器,通过适配器与所述TTCN-3测试集设备进行通信。
4.一种终端一致性测试方法,其特征在于,包括:
通过第一单元接收测试和测试控制符号3 TTCN-3测试集设备下发的控制命令;
根据所述控制命令,以Java本地调用JNI调用第二单元;
所述第二单元根据所述控制命令与仪表及外部函数库进行通信;
所述控制命令包括仪表初始化命令、仪表释放命令、仪表配置命令、终端协议获取命令及外部函数获取命令;测试信息包括终端协议信息和外部函数信息;
所述第二单元根据所述控制命令与仪表进行通信具体包括:
接收测试和测试控制符号3 TTCN-3测试集设备下发的仪表初始化命令,根据该仪表初始化命令建立与仪表的连接,并对该仪表进行初始化;
接收所述TTCN-3测试集设备下发的仪表配置命令,根据该仪表配置命令对所述仪表进行配置;
接收所述TTCN-3测试集设备下发的协议获取命令,根据该协议获取命令通过所述仪表获取待测终端的协议信息,并将该协议信息发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的外部函数获取命令,根据该外部函数获取命令调用外部函数,并将该外部函数的计算结果发送到所述TTCN-3测试集设备;
接收所述TTCN-3测试集设备下发的仪表释放命令,并根据该仪表释放命令释放与所述仪表的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310492006.0A CN103546342B (zh) | 2013-10-18 | 2013-10-18 | 一种终端一致性测试方法及用于该方法的api接口通用适配器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310492006.0A CN103546342B (zh) | 2013-10-18 | 2013-10-18 | 一种终端一致性测试方法及用于该方法的api接口通用适配器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546342A CN103546342A (zh) | 2014-01-29 |
CN103546342B true CN103546342B (zh) | 2016-10-05 |
Family
ID=49969417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310492006.0A Active CN103546342B (zh) | 2013-10-18 | 2013-10-18 | 一种终端一致性测试方法及用于该方法的api接口通用适配器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546342B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106130828B (zh) * | 2016-08-30 | 2019-05-03 | 北京泰德东腾通信技术有限公司 | 窄带物联网终端一致性测试方法和系统 |
CN107066265A (zh) * | 2017-03-15 | 2017-08-18 | 杭州华澜微电子股份有限公司 | 不同编程语言的互连方法及系统 |
CN108900369B (zh) * | 2018-05-31 | 2021-08-27 | 武汉虹信技术服务有限责任公司 | 一种基于post请求的接口测试方法 |
CN110275710B (zh) * | 2019-06-10 | 2023-07-14 | 天翼电子商务有限公司 | 一种Java本地接口一致性检查方法及系统、存储介质及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929680A (zh) * | 2012-10-19 | 2013-02-13 | 普华基础软件股份有限公司 | 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统 |
CN103346927A (zh) * | 2013-07-02 | 2013-10-09 | 工业和信息化部电信传输研究所 | 一种终端一致性测试系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
-
2013
- 2013-10-18 CN CN201310492006.0A patent/CN103546342B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929680A (zh) * | 2012-10-19 | 2013-02-13 | 普华基础软件股份有限公司 | 一种将TTCN-3脚本转换为Java源代码的方法,装置和系统 |
CN103346927A (zh) * | 2013-07-02 | 2013-10-09 | 工业和信息化部电信传输研究所 | 一种终端一致性测试系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103546342A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928161B1 (en) | Automated quality assurance testing of browser-based applications | |
CN103546342B (zh) | 一种终端一致性测试方法及用于该方法的api接口通用适配器 | |
CN104268079B (zh) | 一种pos应用程序测试的方法及系统 | |
CN103530226B (zh) | 电子设备外设兼容性测试方法及装置 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
CN105338110A (zh) | 远程调试方法和平台、服务器 | |
CN105120483B (zh) | 智能卡与移动终端兼容性的自动化测试方法及系统 | |
CN105354118B (zh) | 智能终端的自动测试方法、装置及系统 | |
CN106933609A (zh) | Android应用程序安装包的生成方法及装置 | |
CN104202454B (zh) | 一种手机兼容性测试用例自动执行的方法及系统 | |
CN103927256A (zh) | 一种控制多个安卓装置的方法 | |
CN104090751B (zh) | 一种在Android系统上获取root权限的方法 | |
CN104915297B (zh) | 一种android设备的APP耗电量的自动化测试方法 | |
CN104868957B (zh) | 一种移动终端edge射频测试系统及方法 | |
CN105786695A (zh) | 数据测试方法及系统 | |
CN105302709B (zh) | 测试数据生成方法及设备 | |
CN105491140A (zh) | 一种终端的远程测试方法和系统 | |
CN108255837A (zh) | 一种sql解析器及方法 | |
CN104216832A (zh) | 一种pos应用程序测试的方法及系统 | |
CN105893235A (zh) | 一种仿真测试方法、装置及服务器 | |
CN105988928B (zh) | 终端应用的测试方法及移动终端 | |
CN103716099A (zh) | 蓝牙互通性规范自动测试系统 | |
CN109144850A (zh) | 移动终端的交互通信的测试方法及系统 | |
CN104917633A (zh) | 模拟fota升级的方法和装置 | |
CN107509215A (zh) | 一种无线认证自动化测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220106 Address after: 100191 No. 40, Haidian District, Beijing, Xueyuan Road Patentee after: CHINA ACADEMY OF INFORMATION AND COMMUNICATIONS Address before: 100045 Beijing city Xicheng District Yuetan Nan Street 11 Patentee before: The Research Institute of Telecommunications Transmission MIIT |