APP下载

Wi-Fi吞吐量自动测试系统设计与实现

2019-09-02汪恬孟宪军

自动化与信息工程 2019年4期
关键词:自动测试测试用例数据流

汪恬 孟宪军

Wi-Fi吞吐量自动测试系统设计与实现

汪恬 孟宪军

(上海诺基亚贝尔软件有限公司)

针对Wi-Fi吞吐量手动测试效率低的问题,提出一种Wi-Fi吞吐量自动测试系统。该系统根据指定的吞吐量测试类型构建测试环境,配置环境参数,并以图表形式呈现测试结果;支持单组、产品对比和版本对比吞吐量测试。测试结果表明:该系统能够提高测试效率、节约人力成本和测试时间;对比测试的结果为研发人员定位问题提供了数据参考;较低的复制成本可广泛应用于设备供应商Wi-Fi产品测试中。

自动化测试;Wi-Fi吞吐量;自动测试系统

0 引言

Wi-Fi已经成为人们生活的必备品,几乎每个家庭都配备了无线路由器。无线网络对环境以及与接入点之间的距离非常敏感。无论是家庭环境还是拥有更多无线局域网接入点的商业环境,都须保证终端用户在不同距离下维持足够的上行和下行速率[1]。吞吐量是体现网络通信性能的一种重要指标[2],也是衡量Wi-Fi产品好坏的一个重要标志。随着Wi-Fi需求的日益增长[3],软件开发复杂度也不断增加,开发过程中引入的缺陷也提高了很多倍[4]。因此,测试人员需要不断重复地对Wi-Fi吞吐量进行测试,以期为用户提供更高质量的Wi-Fi产品和最佳体验感。

文献[5]统计了开发项目中软件测试的投入成本,测试费用约占整个项目费用的30%~50%。在实际测试过程中,自动化程度较低,多为手动测试。测试人员面临搭建测试环境、测试过程繁杂以及测试效率低等问题[6]。采用自动化测试是降低软件测试难度的有效手段[7]。

目前,Wi-Fi吞吐量自动测试系统主要是仪表设备商开发集成在仪表设备中,如Spirent,octoScope等。仪表设备的Wi-Fi吞吐量测试基于固定测试环境完成,昂贵的价格、有限的功能扩展模块等问题无法满足设备供应商多平台和可变测试场景的需求。为此,本文提出一种Wi-Fi吞吐量自动测试系统,可实现空间流、频段、带宽、信道、TCP/UDP、Uplink和Downlink多种组合的单组吞吐量测试、不同产品吞吐量对比测试和相同产品不同版本吞吐量对比测试。

1 系统硬件组成

图1 Wi-Fi吞吐量自动测试系统硬件组成

控制系统PC作为软件实现的控制台,有线连接无线路由器LAN口,远程控制无线Station控制系统 PC和衰减器控制系统,驱动Wi-Fi吞吐量测试的流程。控制系统PC控制iperf生成数据流,与无线Station控制系统 PC的iperf数据流生成模块相互配合完成Uplink或Downlink吞吐量测试。

2 系统软件组成

Wi-Fi吞吐量自动测试系统软件组成如图2所示,由系统控制模块、配置管理模块、衰减器模块、无线Station控制模块、数据流生成模块和数据模块组成。

1)系统控制模块根据测试人员输入的吞吐量测试类型,自动调配相关模块完成吞吐量测试。

2)配置管理模块完成无线路由器信道、带宽、工作模式等参数配置。

图2 吞吐量自动测试系统软件组成框图

3)衰减器模块设置衰减器通道值,模拟无线Station与待测无线路由器之间的不同距离。

4)无线Station控制模块完成Station自动连接待测无线路由器。

5)数据流生成模块用iperf设定包的大小和速率,接收和发送TCP或UDP数据流量。

6)数据模块对吞吐量结果分析,获取吞吐量值并描绘单组距离与吞吐量的曲线图、不同产品的距离与吞吐量的对比曲线图和相同产品不同版本的距离与吞吐量的对比曲线图。

3 系统软件实现

3.1 配置管理模块

