导语
移动互联网时代,网络形态呈现三大特点:
(1)多样的接入网络:2G/3G/4G/Wi-Fi,不同的协议,不同的制式,不同的速率。
(2)复杂的现实场景:空旷的大街,拥挤的体育场,飞驰的汽车,地下穿梭的地铁。
(3)动态的随机变化:强网、弱网、无网,下一刻的网络不确定会怎样。
爱奇艺测试团队结合视频播放异常场景的网络模拟需求,在开源方案ATC(Augmented Traffic Control)的基础上,定制开发动态配置能力,优化了API接口,实现了QTC工具(QIYITraffic Control),可模拟网络的动静态复杂变化;同时,实现了一种低损耗的自动化网络抓包方案,支持高精度性能测试场景的网络抓包和数据分析,基本不影响网络自身传输质量。
以下文章与大家一起交流、探讨。
背景
在功能测试方面,异常网络环境下保证产品功能正确性和保护用户体验,是互联网产品交付的重要指标,需要高可用的网络控制工具在实验室环境模拟各种现实异常网络场景。目前市场上的工具大概分为两类:一是硬件控制,如网络损伤仪;二是软件控制,商业软件如Fiddler与Charles,开源软件如ATC与clumsy等。硬件方案可提供高精度的动态网络控制但成本较大,同时二次定制开发难度偏高;软件方案成本低且精度略差,同时难以模拟动态网络。
在性能测试方面,开播时间是视频类APP重要的性能指标之一,衡量的是用户等待开播的延迟,常规线下测试是收集多次开播时间数据,经过数据处理得出一个线下测试的开播时间与历史值比较,是APP版本上线前都要测试的内容。
遇到的问题
1.需要一个稳定模拟指定的、持续动态变化的网络的工具
通过对网络环境建模,任意现实场景都可以划分成强网、弱网、无网状态,并量化成带宽、时延、丢包、抖动、误码等核心指标。一个理想的网络控制工具,就是根据量化指标数据的连续输入,持续模拟网络的动态变化(根据线上问题分析,大部分问题发生在网络变化的时机)。