产品测试中,如何模拟网络不佳的情况?

作者&投稿:银贱 (若有异议请与网页底部的电邮联系)
app测试时如何模拟网络不好的情况?~

建议做专门做弱网测试和中断测试,以此检测在各种情况的网络性能,一般就找个专门做这个的公司就做了,像TestBird这种,很简单就能搞定

手机网络是没办法像电脑一样检测的,因为位置没办法确定。
有时候我们处在信号比较强的地方网络就会快一些;
但有时候处在比较封闭的地方,比如室内、咖啡厅、地下室等等,信号就比较薄弱,网络自然就差。

1. 前言

下面将描述怎么用最快和最低成本搭建一个ATC服务来构造一个弱网络wifi,然后使用自研的PC工具“网络分析大师”来快捷地切换不同的弱网络场景,免去配置ATC弱网络参数的繁杂。

1.1 安装程序

包括:

1. Vmware Workstation虚拟机

2. Ubuntu 14.04操作系统虚拟机镜像vmdk

3. Ubuntu 14.04操作系统iso-64位

4.网络分析大师

1.2 网络环境

需要使用体验网或外网

1.3 硬件要求

一台PC,一块无线网卡(建议如下的带多天线的PCI网卡,亲测半层楼无遮挡可以满格信号)

2. Ubuntu安装

Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统 , 弱网络应用的ATC将搭载在其上,所以要现行安装。

2.1 虚拟机or双系统

虚拟机装起来略为方便,因为提供的虚拟机镜像已经装好了整个环境,只需要启动ATC就可以了。

但是虚拟机没有双系统稳定,还是建议做双系统,直接把Ubuntu装起来,然后再安装python 2.7+和Django 1.7+

2.2 虚拟机安装

安装Vmware Workstation,同时直接加载服务器上提供的Ubuntu操作系统虚拟机镜像vmdk即可

2.3 双系统安装

如果需要下载32位的Ubuntu安装镜像,可去官网:

Download Ubuntu Desktop

3. Ubuntu wifi 热点创建

最终我们的测试手机将连上Ubuntu的wifi热点来接入弱网络环境。

Ubuntu的环境下有多种创建热点的方式,自己也尝试过不同的方法,有的方法可以创建成功,但Android系统无法找到,有的根本就无法创建成功,最终选择了一个linux系统安装软件的方式来尝试,成功创建并启动。把这最简单的方法备份一下。

3.1 选择Ubuntu版本,更新软件源

这里选择的ubuntu版本为稳定的14.04版本,若选择最新的15.04版本,可能会存在无相应的软件源。当然,如果你能找到对应的软件源,也可以手动进行安装。

$sudo add-apt-repository ppa:nilarimogard/webupd8
$sudo apt-get update
$sudo apt-get install ap-hotspot

3.2 配置ap-hotspot

更新好软件源,然后安装完成ap-hotspot,进入配置界面,输入ssid和密码,即可:

$sudo ap-hotspot configure //配置界面,需要输入ssid和密码
Detecting configuration...
Detected eth0 as the network interface connected to the Internet. Press ENTER if this is correct or enter the desired interface below (e.g.- eth0, ppp0 etc.)://默认按Enter即可

Detected wlan0 as your WiFi interface. Press ENTER if this is correct or enter the desired interface (e.g.- wlan1)://默认按Enter即可

Enter the desired Access Point name or press ENTER to use the default one (myhotspot)://Wifi名字
Enter the desired WPA Passphrase below or press ENTER to use the default one (qwerty0987)://wifi 密码

3.3 启动wifi热点

执行完以上步骤之后,可以启动wifi

$sudo ap-hotspot start //启动wifi
Starting Wireless Hotspot...
Wireless Hotspot active

当出现以上内容即为启动成功,这个时候可以通过移动设备连接。

3.4 可能会碰到的问题3.4.1 一直处于Starting Wireless Hotspot…状态

ubuntu14.04上使用的版本为hostapd2.x版本,但hostapd2.x版本存在bug,这里的解决方案是需要将默认版本移除,使用hostapd1.0版本即可

$sudo apt-get remove hostapd

重新安装hostapd1.0版本,这里在网上提供的版本中,找不到对应的包,这里在父目录下找到了对应1.0的安装包,下载安装之:

