新闻中心

EEPW首页>测试测量>设计应用> 一种WLAN自动化测试平台的设计及实现

一种WLAN自动化测试平台的设计及实现

作者: 时间:2012-04-23 来源:网络 收藏

2.1 总体框架
控制台为的核心部分,主要负责终端设备的远程控制、测试任务的配置以及分发、测试结果的收集与显示等工作。控制台通过有线网络与AP终端群、网卡终端群进行控制流的交互,为了有效隔离无线通信链路与有线链路的数据流,控制台可采用双网卡模式或者VLAN技术进行子网的划分,确保网卡终端群与AP终端群的有线链路隔离。
当测试对象为网卡时,AP终端群作为测试支持设备工作,此时采用固件升级为DD-WRT的AP设备,接收来自控制台的配置命令来组建不同类型的网络,以配合网卡终端群完成如加网、漫游、速率等功能的测试。
作为待测试对象时,网卡终端群通过接收来自控制台的命令执行相应的测试脚本,完成BSS以及IBSS网络功能的检测。作为支持设备时,网卡终端群则充当验证AP设备功能的角色。
Linux认证服务器采用OpenSSL技术提供应用层的认证,为网卡设备加入lli企业级模式提供认证服务。
Packets服务器主要有两个作用:第一,作为基本的抓包工具,对测试过程中空中特定的包进行捕获和解析,用以配合功能测试中对测试结果的分析。第二,该服务器充当灰盒级测试功能的主体,通过对底层驱动的修改以及对包的捕获、过滤、修改、转发等完成各种极限或特定场景的模拟测试。
在实际过程中,网卡设备工作的环境可以各不相同,如部分终端为Linux环境,部分终端为Windows环境,通过控制台进行分发不同的测试脚本即可屏蔽测试设备终端的环境差异。
2.2 控制流程
根据总体框架,可以将软件框架分为四个模块;测试用例管理模块、平台通信管理模块、测试过程管理模块、测试结果管理模块,如图3所示。

本文引用地址://m.amcfsurvey.com/article/194002.htm

c.jpg


测试用例管理模块负责测试用例的抽取、脚本参数的配置等功能。当配置完成后,通过通信管理模块将测试脚本以及参数分发给中的各个终端设备,接下来,由测试过程管理模块负责完成整个测试执行工作,同时记录测试执行的结果以及日志等信息,最后由测试结果管理模块对测试结果进行提取与分析,形成最终的测试报告。
在各个功能模块中,平台通信管理模块是基础,为其他模块提供了控制通路。测试过程管理模块对整个测试过程进行凋控,实现测试过程的,保证过程的顺利完成。

3测试工具的实际应用
本系统控制端运行在Linux操作系统下,采用Glade+Gtk技术完成主控界面的开发。通过主控端分别Telnet到AP端和STA端,并采用Expe ct技术分别完成与AP端和STA端的交互,主控端作为桥梁,进而可以完成AP端与STA端的交互,保证了时间同步性。测试执行完成后,可以在主控端收集、查看测试日志,并生成测试报告。
3.1测试平台的具体实现
3.1.1 远程控制
(1)AP控制。当网卡作为待测试设备时,需要借助于第三方的AP设备来完成基本功能的测试,而目前市面上的AP设备大都是采用Web界面进行配置,即使提供了Telnet等远程控制服务,由于厂家处于商业层面的考虑,使用者也很难获取其内部的配置接口。
在实现的过程中,采用开源的DD-WRT固件来升级测试平台内的AP设备,通过DD-WRT的公共接口命令来实现对AP设备的配置。
(2)网卡控制。当AP作为待测试设备时,需要借助于第三方的网卡设备来完成基本的功能测试。对于工作在Linux平台的网卡,由于源代码为开源,实现配置与控制比较容易;对于工作在Windows平台的网卡,可以采用Native Wifi API构建控制台程序,结合XML形式的无线配置文件Wireless Profile进行综合的控制。
(3)认证服务器控制。对于lli证书模式的测试,必须采用认证服务器。认证服务器有两种实现方式,一种是采用Windows Server系列所提供的服务构建,另一种是采用Linux平台配置OpenSSL。前者的操作较为复杂,不便于远程控制,因此本系统拟采用后者的方式构建认证服务器。
3.1.2 时间同步
测试过程中,需要对平台内的不同终端进行配置,如执行联网的测试时,首先要配置AP组建相应的网络,确保成功后再配置网卡进行联网操作。因此在测试过程中,如何界定事件结束的时间是一个关键的问题,需要一种交互式的控制方式以反馈执行的状态或结果。
Shell命令可以实现简单的控制流功能,但无法完成需要交互的场合,而Expect可以实现自动与交互式任务进行通信,而无需人为干预,因此在实现时将采用两者相结合的方式来完成不同终端以及同一终端不同测试项之间的同步控制。
3.1.3 平台无关性
测试平台要同时考虑待测设备工作在Windows以及Linux两种平台环境下的测试,由于两种平台环境本身存在差异,而且即使相同平台环境下也存在不同版本,使得兼容以上所有平台环境存在一定的难度。
现在将AP端和STA端的测试脚本及控制操作都放在控制端,做到与待测设备隔离,使控制台完成所有与测试相关的控制、配置任务,而待测终端只进行控制命令的接收和执行,这样就保证了测试平台不依赖于具体的待测设备终端系统。
3.1.4 用例脚本化
一方面,平台无关性要求将与平台系统环境相关的测试命令进行相应的归类和抽取,另一方面,测试过程中测试终端之间的控制同步对命令的批量处理也有一定的要求。此外,为了提高用例的复用度,将测试用例脚本化是一个必然的要求。
3.1.5 包分发与捕获
一方面,对于测试过程中特定用例的帧交互过程进行检查,需要对空中包进行捕获与过滤;另一方面,对于灰盒级的测试,需要模拟各种场景,势必要借助于空中包分发装置来完成。



评论


相关推荐

技术专区

关闭