根据Wi-Fi吞吐量测试需求对无线路由器频段、带宽、信道和无线模式等参数进行设置。无线路由器提供页面管理界面供用户配置。配置管理模块的软件基于Python selenium库配置无线参数,针对不同产品型号无线路由器配置页面的差异性,预留配置接口提高了系统的通用性。无线路由器的配置代码实现如下:

//登录无线路由器

Login_authentication ()

//进入无线参数配置页面

browser. get(wificonfig_url)

//设置带宽

Select(browser.find_element_by_name("wl_ NChannelwidth")).select_by_visible_text(wificonfig ['Bandwidth'])

//设置信道

Select(browser.find_element_by_name("wl_ channel")).select_by_visible_text(wificonfig['Channel'])

3.2 衰减器模块

衰减器提供管理页面和命令行2种方式配置衰减值,开放远程登陆权限,如SSH,telnet等。衰减器控制模块代码实现如下:

//衰减器设置命令

set_cmd='ATT 1 %s 2 %s 3 %s 4 %s 5 %s 6 %s 7 %s 8 %s 9 %s 10 %s' %(att_value1, att_value2, att_value3, att_value4, att_value5, att_value6, att_value7, att_value8, att_value9, att_value10)

//telnet登录衰减器,返回句柄

att_holder=Login_attenuator(att_ip,att_username, att_password)

//输入衰减器设置命令

att_holder.write(set_cmd.encode('ascii'))

3.3 无线Station控制模块

无线Station自动连接到待测无线路由器是根据加密模式、SSID、密钥等参数创建无线配置文件实现,本文定义为SSID_Profile.xml。自动连接无线路由器的代码实现如下:

//远程登录无线Station控制主机

sta_holder=Login_STA(sta_ip,sta_username, sta_ password)

//连接无线路由器之前删除原有的profile

delete_profile_cmd='netsh wlan delete profile * interface="%s"' % (wireless_card_name)

//添加新创建的无线配置文件SSID_Profile.xml

sta_holder. write(delete_profile_cmd.encode('ascii'))

add_profile_cmd='netsh wlan add profile filename=os.path.join(%s,"SSID_Profile.xml") interface="%s"' % (profile_dir, wireless_card_name)

//循环获取无线网卡的连接状态

output_profile_status=sta_holder.write(add_profile_cmd.encode('ascii'))

//循环获取无线网卡IP

get_wireless_cmd = “netsh wlan show interfaces”

output_wireless_status=Cycle_check_wireless_ status(get_wireless_cmd)

get_ip_cmd='netsh interface ip show addresses "%s"' % (wireless_card_name)

out_ip_result =Cycle_check_ip(get_ip_cmd)

3.4 数据流生成模块

Uplink和Downlink数据流向示意图如图3所示。Uplink吞吐量测试的服务器端是无线路由器,客户端是无线Station。Downlink吞吐量测试的服务器端是无线Station,客户端是无线路由器。

//服务器端iperf命令

iperf_server_command=' iperf.exe -i 1 -w 4M - p 5005'

//客户端iperf命令

iperf_client_commad=' iperf.exe -i 1 -w 4M -t 30 - P 2 -p 5005 -c '

//线程执行服务器端iperf命令和客户端iperf命令

Functions.start_iperf_thread(Console.winExeCmd( Iperf_server_command),Sta.winStartIperfThread(Iperf_ client_commad))

图3 Uplink和Downlink数据流向示意图

表1 Wi-Fi吞吐量测试类型

续表

4 系统测试

4.1 系统工作流程

Wi-Fi吞吐量自动测试系统工作流程如图4所示。根据测试人员输入的吞吐量测试类型执行测试用例、构建测试环境和生成测试结果。测试用例包含初始化测试结果、初始化衰减器、调节衰减器通道值、生成数据流、记录吞吐量和衰减值。

单组Wi-Fi吞吐量测试在所有测试用例执行结束后生成单组距离与吞吐量的曲线图;版本对比Wi-Fi吞吐量测试在执行测试用例前依次升级版本,所有版本的测试用例执行结束后,生成不同版本距离与吞吐量的对比曲线图;产品对比Wi-Fi吞吐量测试在执行测试用例前,依次切换到待测无线路由器,所有产品的测试用例执行结束后,生成不同产品距离与吞吐量的对比曲线图。