$wget http://old-releases.ubuntu.com/ubuntu/pool/universe/w/wpa/hostapd_1.0-3ubuntu2.1_amd64.deb  //如果是32位系统,此目录下可找到32位包
sudo dpkg -i hostapd*.deb  //指定刚才下载的安装包
sudo apt-mark hold hostapd //禁止hostapd自动更新到新版本

安装完成之后,重启即可使用。

3.4.2 “Another process is already running”问题

这个问题是在已经有一个wifi热点在运行的时候,重新进入的时候尝试重新打开时,会报此错误,按照如下操作即可解决

sudo rm /tmp/hotspot.pid  //删除已有的热点之后重新启动即可

4. ATC安装4.1 ATC简介

ATC是Facebook开源移动网络测试工具,可以用来模拟不同的网络环境,可控制的方面主要包括带宽、时延抖动、丢包率、错包率、包重排等衡量网络质量的重要指标。其主要的工作原理是利用了Linux流量控制系统,通过纯python的网络库pyroute2调用netlink的API控制的。刚才提到的几个重要的指标:

· bandwidth
· latency
· packet loss
· corrupted packets
· packet ordering

ATC网络结构构成图


4.2 ATC安装所需要的环境

如果直接使用提供的虚拟机镜像,则ATC已经安装好,不需要再安装,跳过安装步骤直接运行即可。如果自行搭建双系统或者全新虚拟机,则需先安装ATC。

以下步骤都在ubuntu14.04上完成:

ATC只能运行在Linux上,其安装环境使用的是虚拟机+ubuntu+无线网卡及python 2.7+和Django 1.7+。

这里使用pip这种最简单方式安装ATC

首先,必须安装Python2.7以上版本,然后安装pip:

sudo apt-get install python-pip python-dev build-essential)

sudo pip install --upgrade pip

然后,使用pip直接安装好ATC所有组件:

$pip install atc_thrift atcd django-atc-api django-atc-demo-ui
$pip install django-atc-profile-storage

所有都安装完成之后,需要先创建一个Django工程将ATC配置运行起来

$django-admin startproject atcui
$cd atcui

创建完成django工程后,需要进行一些配置才能够使应用完全运行起来,首先,编辑atcui/setting.py,添加ATC应用到INSTALLED_APPS

INSTALLED_APPS = (
   ...
   # Django ATC API
   'rest_framework',
   'atc_api',
   # Django ATC Demo UI
   'bootstrap_themes',
   'django_static_jquery',
   'atc_demo_ui',
   'atc_profile_storage',
)

接着,编辑atcui/urls.py,添加ATC应用的路由信息到urlpatterns,经过这步之后,在之后url方式访问才可以有正确的响应:
from django.views.generic.base import RedirectView
urlpatterns = patterns('',
   ...
   # Django ATC API
   url(r'^api/v1/', include('atc_api.urls')),
   # Django ATC Demo UI
   url(r'^atc_demo_ui/', include('atc_demo_ui.urls')),
   # Django ATC profile storage
   url(r'^api/v1/profiles/', include('atc_profile_storage.urls')),
   url(r'^$', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
)

最后,还需要生成Django工程的数据库文件:

$python manage.py migrate

4.3   运行ATC

首先要启动的是核心组件atcd,同时需要指定wan口和lan口,默认启动方式如下:

$sudo atcd

这里假定eth0是连接wan的接口,eth1是连接lan的接口,以上操作就可生效


4.4   设置ATC弱网络环境

当ATC成功运行,并且可以通过http://localhost:8000访问时,我们有两种方式可以进行网络的设置。

· 通过ATC UI进行设置

· 通过ATC提供的API进行网络类型设置

· 通过网络分析大师来自动设置(推荐方案)  ——将在下一章节单独介绍,建议先看

4.4.1 通过ATC UI进行设置

首先,手机连接上热点wifi

其次,通过浏览器访问ATC WEB页面,你会看到下图的页面,滑动页面可以看到,其中包含了Notifications、Authentication、Profiles、Shaping Setting。前两项可不用,直接使用后两部分。

接着,Turn On之后,通过select已有的网络模型来设置手机的网络环境。当select之后就会出现Update Shaping,点击之后即生效)。

或者,通过创建新的网络模型来设置手机的网络环境。打开Sharping Settings,输入各项模拟值,下图为PC侧截图(手机侧同理)。输入完成之后,点击Profiles下面的Create按钮并填写相应的模型名称。同样,点击Update Shaping使设置生效。

最后,wanem以及ATC两个环境都存在,但不能在同一台服务器上使用,所以,大家弱网络测试时,移步到ATC测试。有什么使用问题,可以一起交流下。

4.4.2 通过ATC API设置网络模型

·通过GETing /api/v1/shape/获取当前设备的网络状态(模型)

·通过POSTing /api/v1/shape/对当前设备网络状态进行设置

·通过DELETE /api/v1/shape/ 对当前设备网络状态进行删除,恢复正常网络

Examples:

·检查当前设备的网络状态

当前设备未有任何网络状态设置↑

当前设备设置了对应的网络状态↑

·设置设备的网络状态
设置网络状态时,通常需要先配置好网络模型的各项参数,可以本地设置好参数,然后使用curl进行设置

·删除设备的网络状态

至此,通过ATC API即可完成对设备的查询、设置、删除。

5.网络分析大师

网络分析大师目前提供抓包、弱网络接入的功能。本文中只介绍弱网络接入步骤:

·启动ATC

·启动PC上启动网络分析大师,插上移动设备,点击“连接设备”

·移动设备连上ATC服务器的热点wifi

·通过下方的带宽限制、网络类型直接切换当前设备的弱网络环境


当然如果想快速模拟弱网络环境,腾讯有一款非常好用的产品,WeTest云真机--弱网络测试。云端有很多真机,在弱网络环境下,在网页上使用云端真机操作APP产品,进行测试。

这个平台上的机型很全。你可以测试各个机型在弱网络环境下的产品操作。感觉很方便




EFT测试的目的是什么?主要是模拟什么环境和情况呢?
EFT测试时快速脉冲群测试,主要目的测试产品在复杂的电磁环境中耐受快速脉冲群的能力,模拟附近感性开关的断开。例如,有时候我们将感性开关打开时,会有火花,当时的脉冲电压能够达到2-4KV,此种电压对附近的产品会有干扰的。

化妆品如何进行使用前的皮肤测试
3. 观察反应:等待一段时间,观察测试区域有无红肿、瘙痒、刺激感等不良反应。四、评估测试结果 若测试区域出现红肿、瘙痒、刺激感等症状,则表示可能对化妆品中的某些成分过敏,不建议使用。若无任何不适,则表明该化妆品较适合个人肤质。五、注意事项 1. 皮肤测试前,保持皮肤干燥、清洁,避免影响测试...

三菱PLC编程软件怎么模拟运行?
三菱PLC编程软件模拟运行步骤如下:1、首先,我们需要在开始菜单中打开三菱PLC编程软件GX Developer:2、然后,需要从工程菜单中创建新工程,并选择使用plc的系列及类型:3、接着,需要编写一个简单的自锁程序,编写完毕后点击“程序变换”图标:4、之后,运行仿真程序,这时点击“梯形图逻辑测试”图标,这时...

DVP测试是什么?
2. DVP测试和型式测试有以下不同之处:- 阶段不同:DVP测试在产品设计阶段进行,而型式测试在产品开发完成后进行。- 目的不同:DVP测试旨在验证产品设计是否符合要求,而型式测试旨在评估产品的整体性能和合规性。- 测试方法不同:DVP测试通常包括模拟测试、实验室测试和仿真测试等,而型式测试则侧重于...

纺织品汗渍色牢度测试仪试验原理有哪些?
美国染化家协会标准AATCC15-2013《耐汗渍色牢度》的原理的中译文是:“附有其它纺织材料(为了色转移)的有色纺织品样品在模拟酸性汗溶液中浸透,在固定装置压力的条件下,可以慢慢提高温度慢慢干燥。调湿后,评定试样的变色和多纤维贴衬的沾色级别。”纺织品汗渍色牢度测试仪是必须的设备之一,但采用不...

有效性测试是在模拟的环境下运用黑盒法,验证软件特征是否与需
黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。 白盒测试: ...

在ADAMS中如何模拟白噪声输入
请上百思论坛,上面肯定能解决你的问题

稳定性测试怎么测
26、若系统结构中使用了负载均衡,则要考虑负载均衡的策略,要模拟大量用户进行各种不同的并发操作,检查负载均衡是否发生有效地作用 稳定性测试怎么测2 如何判断系统的稳定性 系统的四个性质即线性、时不变性、因果性和稳定性都很重要,上次王英吉同学问到系统稳定性的判断问题,下面进行进一步的介绍。 对于连续系统和离...

