实现一种无线通信设备自动化测试平台的设计论文_郑志优

郑志优

广州开发区嵌入式职业培训学校

摘要:在近几年发展进程中,自动化测试技术得到了广泛的应用。在应用过程中,自动化测试技术与其他计算机技术不断交互,获得了更加广阔的应用空间。而无线通信设备是自动化测试技术应用的主要对象。本文以无线通信设备自动化测试平台为入手点,阐述了无线通信设备自动化测试平台发展背景。并以阿里内部产生的一种无线通信设备自动化测试平台为例,对无线通信设备自动化测试平台的设计与实现进行了简单的分析。

关键词:无线通信设备;自动化测试平台;Mock机制

前言

在二十一世纪,自动测试技术逐步在仪器领域产生了较大的优势,也产生了多种类型的测试软件。在自动化测试软件不断涌现的背景下,自动化测试技术逐步取代传统的测试仪器成为无线系统测试的主流。而随着接口自动化测试平台的开源,无线通信设备自动化测试已成为可能,无线通信设备自动化测试平台可以将信息系统、测试系统无缝隙衔接。随后经Internet网,自动执行测试脚本并评估运行状态,实现多自动化测试工具平台集成。基于此,对自动化测试技术在无线通信设备中应用实现进行适当分析非常必要。

一、无线通信设备自动化测试平台概述

无线通信设备主要是利用无线电波传播信息的设备。其包括天线、馈线、发信机、收信机、终端设备几个模块,是现阶段我国对外远距离通信的主要用手段。而无线通信设备自动化测试平台主要是在自动化仪器开发的基础上,依托Internet,利用网络技术、数据库技术,构建的一套无线通信设备自动化测试平台。通过在无线通信设备自动化测试平台中进行数据采集、处理,可以实现无线通信设备的网络化、远程化、高速化管理。无线通信设备自动化测试系统主要是依据现阶段我国国家通信行业标准YD/T1215-2006、国家通信行业标准YD/T 1214-2006对无线通信设备运行的要求,基于自动化仪器技术思想,以LabView软件为工具开发的一套用于无线通信设备自动化测试的系统。其主要包括采集、分析、展现和配置四个模块[1]。

二、无线通信设备自动化测试平台设计方法

1、设计背景

以阿里巴巴为例,由于其主要以电商为核心,对交易系统通信稳定性具有较高的要求。在整体交易系统整体发展过程中经过了多种类型业务上下线,维护人员也在不断流转,导致现有维护者无法清晰了解无线通信业务代码顺序。再加上常规自动化测试工具需要进行脚本编写及测试数据准备,覆盖率较低,与需求重构后回归验证要求不相符,这就导致全面升级阶段回归测试难度较大。基于此,在阿里巴巴内部设置了一个依赖真实流量回归的无线通信设备自动化测试平台。其可以通过创新的自动Mock(在自动化测试阶段部分不易构造、获取的对象,可采用虚拟对象创建的方式进行测试)机制,复制线上真实流量,进行自动化回归测试。同时通过写接口验证、读接口回归验证,发现无线通信设备运行阶段出现的重构bug(漏洞),保证交易通信项目稳定运行。

2、系统框架

以LabView软件为开发工具的无线通信设备自动回归测试平台主要是将一部分线上真实流量进行复制。随后在新的自动Mock机制约束下,借助java的instrument(代码分析及内存自动化测试工具),实现aop(面向切面编程)[2]。

如图1所示,无线通信设备自动化测试平台架构内部包括接入层、数据储存单元、内部稳定性测试平台、流量回放、流量录制单元、配置分发单元、控制台、配置管理单元、用例中心等几个模块。其中接入层主要负责将机房与阿里云生产环境连接;数据储存单元主要复杂将测试用例映射组成策略进行分类储存,为后续数据信息管理提供依据;内部稳定性测试平台主要负责利用多个用例,对数据分类后操作稳定性进行测试。并执行添加、编辑、删除工作;流量回放及录制单元主要是通过将前期流量处理过程录制并在后续处理模型重新观看分析;配置分发单元及管理单元主要针对无线通信设备中代码服务器变更要求,进行用例分发管理;控制台及用例中心可以将测试执行实例化后,生成测试报告。其可以依托阿里云生产环境,完成灵活、可扩展性无线通信设备运行流量自动化测试。

3、硬件要求及测试组网

无线通信设备自动化测试平台主要以Internet/Intranet技术为依据,采用主流MySQL数据库规范,进行设计。

系统测试组网主要通过"云"环境。以云的方式,面对多个监测对象,形成云端自动化测试平台。全自动化处测试对象主要包括仪表数据、控制通信设备等。在实际设计过程中,主要用测试工具为综测仪、频谱仪、信号源,经物理层交换机或测试集成箱,对无线通信基站、无线通信终端运行数据进行搜集。随后根据自动化测试平台自动化脚本,执行任务管理、日志管理、统计管理、系统交互等作业。同时为保证测试平台组建网络稳定性,需要在测试局域网模块设置内网防火墙、外网防火墙。其中内网防火墙主要针对信息内网,与生产环境中测试客户机、交换机、被测试通信设备、测试仪表直接相连;而外网防火墙主要针对信息外网,需要利用抽检及新技术测试的方式。经多个中间件,对运行现尝外部研发模块进行全过程维护[3]。