图4 吞吐量自动测试流程示意图

4.2 测试实例

用Wi-Fi吞吐量自动测试系统进行A无线路由器与B无线路由器的吞吐量对比测试,测试信息如表2所示。

表2 测试实例信息表

分别对手动测试、仪表测试和Wi-Fi自动测试系统进行吞吐量对比测试,对比测试结果如表3、表4所示。由表3可知,Wi-Fi自动测试系统相较于手动测试减少了人力支持,相较于仪表测试扩展了产品对比测试和版本对比测试功能。

由表4可知,Wi-Fi自动测试系统相较于手动测试减少了测试时间,提高测试效率。

表3测试方法对比

表4执行时间对比

Wi-Fi自动测试系统进行A无线路由器和B无线路由器的吞吐量对比测试结果如图5、图6所示。图5显示2种产品2.4 G TCP UL和DL的吞吐量对比图,图6显示2种产品5 G TCP UL和DL的吞吐量对比图。图5中A无线路由器的吞吐量从51 dB开始明显低于B无线路由器,测试数据提供给研发人员定位,发现A无线路由器确实存在问题。

5 结语

本文从硬件组成、软件组成和软件实现3方面描述了Wi-Fi自动测试系统的设计与实现。测试结果表明:该系统可节省测试时间和人力成本;对比测试的功能帮助快速地定位产品问题。系统操作简单、可复制性强,可应用于设备供应商Wi-Fi产品测试。

图5 2.4 G TCP UL和DL吞吐量对比测试结果

图6 5 G TCP UL和DL吞吐量对比测试结果

[1] 邱燕东.Wi-Fi终端设备性能测试[J].电信网技术,2014(7):61-66.

[2] 谢希仁.计算机网络(第五版) [M].北京:电子工业出版社,2011:310-312.

[3] 易观国际,Wi-Fi联盟.中国Wi-Fi市场白皮书:机遇、动力和挑战[EB/OL]. [2006-08-04]. https://max.book118.com/html/ 2017/0731/125450963.shtm.

[4] Amland S. Risk-based testing: Risk analysis fundamentals and metrics for software testing including a financial application case study[J]. Journal of Systems and Software, 2000, 53(3): 287-295.

[5] IFPUG. Function Point Counting Practices Manual (Release 4.1) [S]. Mequon, Wisconsin: International Function Points Users Group, 1999.

[6] 曲鸣飞,张文涛.基于无线局域网的通信电源监控系统设计[J].电源技术,2016,40(1):213-214.

[7] 朱芳,李曦,赵振西.一种多平台自动化测试工具的设计和实现[J].计算机工程,2004,30(24):186-188.

Design and Implementation of Wi-Fi Throughput Automatic Testing System

Wang TianMeng Xianjun

(Shanghai Nokia Bell Software Co., Ltd.)

For some problems like low test efficiency in Wi-Fi Throughput testing, provide a Wi-Fi throughput automatic testing system that can build test environment and configure environment parameters according to throughput test type provided by tester, use a chart to show throughput test result; the system supports single throughput testing, product comparison and build comparison throughput testing. Test results show that the system can improve test efficiency, reduce human effort and test time; reflect product issue by comparison test result and provide reference data for software developer to locate issue; lower setup cost make it possible to be widely used in equipment supplier’s Wi-Fi product testing.

Automation Testing; Wi-Fi Throughput; Automatic Testing System

汪恬,女,1990年生,硕士,高级工程师,主要研究方向:信息与通信工程,自动控制。E-mail: tian.2.wang@nokia-sbell.com

孟宪军,男,1982年生,本科,主任工程师,主要研究方向:信息与通信工程,自动控制。

猜你喜欢

自动测试测试用例数据流
数据流计算研究进展与概述
测试用例自动生成技术综述
回归测试中测试用例优化技术研究与探索
汽车维修数据流基础(上)
基于SmartUnit的安全通信系统单元测试用例自动生成
汽车维修数据流基础(下)
关于某型雷达自动测试系统的几点认识和建议
DCOM在混合总线自动测试系统的应用
AADL端对端数据流一致性验证方法
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计