Mini-Article: Load Testing in Visual Studio 2005 Team System

Recently, I needed to do a quick bit of load testing on some code that was about to be deployed to a heavily loaded production environment. I used Visual Studio team system to do this, and this mini-article has a few notes about my experiences.

Obviously you'll need a copy of Visual Studio that has the testing components in it, such as Visual Studio Team System, or Visual Studio 2005 Team Edition for Software Testers (this might not be the full / correct name of the Testers version). I had a separate machine to install this on, which was something I was pretty grateful for later as you'll see. In the past I've seen some people have a preference for using virtual machines to do testing on. This has obvious advantages in terms of being able to move / reset your test environment, but I wasn't comfortable with this approach for my load testing, due to concerns about creating an additional potential bottleneck.

Once Visual Studio was loaded on my test box, I created a new test project and went about creating some simple web tests against the application. At this point I noticed a fairly major problem. The URLs were being recorded successfully, but all the postback parameters were missing. For me, no postback parameters meant no meaningful requests and no generated load. After a lot of googling, I came across this link which shed a bit of light on the issue. Apparently, there's a known bug due to be fixed in the upcoming Service Pack 1 for VS2005. The issue occurs when a page has "enctype=multipart/form-data" and doesn't perform a file upload. In my case, I was attempting to test DotNetNuke modules, and DNN uses this enctype across all of it's pages.

Next I tried to find the service pack. At the time of writing, the service pack has not yet been released, although it is in beta. I couldn't find any information about a release date, although that might have changed by now. Initially it seemed like you needed to be registered for the beta program in order to get access to it, however after a fair amount of googling I stumbled onto this download link. A short 380mb download later, I installed the beta of the service pack (at which point I was glad to be doing all this on a seperate machine), and my web tests were recording postback paramaters against my DotNetNuke modules. Yay! Only a waste of about 6 hours, but hey, that's life.

From here on in, things went pretty smoothly. Creating basic web tests is pretty simple and self explanitory, as is the next step of adding your web tests into a load test profile. The load test "Wizard" gives you control over a lot of options and different modes of behaviour. Luckily I was simply trying to hurt our servers and application as much as possible, so I didn't need to think too much about many of the options, even though it was nice to know that they were there should I have needed them.

There's a lot of material on MSDN about testing. The content here should enable Testers with no Visual Studio experience to get up and running with the product pretty quickly. Most of it can be found from the Visual Studio Team System: Team Edition for Testers page. It covers the basics of unit tests, web tests, load tests, as well as going into deal of manual tests written using code instead of the UI, and also touches on data driven testing for people who need to be a bit more thorough than I was.

Summary
Visual Studio has some nice tools to make testing a lot easier. The tools are pretty simple to use, which is going to be a great bonus for people like myself who don't do a lot of testing. The enctype bug was pretty annoying - and that's most of the reason why I'm writing this. It took me a long time to stumble across the reason for my postback parameters problem, so hopefully this article will save time for anyone else out there who's experiencing the same issue. Despite all that, once the Service Pack was applied everything went very well.

Additional Resources
Link: Web tests don't record postback parameters
Link: Download Details - Visual Studio 2005 Service Pack 1 Beta
Link: MSDN: Test Types
Link: MSDN: Working with Load Tests
Link: MSDN: Working with Web Tests
Link: Visual Studio 2005 Team System Learning Guide
Link: Team Test and the Load Test Agent
Link: Visual Studio Team System - Testers Forums

 Print | Posted on Friday, October 20, 2006 3:59 PM |



Feedback

No comments posted yet.


Post Comment

Title  
Name  
Email
Website / Url
 

Your comment

   
Ensure the word in this box says 'orange':
 
Please add 3 and 3 and type the answer here:





Due to excessive comment spam, all comments are now being moderated. If you're a comment spammer then you're wasting your time here. Your comments will not be published - ever.


About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand




Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008




Archives

January, 2012 (3)
December, 2011 (3)
November, 2011 (8)
October, 2011 (9)
September, 2011 (8)
August, 2011 (5)
July, 2011 (4)
June, 2011 (7)
May, 2011 (5)
April, 2011 (3)
March, 2011 (8)
February, 2011 (4)
January, 2011 (3)
December, 2010 (8)
November, 2010 (5)
October, 2010 (6)
September, 2010 (7)
August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL