Introducing True Network Emulation in Visual Studio 2010

With the Beta 1 release of Visual Studio 2010, we have introduced true network emulation for load tests and pretty much every other test type we support.

What is True Network emulation?

My definition of true network emulation might be different than what others might think, but I characterize true network emulation as the ability to simulate network conditions by directly manipulating the network packets.  The Network Emulation that we provide in Visual Studio 2010 is a software-based emulator which can emulate the behavior of both wired and wireless networks using a reliable physical link, such as an Ethernet. A variety of network attributes are incorporated into the VS2010 Network Emulation model, including round-trip time across the network (latency), the amount of available bandwidth, queuing behavior, packet loss, reordering of packets, and error propagations. VS2010 Network Emulation also provides flexibility in filtering network packets based on IP addresses or protocols such as TCP, UDP, and ICMP.

Why do I care about network emulation?

VS2010 Network Emulation can be used by network-based application developers and testers to emulate a desired test environment, assess performance, predict the impact of change, or make decisions about technology optimization. When compared to hardware test beds, the Network Emulation provided by Visual Studio Team System is a much cheaper and more flexible solution.

How do I use the Network Emulation that is provided in Visual Studio 2010?

The easiest way to use network emulation in Visual Studio 2010 is to create a test project and modify the test settings (formerly run configuration).  On the “Execution Criteria” page, select and enable the Network Emulation collector.


Then click on the “Advanced…” button and select the profile of the network that you would like to use. 


Next, save the test settings and have at it.  When the test run starts, the emulation of the network you selected will start.  When the run finishes, it will stop.  Please note that these settings will not work on Load Test.  Selecting the networks to emulate for load tests works the same way it did in VS2008.

Can I get a more detailed explanation? 

Absolutely…. However, you will have to wait.  In the coming weeks, I will be creating a few walkthroughs that better illustrate how to use network emulation during Unit Testing and Load Testing.  I will also show you how to create a new profile that allows you to customize the networks that you want to simulate. 

Try it out and let me know

If you haven’t done so already, please download the Beta1 build of Visual Studio Team System 2010.  Then try out the network emulation and let me know what you think.  We would love to hear your feedback.