化妆品怎么做质量检测
经过24~48小时的观察,若试验部位无任何症状,则表明该化妆品对皮肤无刺激性,较为安全。如果测试处剧痒或灼痛,表明该化妆品对皮肤有刺激性,提示该化妆品绝对不可使用,应及时将试验物去掉,用清水冲洗。以上是关于化妆品质量检测相关的信息,由百检化妆品检测平台整理,希望帮助到你,望采纳 ...

学生做自媒如何测试出爆品
橱窗带货如何测试出爆品 直播测品 爆品:直播间点击率、成交转化率比较高的品每次直播完后复盘直播间的品是否优质测品方法如下: 原爆品1+新品A(测试) +原爆品2+新品B+爆品3 新品A如果测试数据不错,即为爆品 *注:直播间测品前提是直播间本身比较成熟,在线人数至少200人以上。且在描述新品A不要花太多时间...

天镇县13947909760: app测试时如何模拟网络不好的情况? -
春阳妇舒: 建议做专门做弱网测试和中断测试,以此检测在各种情况的网络性能,一般就找个专门做这个的公司就做了,像TestBird这种,很简单就能搞定

天镇县13947909760: 如何测试软件在网络环境较差的情况下功能实现情况和性能 -
春阳妇舒: 网络流量测试,测试无网络瓶颈时的数据传输有多少,传输次数有多少?如果传输次数过多或者数据传输量过大,建议优化.无线网络情况比较多,核心还是传输量的多少.优化后,再建议测试下网络环境较差的情况,可以通过loadrunner模拟带宽进行测试.

天镇县13947909760: 如何模拟低速率网络测试web应用 -
春阳妇舒: 如果我们开发的是局域网 Web 应用的话,可能没有必要这样做.但如果我们的 Web 应用面向的是互联网上的成千上万的用户,这样做就很必要了.因为在现实世界中并不是所有的用户都有高数率的网络连接,也许用户使用的是拨号接入,移动...

天镇县13947909760: Android 中流量,电量,弱网环境怎么测 -
春阳妇舒: 用Charles工具做弱网的测试,或者模拟2G、3G的网络情况.通过抓包是流量测试直接的方法.在App运行器件,把手机收发的所有报文抓取下来,在计算收发报文总大小,即app消耗的流量.如果我们需要测试某个app消耗 的流量需要禁用其...

天镇县13947909760: 怎么自己测试网络质量 -
春阳妇舒: 直接 运行——cmd——ping www.baidu.com 就可以了啊 ..然后 看下lost不就看出来了么?ping是 随便 ping一个网站..看看 发送 和接收 怎么样..就可以看出来了

天镇县13947909760: 产品性能测试如何来做 -
春阳妇舒: 性能测试的目的: 一、评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的数据处理能力,并帮助作出决策. 二、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈...

天镇县13947909760: APP开发之后该怎么测试 -
春阳妇舒: 1. UI 测试 app主要核ui与实际设计的效果图是否一致;交互方面的问题建议,可以先与产品经理确认,确认通过后,才开始让开发实施更改或优化 2. 功能测试 根据软件说明或用户需求验证App的各个功能实现,实际测试过程一般都是根据功能测...

天镇县13947909760: 测试 怎么模拟http连接超时 -
春阳妇舒: 测试 怎么模拟http连接超时 按公式可编程如下:long ff(int n) { long f; if(n elseif(n==0||n==1) f=1; else f=ff(n-1)*n; return(f); } main() { int n; long y; printf("\ninput a inteager number:\n"); scanf("%d",&n); y=ff(n); printf("%d!=%ld",n,y); } 程序中...

天镇县13947909760: 中国移动测试网络信号怎么测试.
春阳妇舒: 简单来说,主要分为CQT、DT两种,CQT是呼叫质量测试(call quality test),指采用测试手机对某一范围进行测试,内容主要包括场强(接受电平值,包括主控小区和邻区)、通话质量(0-7共八个等级)、同邻频(主控小区和相邻小区),跳...

天镇县13947909760: 对网站进行测试和评估的工作内容~ -
春阳妇舒: 网站的测试与评估: 网站的测试包括: 一:性能测试 (1)连接速度测试.用户连接到电子商务网的速度与上网方式有关,他们或许是电话拨号,或是宽带上网! (2)负载测试.负载测试是在某一负载级别下,检测电子商务系统的实际性能....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网