如何在VSTS 2010中自定义真实网络仿真

开发
在前面几篇博客文章里,我们介绍了VSTS 2010 网络仿真,以及如何为负载测试或单元测试及其它测试配置网络仿真(Network Emulation)。接下来的一些博客中将陆续与大家分享在使用VS2010过程中发现的关于 Network Emulation 网络仿真更高级的特性。

mso-hansi-font-family: Verdana" lang=ZH-CN>中网络仿真(Network Emulation)新特性

VS20008 相比,VS2010提供的网络仿真(Network Emulation可以模拟那些使用可靠的物理链路的有线和无线网络,如以太网。并且VS2010里提供的网络仿真模型中加入了许多新的网络属性:如跨网络的往返时间(延迟)Latency 可用带宽、 排队方式、 数据包丢失量、 数据包的重新排列和错误传播等,并为筛选基于 IP 地址或TCP UDP ICMP协议的网络数据包提供了灵活性。因此与VS2008相比,VS2010网络仿真为用户模拟出更真实的网络环境。

VSTS 2010中提供下列10 种网络类型:

◆Cable-DSL 384Kps

 Test simulating LAN

◆Cable-DSL 1.5Mbps

◆Cable-DSL 768Kbps 

◆ 3G

◆CDMA

◆Dial-up 56k Modem

◆ Intercontinental slow WAN 300 Kbps

◆Intercontinental slow WAN 1.5 Mbps

◆Intra-continental slow WAN 1.5 Mbps

自定义 mso-hansi-font-family: Verdana" lang=ZH-CN>中网络仿真配置文件(Network Emulation Profile)

VS2010中自有的网络仿真配置文件位于:

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Templates\LoadTest\Networks

例如:VSTS 201 中新提供的3G网络定义如下:

  1. <NetworkEmulationProfile name="3G" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> 
  2. <Emulation> 
  3.   <VirtualChannel name="ThreeG-Channel1"> 
  4.     <FilterList /> 
  5.     <VirtualLink instances="1" name="link1"> 
  6.       <LinkRule dir="upstream"> //宽带下行速度定义  
  7.         <Bandwidth>    
  8.           <Speed unit="kbps">512</Speed> 
  9.           <QueueManagement>       //数据包排队方式定义  
  10.             <NormalQueue> 
  11.               <Size>100</Size> 
  12.               <QueueMode>packet</QueueMode> 
  13.               <DropType>DropTail</DropType> 
  14.             </NormalQueue> 
  15.           </QueueManagement> 
  16.         </Bandwidth> 
  17.         <Latency>    //延迟定义  
  18.           <Fixed> 
  19.             <Time unit="msec">150</Time> 
  20.           </Fixed> 
  21.         </Latency> 
  22.         <Loss>       //数据包丢失定义  
  23.           <Random> 
  24.             <Rate>0.0025</Rate> 
  25.           </Random> 
  26.         </Loss> 
  27.       </LinkRule> 
  28.       <LinkRule dir="downstream"> //宽带上行速度定义  
  29.         <Bandwidth> 
  30.           <Speed unit="kbps">64</Speed> 
  31.           <QueueManagement>   //数据包排队方式定义  
  32.            <NormalQueue> 
  33.              <Size>100</Size> 
  34.               <QueueMode>packet</QueueMode> 
  35.               <DropType>DropTail</DropType> 
  36.             </NormalQueue> 
  37.           </QueueManagement> 
  38.         </Bandwidth> 
  39.         <Latency>    //延迟定义  
  40.          <Fixed> 
  41.             <Time unit="msec">150</Time> 
  42.           </Fixed> 
  43.         </Latency> 
  44.         <Loss>    //数据包丢失定义  
  45.           <Random> 
  46.            <Rate>0.0025</Rate> 
  47.           </Random> 
  48.         </Loss> 
  49.       </LinkRule> 
  50.     </VirtualLink> 
  51.   </VirtualChannel> 
  52. </Emulation> 
  53. </NetworkEmulationProfile> 

用户可以很容易地根据自己的需求自定义并创建所需要模拟的网络环境:

1. 为网络属性如网络延迟(Latency)、宽带上行/下行速度、 数据包排队方式、 数据包丢失设置相应的 

2.更改NetworkEmulationProfile名字为自定义网络类型名字

3.将自定义的network文件放置在: C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Templates\LoadTest\Networks

当我们运行Unit/Load Test 时,就可以利用自定义的网络类型进行网络模拟:

Configuration Settings – localtestsettings 页中的网络模拟列出了我们自定义创建的网络类型:

VSTS2010界面

Load Test Wizard的网络组合里列出了我们自定义创建的网络类型

界面

以后的博客中将分享更多的网络模拟高级特性,包括对网络数据包的排队方式、 数据包丢失量、 数据包的重新排列和错误传播等,以及筛选基于 IP 地址或TCP UDP ICMP协议的网络数据包进行模拟。

【编辑推荐】

  1. 用VSTS代码验证工具捕捉C/C++错误
  2. VSTS 编写测试Test技巧
  3. 全职杀手:用VSTS2010进行软件生命周期管理
  4. 用VSTS代码验证工具捕捉C/C++错误
  5. 自定义VSTS开发流程
责任编辑:彭凡 来源: pcdog.com
相关推荐

2019-12-02 21:29:45

Keras神经网络TensorFlow

2021-07-01 11:07:49

Swift 自定义操作符

2021-07-16 11:00:40

Django用户模型Python

2010-12-28 16:10:06

Exchange 20

2017-06-20 12:48:55

React Nativ自定义模块Note.js

2013-03-28 16:59:56

Android开发自定义TitleBar

2009-06-23 14:54:07

配置ControlleVSTS2010

2011-08-09 17:16:56

CoreAnimati动画

2021-11-23 15:06:42

Kubernetes 运维开源

2024-05-08 17:05:44

2019-06-21 09:50:47

Windows 10自定义分辨率

2018-03-02 13:13:21

2022-07-04 10:39:24

TienChin项目自定义

2013-06-27 11:10:01

iOS开发自定义UISlider

2010-12-31 10:21:03

Office 2010自定义安装

2021-03-16 10:39:29

SpringBoot参数解析器

2017-12-05 08:50:51

2011-09-05 18:54:03

windowsUbuntu

2011-06-15 09:24:36

Qt Widget Model

2009-09-07 22:00:15

LINQ自定义
点赞
收藏

51CTO技术栈公众号