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

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

1 前言

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

11 安装程序

包括:

1 Vmware Workstation虚拟机

2 Ubuntu 1404 *** 作系统虚拟机镜像vmdk

3 Ubuntu 1404 *** 作系统iso-64位

4网络分析大师

12 网络环境

需要使用体验网或外网

13 硬件要求

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

2 Ubuntu安装

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

21 虚拟机or双系统

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

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

22 虚拟机安装

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

23 双系统安装

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

Download Ubuntu Desktop

3 Ubuntu wifi 热点创建

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

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

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

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

$sudo add-apt-repository ppa:nilarimogard/webupd8

$sudo apt-get update

$sudo apt-get install ap-hotspot

32 配置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 (eg- eth0, ppp0 etc)://默认按Enter即可

Detected wlan0 as your WiFi interface Press ENTER if this is correct or enter the desired interface (eg- 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 密码

33 启动wifi热点

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

$sudo ap-hotspot start //启动wifi

Starting Wireless Hotspot

Wireless Hotspot active

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

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

ubuntu1404上使用的版本为hostapd2x版本,但hostapd2x版本存在bug,这里的解决方案是需要将默认版本移除,使用hostapd10版本即可

$sudo apt-get remove hostapd

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

$wget >

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

342 “Another process is already running”问题

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

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

4 ATC安装41 ATC简介

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

· bandwidth

· latency

· packet loss

· corrupted packets

· packet ordering

ATC网络结构构成图

42 ATC安装所需要的环境

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

以下步骤都在ubuntu1404上完成:

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

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

首先,必须安装Python27以上版本,然后安装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/settingpy,添加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/urlspy,添加ATC应用的路由信息到urlpatterns,经过这步之后,在之后url方式访问才可以有正确的响应:

from djangoviewsgenericbase import RedirectView

urlpatterns = patterns('',

   

   # Django ATC API

   url(r'^api/v1/', include('atc_apiurls')),

   # Django ATC Demo UI

   url(r'^atc_demo_ui/', include('atc_demo_uiurls')),

   # Django ATC profile storage

   url(r'^api/v1/profiles/', include('atc_profile_storageurls')),

   url(r'^$', RedirectViewas_view(url='/atc_demo_ui/', permanent=False)),

)

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

$python managepy migrate

43   运行ATC

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

$sudo atcd

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

44   设置ATC弱网络环境

当ATC成功运行,并且可以通过>

· 通过ATC UI进行设置

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

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

441 通过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测试。有什么使用问题,可以一起交流下。

442 通过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产品,进行测试。

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

软件开发适合的工作岗位是计算机程序设计师。适合于熟练地按照工程化的思路进行软件编制、软件测试的工作岗位,能担任各种企事业单位和各级工程建设部门、管理部门的计算机软件和硬件维护、网络的组建、维护等工作,也可从事计算机研究与应用、软件开发等方面的工作。具体可分为以下方面:

1 可视化编程掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。 就业方向:企业、政府、社区、各类学校等可视化编程程序员。

2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。 就业方向:企业、政府、社区、各类学校等WEB应用程序员。

3 软件测试 掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。 就业方向:企业、政府、社区、各类学校等软件测试员。

4 数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。 就业方向:企业、政府、社区、各类学校等部门的中、大型数据库管理员。

5 图形图像制作 精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。 就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。

6 网络构建技术 熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取Cisco路由配置或华为网络工程或AMP应用工程师认证。 就业方向:企业、政府、社区、各类学校等网络构建工程师。

7 网络系统管理 掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server或TurboLinux TLCE或Cisco路由配置专家认证。 就业方向:企业、政府、社区、各类学校等网络系统管理员。

8 多媒体制作 具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。 就业方向:多媒体设计与制作公司、动画美术制作出版公司、广告制作公司。

9 计算机办公应用 精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、FTP、OA、BBS等系统的应用和维护能力。 就业方向:企业、政府、社区、各类学校等系统管理

有很多方向,看你的兴趣点。

以上就是关于产品测试中,如何模拟网络不佳的情况全部的内容,包括:产品测试中,如何模拟网络不佳的情况、软件开发一般要学哪些技术、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9322875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存