4、软件框架

无线通信设备自动化测试平台软件操作系统主要利用LabView平台。依据Mock协议,保证无线通信设备自动化测试平台与上、下各个模块均完全兼容。同时选用通用开发工具Java最新版本,进行平台开发。

三、无线通信设备自动化测试平台实现方案

1、实现对外系统请求的Mock

为实现无线通信设备自动化测试平台对外系统请求的Mock,可利用不同类型中间件,对外发起rpc(远程过程调用)请求。或者通过无线通信设备自动化测试平台配置的中间件,隔离无线通信各模块。随后无线通信设备自动化测试平台客户端会针对相关中间件,在脱离人工配置rpc接口的情况下进行aop(面向切面编程)处理,最终实现对外系统请求的自动Mock。

2、程序执行流程实现

一方面,在测试某一无线通信设备时,需要依据委托创建→用例关联→任务分配及接收→测试配置及执行→测试结果生成顺序执行。其中在委托创建模块,应保证一款无线通信设备与一个特定委托一一对应;用例关联主要是明确测试内容;任务分配及接收需要在测试内容确定后,确定用例分配对象及时间要求;而测试配置及执行主要是在相关模块对象确定之后,与物理交换机、测试仪及客户端配合,选择恰当的测试用例参数。

另一方面,针对无线通信设备自动化测试平台运行时内存数据状态、回放时内存数据状态不一致情况,可以程序执行流程实现为入手点。综合考虑内存开关、本机缓存、session查询等因素,在平台内部设置自定义Mock机制。通过将导致回放、测试阶段不一致代码片段创建成虚拟对象,可以保证线上回放执行程序与原有测试程序一致。如可以将缓存的get方法(从服务器获得数据)进行虚拟对象构建。此时,若线上缓存阶段存在数据,则回放阶段可以直接用上述缓存数据进行虚拟对象创建。同时考虑到服务器ip、随机数据、时间对回放、录制效果影响,可以采用自动化测试平台支持指定字段排除对比(排除法),或者关键业务数据对比(指定对比法),将不需要的字段进行逐一排除。

指定对比法:将关心的业务数据进对比。

2、实现自动化测试验证

对于web(全球广域网)应用而言,请求最终可以HTTP请求(从客户端到服务器端请求消息)发送的方式,实现自动化测试验证。假定阿里巴巴生产环境中无线通信设备应用可以正常响应用户的请求,且可以通过aop(面向切面编程)的方式,将返回结果、请求入参及执行快照数据(如访问数据库及访问远程服务器的入参、返回结果等)逐一保存。随后将储存的快照数据,发送给测试机器,即代码发生变化的机器[4]。在测试机器收到快照数据瞬间,即为一次完整的回放过程结束时刻。同时可将调用后台请求数据、返回结果、落库数据、线上真实请求发生时的数据等信息,进行全量对比。通过全量对比中对相关信息间差异进行分析,可以得出被测试无线通信设备中出现的问题。在整个自动化测试过程中,若发现其中存在差异,则可以rpc(远程过程调用)请求发送的方式,记录中间快照数据、rpc入参、rpc返回值进行回放。

此外,由于在无线通信设备自动化测试平台中单元测试常用手段为Mock,其可以在一定程度上环节通信调不通,或者接口未完成情况。基于此,为避免测试阶段数据库被污染,可以在线上执行真实请求时,保存书写数据库请求、对外服务的访问记录。随后在回放时,若出现执行数据库、或者调用后台的服务,可直接进行Mock或者在线下环境进行回访,避免造数据对自动化测试效率的影响。

四、总结

综上所述,在无线通信设备应用范围逐步拓展的背景下,传统测试平台已无法胜任自动化测试工作。因此,为确保无线通信设备接入控制器产品性能,相关设计人员可在内部开发一个无线自动化测试平台,以便从根本上解决无线通信平台手动测试效果不佳的问题。

参考文献:

[1]王智慧, 滕玲, 汪洋,等. 无线通信设备自动化测试平台设计与实现[J]. 电力信息与通信技术, 2018, 16(11):35-39.

[2]乔艳茹, 陈晓轩, 欧阳敏. 基于Robot框架的自动化测试平台设计与实现[J]. 铁路计算机应用, 2017, 26(10):8-11.

[3]史昌明, 张阳, 李硕,等. 电能质量监测装置自动化检测平台的设计与实现[J]. 水电能源科学, 2018(1):183-185.

[4]宋海桥. 测控系统整机自动化测试平台的设计[J]. 测试技术学报, 2017, 31(3):201-205.

论文作者:郑志优

论文发表刊物:《中国西部科技》2019年第22期

论文发表时间:2019/11/27

标签:;  ;  ;  ;  ;  ;  ;  ;  

实现一种无线通信设备自动化测试平台的设计论文_郑志优
下载Doc文档

猜你喜欢