New Web Test Features in Visual Studio Team System for Software Testers 2008

Visual Studio 2008 Beta 2 is just around the corner and here is a summary of a few of the upcoming features you'll see:

Support for initialization and termination tests per virtual user.

In the past it's been difficult to manage operations which only have to be performed once at the beginning and/or end of a test. Things like login, checkout, creating a user, etc needed to be managed creatively to get to work. Visual Studio 2008 has first class support for initialization and termination tests, which, as their name implies are run at the beginning and ending of a virtual user sesson.

Adding them is easy. Just bring up the test mix editor (shown below), select the checkboxes at the bottom, and choose which test you want to be your initialization and / or termination test.

[Test mix editor]

Once you've selected your init / terminate tests, the webtest editor shows them as part of your scenario:

Multiple Web Test plug-ins and request level plug-ins:

With multiple Web Test plug-ins, componentizing your code is much easier in VSTS 2008. You're not forced to cram all of the code you might need into a single plug-in so you're free to mix and match plug-ins across multiple projects without the extra overhead. Additionally, you can also expose public properties from your plug-ins to make them even more useful on a per-test basis. Here's a screenshot of what adding a Web Test plug-in looks like now:

True request level plug-ins are now a reality as well. Just like Web Test plug-ins, you can have multiple request level plug-ins directly attached to a specific request rather than having to filter requests inside the plug-in. Of course, the request plug-in infrastructure from VSTS 2005 was not removed and your existing plug-ins will run without modification. In fact, they still provide a great way to run code after every request without adding a request plug-in to each node in the editor. Here's a look at the new Web Test editor with multiple plug-ins added:

Lastly - worried about the order your plug-ins will run? They run top-down in the order you see them in the UI!