<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Ed Glas's blog on VS load testing</title><link>http://blogs.msdn.com/b/edglas/</link><description /><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>A New Role for Me</title><link>http://blogs.msdn.com/b/edglas/archive/2011/02/14/a-new-role-for-me.aspx</link><pubDate>Mon, 14 Feb 2011 21:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10129226</guid><dc:creator>Ed Glas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10129226</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2011/02/14/a-new-role-for-me.aspx#comments</comments><description>&lt;p&gt;I have been quiet on my blog for a while, mostly because I have switched jobs. I had been running dev, test, and PM for the Team Test team here in Raleigh NC, reporting to the PUM of Team Test, &lt;a href="http://blogs.msdn.com/b/amit_chatterjee/"&gt;Amit Chatterjee&lt;/a&gt; in our India Development Center. My team built the load test tools and TCM server product in VS 2010. At the end of VS 2010 we decided to consolidate the test tools work to the IDC facility. &lt;a href="http://blogs.msdn.com/b/nkamkolkar/"&gt;Neelesh Komkolkar&lt;/a&gt; is now PM for the load testing tools.&lt;/p&gt;
&lt;p&gt;I took on the role as QA manager for the Team Foundation Server (TFS) product team. I now run the TFS QA team, with half my team in being in NC and half in Redmond. While I was sad to let the load testing and TCM products go, I am excited by the new challenges and opportunity afforded in my new role.&lt;/p&gt;
&lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10129226" width="1" height="1"&gt;</description></item><item><title>Interviewing for an SDET job at Microsoft</title><link>http://blogs.msdn.com/b/edglas/archive/2011/02/14/interviewing-for-an-sdet-job-at-microsoft.aspx</link><pubDate>Mon, 14 Feb 2011 21:44:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10129222</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10129222</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2011/02/14/interviewing-for-an-sdet-job-at-microsoft.aspx#comments</comments><description>&lt;p&gt;I have been doing a lot of interviewing lately. First of all, if you are interested in coming to sunny Raleigh, NC to work as an SDET on my team, let me know! We are hiring.&lt;/p&gt;  &lt;p&gt;Second, I want to give people a flavor of what to be prepared for in an interview. &lt;/p&gt;  &lt;p&gt;In a typical interview here we ask you to code up some function on the whiteboard and then discuss test cases for the function. &lt;/p&gt;  &lt;p&gt;String functions in particular are popular. So something like code a function to reverse the words in a string: “The cat jumped over the fence” to “ehT tac depmuj revo eht ecnef”. &lt;/p&gt;  &lt;p&gt;The best approach for coding is to first think about the algorithm. For example, write down on the white board the most common simple example, then think through the algorithm. Once you have that, code it. Typically the coding should be done in about 20-30 minutes, so if it seems your algorithm is not simple you are probably doing something wrong.&lt;/p&gt;  &lt;p&gt;Then come up with interesting test cases for it:&lt;/p&gt;  &lt;p&gt;A common case: “I went to the park”&lt;/p&gt;  &lt;p&gt;Edge cases: &lt;/p&gt;  &lt;p&gt;really short: “A”, “”&lt;/p&gt;  &lt;p&gt;really long (say a book)&lt;/p&gt;  &lt;p&gt;Extra spaces: &lt;/p&gt;  &lt;p&gt;“&amp;#160; I went&amp;#160;&amp;#160;&amp;#160; to&amp;#160;&amp;#160;&amp;#160; the park&amp;#160; ”&lt;/p&gt;  &lt;p&gt;“I went&amp;#160;&amp;#160;&amp;#160; to&amp;#160;&amp;#160;&amp;#160; the park”&lt;/p&gt;  &lt;p&gt;“&amp;#160; I went to the park”&lt;/p&gt;  &lt;p&gt;“I went to the park ”&lt;/p&gt;  &lt;p&gt;“ I went to the park ”&lt;/p&gt;  &lt;p&gt;Tabs (is this whitespace?)&lt;/p&gt;  &lt;p&gt;Test cases with non-alpha characters would also be interesting.&lt;/p&gt;  &lt;p&gt;You get the idea.&lt;/p&gt;  &lt;p&gt;Another one might be insert an element into a sorted linked list. You can look on the internet for other types of coding questions.&lt;/p&gt;  &lt;p&gt;It is also good to think about: &lt;/p&gt;  &lt;p&gt;- running on different language OS, or different language VS (say a far east language, or bi-directional language)&lt;/p&gt;  &lt;p&gt;- performance (how fast is it) and stress (e.g. memory leak detection)&lt;/p&gt;  &lt;p&gt;- usability &lt;/p&gt;  &lt;p&gt;and other types of non-functional testing.&lt;/p&gt;  &lt;p&gt;You might also be asked to test some piece of software, like the file open dialog in excel, or some object, like a tire, coffee cup, or battery.&lt;/p&gt;  &lt;p&gt;I hope that helps, and happy interviewing!&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10129222" width="1" height="1"&gt;</description></item><item><title>Plugins for Handling JSON and msbin1 SilverLight Payloads on codeplex</title><link>http://blogs.msdn.com/b/edglas/archive/2010/08/07/plugins-for-handling-json-and-msbin1-silverlight-payloads-on-codeplex.aspx</link><pubDate>Sat, 07 Aug 2010 19:19:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10047392</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10047392</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/08/07/plugins-for-handling-json-and-msbin1-silverlight-payloads-on-codeplex.aspx#comments</comments><description>&lt;p&gt;We enabled two new key extensibility points in VS 2010 to better handle rich post bodies that we often see with “web 2.0” style apps and with SilverLight. The first is you can create custom editors for the request body: &lt;a title="Request Body Plugins" href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#PostBodyEditor"&gt;Request Body Plugins&lt;/a&gt; (also here: &lt;a href="http://msdn.microsoft.com/en-us/library/ff458708(v=VS.100).aspx"&gt;How to: Create a Custom HTTP Body Editor for the Web Performance Test Editor&lt;/a&gt;). The second is you can add new tabs to the Web Test result viewer:&amp;#160; &lt;a href="http://msdn.microsoft.com/en-us/library/ff458704(v=VS.100).aspx"&gt;How to: Create a Visual Studio Add-In for the Web Performance Test Results Viewer&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Mahipal Kante, the dev lead for load test, leveraged these extensibility points to build a great set of plugins for handling the WCF msbin1 format and JSON format. It enables both editing the parameter values in the editor as well as viewing them in the results viewer. &lt;/p&gt;  &lt;p&gt;The beta is available here: &lt;a title="http://teamtestplugins.codeplex.com/releases/view/43166" href="http://teamtestplugins.codeplex.com/releases/view/43166"&gt;http://teamtestplugins.codeplex.com/releases/view/43166&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047392" width="1" height="1"&gt;</description></item><item><title>MSDN Docs Updated for July</title><link>http://blogs.msdn.com/b/edglas/archive/2010/08/07/msdn-docs-updated-for-august.aspx</link><pubDate>Sat, 07 Aug 2010 18:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10047382</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10047382</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/08/07/msdn-docs-updated-for-august.aspx#comments</comments><description>&lt;p&gt;Of all the great things we did with the product in 2010, one area I was surprised and pleased by is how far our documentation came thanks to the heroics of &lt;a href="http://blogs.msdn.com/b/howie_hillikers_blog/"&gt;Howie Hilliker&lt;/a&gt;. Howie has been busy since we shipped, continuing to beef up the MSDN documentation. We get regular updates to the docs through &amp;ldquo;continuous publication&amp;rdquo;, or CPub, and we recently dropped the July updates on the site.&lt;/p&gt;
&lt;p&gt;Here is a list of the new and updated topics:&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;New topics:&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Specify the Maximum Size for the Log File&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Troubleshooting Network Emulation in Load Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Walkthrough: Adding a Loop to a Web Performance Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Run a Load Test Containing Web Performance Tests that Collects ASP.NET Profiler Data&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Manually Create a Load Test Performance Report Using Microsoft Word&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Updated topics (Customer feedback bugs):&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added information on ClassInitialize and TestInitialize attributes:&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Anatomy of a Unit Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added C# and Visual Basic code snips displaying accessors&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Unit Tests for Private, Internal, and Friend Methods&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added screenshots and information for using SQLExpress&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Select a Load Test Results Repository&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added codes snip for using "Tag Inner Text" validation rule and added links to validation and extraction walkthrough&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Using Validation and Extraction Rules in Web Performance Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added note regarding IIS application pool credentials (closed PU bug)&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Collect IntelliTrace Data to Help Debug Difficult Issues&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added Tip note suggesting the use of the ColorWebApp ASP.NET&amp;nbsp; sample created in the walkthrough to experiment with&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Coded Web Performance Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Cleaned up art - numbering sequence&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Running Unit Tests on Multiple Machines Using a Test Controller and Test Agents&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Walkthrough: Using a Test Controller and Test Agents in a Load Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Using Test Controllers and Test Agents with Load Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Configuring Test Controllers and Test Agents for Load Testing&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Reported bug - waiting on resolution&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Specify Test Agents to Use in Load Test Scenarios&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Fixed confusion over "Performance session" vs. "ASP.NET Profiler adapter" &amp;amp; added links&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Start a Performance Session on a Web Application from the Web Performance Test Editor&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Load Test Analyzer Overview&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added Links to the following topics&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new related walkthrough topic&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Adding Loop and Branch Logic to Web Requests in Web Performance Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added links to the various walkthrough topics on binding to db, csv and XML data sources.&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Binding a Data Source to a Web Performance Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added links to "Binding a Data Source to a Web Performance Test"&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Walkthrough: Adding Data Binding to a Web Performance Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Walkthrough: Adding Data Binding to a Web Performance Test (CSV File)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Walkthrough: Adding Data Binding to a Web Performance Test (XML File)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new walkthrough on using a loop condition in a Web performance test&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Web Performance Test Walkthroughs&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;What's New for Web Performance and Load Testing&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Add Loops to Web Performance Tests Requests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added information on DLL version error work-around&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Load Test Plug-In&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Recorder Plug-In&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Request-Level Plug-In&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Web Performance Test Plug-In&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new topic "How to: Run a Load Test Containing Web Performance Tests that Collects ASP.NET Profiler Data"&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Configure ASP.NET Profiler for Load Tests Using Test Settings&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create a Test Setting for a Distributed Load Test&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new topic "Troubleshooting Network Emulation in Load Tests"&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Add Networks Using the Load Test Editor&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Specifying Virtual Network Types in a Load Test Scenario&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Troubleshooting Load and Web Performance Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Troubleshooting Load Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Running Load Tests&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new topic "How to: Specify the Maximum Size for the Log File"&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Modifying Load Test Logging Settings&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;&lt;b&gt;Added link to new topic "How to: Manually Create a Load Test Performance Report Using Microsoft Word"&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;Reporting Load Tests Results for Test Comparisons or Trend Analysis&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="956" valign="bottom"&gt;
&lt;p&gt;How to: Create Load Test Performance Reports Using Microsoft Excel&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047382" width="1" height="1"&gt;</description></item><item><title>Version 3.5 of the Performance Testing Quick Reference Guide Available</title><link>http://blogs.msdn.com/b/edglas/archive/2010/08/07/version-3-5-of-the-performance-testing-quick-reference-guide-available.aspx</link><pubDate>Sat, 07 Aug 2010 18:06:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10047380</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10047380</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/08/07/version-3-5-of-the-performance-testing-quick-reference-guide-available.aspx#comments</comments><description>&lt;p&gt;Geoff Gray has done it again, adding a bunch of new content to the Quick Reference Guide at &lt;/p&gt;  &lt;p&gt;&lt;a href="http://vsptqrg.codeplex.com/"&gt;http://vsptqrg.codeplex.com/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I strongly recommend you download this documentation and keep it in “your back pocket”. One thing to note is that in its current form it does not get indexed by search engines, so you need to actually download the pdf. &lt;/p&gt;  &lt;p&gt;Here is a list of the new topics:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;--NEW-- How cache settings can affect your testing and app performance 19 &lt;/p&gt;    &lt;p&gt;--NEW-- How a Load Test Plugin is executed on a test rig 29 &lt;/p&gt;    &lt;p&gt;--NEW-- Sharing State across agents in a load test rig is not supported out of the box 30 &lt;/p&gt;    &lt;p&gt;--NEW-- Customizing and extending the available network emulation settings 66 &lt;/p&gt;    &lt;p&gt;--NEW-- New Performance Counters in .NET 4.0&lt;/p&gt;    &lt;p&gt;--NEW-- Content-Length=0 Header not sent resulting in HTTP 411 Length Required Error 99 &lt;/p&gt;    &lt;p&gt;--NEW-- Web and load tests stay in “Pending” state for a long time before starting 99 &lt;/p&gt;    &lt;p&gt;--NEW-- Error that test could not run because the network emulation is required 100 &lt;/p&gt;    &lt;p&gt;--NEW-- Error/Crash in “Open and Manage Load Test Results” dialog 100 &lt;/p&gt;    &lt;p&gt;--NEW-- Calls to CaptchaGenerator.aspx fail during playback 101 &lt;/p&gt;    &lt;p&gt;--NEW-- Request failure with improperly encoded query strings calling SharePoint 2010 101 &lt;/p&gt;    &lt;p&gt;--NEW-- Network Emulation does not work in any mode other than LAN 101 &lt;/p&gt;    &lt;p&gt;--NEW-- Error: Request failed: No connection could be made because the target machine actively refused it 103 &lt;/p&gt;    &lt;p&gt;--NEW-- MaxConnection value in App.Config is not honored when running a load test 103 &lt;/p&gt;    &lt;p&gt;--NEW-- Web Test Authoring and Debugging Techniques 104 &lt;/p&gt;    &lt;p&gt;--NEW-- Troubleshooting Network Emulation 123 &lt;/p&gt;    &lt;p&gt;--NEW-- Best Practice: Understanding the ROI for test automation 140 &lt;/p&gt;    &lt;p&gt;--NEW-- How to create guaranteed unique user IDs for UNIT tests 171 &lt;/p&gt;    &lt;p&gt;--NEW-- How to create a sync point for starting load tests 173 &lt;/p&gt;    &lt;p&gt;--NEW-- How to set default extensions that the WebTest recorder will ignore 173 &lt;/p&gt;    &lt;p&gt;--NEW-- Gotcha: VS 2008 and out of memory 174 &lt;/p&gt;    &lt;p&gt;--NEW-- Gotcha: Timeout attribute in coded web test does not work during a load test 174 &lt;/p&gt;    &lt;p&gt;--NEW-- How to extend recorder functionality with plugins 185 &lt;/p&gt;    &lt;p&gt;--NEW-- Stand-Alone Network Emulation and CodePlex 193 &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Thanks for putting this new content together Geoff!&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047380" width="1" height="1"&gt;</description></item><item><title>New SharePoint 2010 Load Test Toolkit Released</title><link>http://blogs.msdn.com/b/edglas/archive/2010/08/07/new-sharepoint-2010-load-test-toolkit-released.aspx</link><pubDate>Sat, 07 Aug 2010 17:39:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10047376</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=10047376</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/08/07/new-sharepoint-2010-load-test-toolkit-released.aspx#comments</comments><description>&lt;p&gt;The SharePoint team released the &lt;b&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=718447d8-0814-427a-81c3-c9c3d84c456e&amp;amp;displaylang=en"&gt;Administration Toolkit for SharePoint 2010 (SPAT2010)&lt;/a&gt;.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;One part of this toolkit is a great new &lt;a href="http://technet.microsoft.com/en-us/library/ff823731.aspx"&gt;load testing kit&lt;/a&gt; for 2010. &lt;/p&gt;  &lt;p&gt;The toolkit was initially developed by the SharePoint product team’s perf testing team, and then made available publicly.&lt;/p&gt;  &lt;p&gt;SharePoint is a real challenge to do performance testing against (or any test automation for that matter), since both field names and values contain GUIDs. Large SharePoint deployments can contain 1000s of SharePoint sites, so how can you effectively test this? If you only hit the same site over and over it could have a very different performance characteristic than if you spread load across all the sites. And typically some sites are much busier and more popular than other sites.&lt;/p&gt;  &lt;p&gt;The load test toolkit handles both of these problems really well. It is particularly targeted initially at migrating a site from 2007 to 2010, and does a great job by reading the IIS log to get site distribution, and by then dynamically determining during a load test which sites to hit. For example, if the load test is testing actions against a document library, a web test plugin will go to the SharePoint site to dynamically select an appropriate document library to target, and then cache the url to the library on the load client. This is a brilliant way to solve both the distribution and parameterization problems. Hats off to Demetrious and Kfir on the SharePoint team for developing the solution, and James and Doron for making it available to customers.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10047376" width="1" height="1"&gt;</description></item><item><title>Visual Studio Performance Testing Quick Reference Guide (Version 2.0) Published</title><link>http://blogs.msdn.com/b/edglas/archive/2010/04/13/visual-studio-performance-testing-quick-reference-guide-version-2-0-published.aspx</link><pubDate>Tue, 13 Apr 2010 02:09:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9994808</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9994808</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/04/13/visual-studio-performance-testing-quick-reference-guide-version-2-0-published.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://vsptqrg.codeplex.com/"&gt;Version 2 of the Quick Reference Guide&lt;/a&gt; has now been published. This guide is chock-full of information gathered through real experience with the product. This new version contains &lt;strong&gt;97 new or updated articles&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Special thanks to &lt;a href="http://blogs.msdn.com/geoffgr/"&gt;Geoff Gray&lt;/a&gt; for once again spearheading this effort. Geoff is one of a handful of elite VS load test practitioners. As he encounter unexpected behavior or bugs in the product, or gets undocumented information on the internals or edge cases, he captures the info for the quick reference guide. &lt;/p&gt;  &lt;p&gt;Here is a screen shot of some of the really nice artwork in the guide:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/VisualStudioPerformanceTestin.0Published_12F70/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/VisualStudioPerformanceTestin.0Published_12F70/image_thumb.png" width="590" height="690" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is a list of topics in the guide (the numbers after each article is the page number):&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NOTE FROM THE AUTHOR      &lt;br /&gt;HOW IT WORKS       &lt;br /&gt;&lt;/strong&gt;How Web Tests Handle HTTP Headers 9    &lt;br /&gt;General Info (including order of execution) of load and web test plugins and rules 9    &lt;br /&gt;Client Code does not execute because Web Tests Work at the HTTP Layer 12    &lt;br /&gt;File Downloads, Download Size and Storage of files during Web Tests 12    &lt;br /&gt;When is the “Run unit tests in application domain” needed? 12    &lt;br /&gt;How the “Test Iterations” Setting impacts the total number of tests executed 12    &lt;br /&gt;Test timeout setting for load test configuration does not affect web tests 13    &lt;br /&gt;How user pacing and “Think Time Between Test Iterations” work 13    &lt;br /&gt;Load test warmup and cool down behaviors 13    &lt;br /&gt;What is the difference between Unique, Sequential and Random Data Sources 14    &lt;br /&gt;Comparing new users to return users 14    &lt;br /&gt;Goal based user behavior after the test finishes the warmup period 17    &lt;br /&gt;Threading models in Unit tests under load 18    &lt;br /&gt;Simulation of Browser Caching during load tests 19    &lt;br /&gt;The difference between Load Test Errors and Error Details 20    &lt;br /&gt;How parameterization of HIDDEN Fields works in a webtest 21    &lt;br /&gt;Testing execution order in Unit Tests 23    &lt;br /&gt;How machines in the test rig communicate 25    &lt;br /&gt;Changing the Default Port for Agent-Controller Communication 26    &lt;br /&gt;How to Add Agents To A Test Rig 26    &lt;br /&gt;&lt;strong&gt;ITEMS NEW TO VS 2010      &lt;br /&gt;&lt;/strong&gt;“Find” feature now available in Webtest playback UI 27    &lt;br /&gt;“Go To Web Test” feature now available in Webtest playback UI 28    &lt;br /&gt;Recorder Log Available 29    &lt;br /&gt;Add extraction rule directly from the playback UI 30    &lt;br /&gt;New “Reporting Name” property for web requests 31    &lt;br /&gt;LoadTestResultsTables now differentiate between GET and POST requests 32    &lt;br /&gt;Virtual user visualization now available 33    &lt;br /&gt;New Excel reporting features built into load test results 39    &lt;br /&gt;New Load Test and Load Test Rig Licensing and configurations 40    &lt;br /&gt;New test mix: “Sequential Test Mix” 44    &lt;br /&gt;Query String and FORM POST URLs get parameterized 46    &lt;br /&gt;New options on Load Test Scenarios 47    &lt;br /&gt;Loops and Conditionals 48    &lt;br /&gt;&lt;strong&gt;CONFIGURATIONS AND SETTINGS      &lt;br /&gt;&lt;/strong&gt;How to Change the Location Where Agents Store Run Files 50    &lt;br /&gt;How to set a proxy server for web tests 50    &lt;br /&gt;How to configure Web Tests so Fiddler can capture playback info 50    &lt;br /&gt;Controlling the amount of memory that the SQL Server Results machine consumes 51    &lt;br /&gt;How to configure the timeouts for deployment of load tests to agents 51    &lt;br /&gt;How to set the number of Load Test Errors and Error Details saved 52    &lt;br /&gt;Multi-proc boxes used as agents should have .NET garbage collection set to server mode 53    &lt;br /&gt;Location of list of all agents available to a controller 53    &lt;br /&gt;&lt;strong&gt;NETWORKS, IP SWITCHING, TEST STARTUPS      &lt;br /&gt;&lt;/strong&gt;IP Address Switching anatomy (how it works) 54    &lt;br /&gt;Gotcha: IP Address Switching is ONLY for WEB TESTS 54    &lt;br /&gt;Gotcha: IP Addresses used for switching are not permanent 54    &lt;br /&gt;How to Setup IP Switching 55    &lt;br /&gt;Troubleshooting invalid view state and failed event validation 58    &lt;br /&gt;Startup: Slowness Restarting a Test Rig with Agents Marked as “Offline” 58    &lt;br /&gt;Startup: Multiple Network Cards can cause tests in a rig to not start 59    &lt;br /&gt;Startup: Slow startup can be caused by _NT_SYMBOL_PATH environment variable 59    &lt;br /&gt;Startup: tests on a Rig with Agents on a Slow Link 60    &lt;br /&gt;“Not Bound” Exception when using IP Switching is not really an error 60    &lt;br /&gt;How to configure the timeout for deployment of load tests to agents 61    &lt;br /&gt;&lt;strong&gt;PERFORMANCE COUNTERS AND DATA      &lt;br /&gt;&lt;/strong&gt;Customizing the Available Microsoft System Monitor counter sets 62    &lt;br /&gt;Performance Counter Considerations on Rigs with slow links 64    &lt;br /&gt;Increase the performance counter sampling interval for longer tests 65    &lt;br /&gt;Changing the default counters shown in the graphs during testing 65    &lt;br /&gt;Possible method for fixing “missing perfmon counters” issues 65    &lt;br /&gt;How and where Performance data gets collected 66    &lt;br /&gt;&lt;strong&gt;DATA AND RESULTS      &lt;br /&gt;&lt;/strong&gt;Custom Data Binding in UNIT Tests 67    &lt;br /&gt;Verifying saved results when a test hangs in the “In Progress” state after the test has finished 67    &lt;br /&gt;The metrics during and after a test differ from the results seen. 68    &lt;br /&gt;How new users and return users affect caching numbers 69    &lt;br /&gt;data sources for data driven tests get read only once 70    &lt;br /&gt;Consider including Timing Details to collect percentile data 71    &lt;br /&gt;Consider enabling SQL Tracing through the Load Test instead of separately 72    &lt;br /&gt;How to collect SQL counters from a non-default SQL instance 72    &lt;br /&gt;How 90% and 95% response times are calculated 72    &lt;br /&gt;Transaction Avg. Response Time vs. Request Avg. Response Time 73    &lt;br /&gt;Considerations for the location of the Load Test Results Store 73    &lt;br /&gt;Set the recovery model for the database to simple 73    &lt;br /&gt;How to clean up results data from runs that did not complete 74    &lt;br /&gt;InstanceName field in results database are appended with (002), (003), etc. 74    &lt;br /&gt;Layout for VSTS Load Test Results Store 74    &lt;br /&gt;How to view Test Results from the GUI 75    &lt;br /&gt;SQL Server Reporting Services Reports available for download 75    &lt;br /&gt;How to move results data to another system 75    &lt;br /&gt;Load Test Results without SQL NOT stored 76    &lt;br /&gt;Web Test TRX file and the NAN (Not a Number) Page Time entry 77    &lt;br /&gt;Proper understanding of TRX files and Test Results directory 78    &lt;br /&gt;Understanding the Response Size reported in web test runs 79    &lt;br /&gt;&lt;strong&gt;ERRORS AND KNOWN ISSUES&lt;/strong&gt; 80    &lt;br /&gt;CSV files created in VSTS or saved as Unicode will not work as data sources 80    &lt;br /&gt;Incorrect SQL field type can cause errors in web tests 80    &lt;br /&gt;Leading zeroes dropped from datasource values bound to a CSV file 80    &lt;br /&gt;Recorded Think Times and paused web test recordings 80    &lt;br /&gt;After opening a webtest with the VS XML Editor, it will not open in declarative mode. 81    &lt;br /&gt;Calls to &lt;a href="HTTPS://Urs.Microsoft.Com"&gt;HTTPS://Urs.Microsoft.Com&lt;/a&gt; show up in your script 81    &lt;br /&gt;Possible DESKTOP HEAP errors when driving command line unit tests 81    &lt;br /&gt;Goal based load tests in VSTS 2008 do not work after applying SP1 82    &lt;br /&gt;Using Named Transactions in a Goal-Based Load Profile can cause errors 82    &lt;br /&gt;Debugging Errors in Load Tests 83    &lt;br /&gt;Debugging OutOfMemory Exceptions in Load Tests 83    &lt;br /&gt;Memory leak on load test when using HTTPS 83    &lt;br /&gt;“Not Trusted” error when starting a load test 84    &lt;br /&gt;Detail Logging may cause “Out of disk space” error 85    &lt;br /&gt;Error details and stack traces no longer available in VSTS 2010 85    &lt;br /&gt;VSTS does not appear to be using more than one processor 85    &lt;br /&gt;Changes made to Web Test Plugins may not show up properly 85    &lt;br /&gt;Socket errors or “Service Unavailable” errors when running a load test 86    &lt;br /&gt;Error “Failed to load results from the load test results store” 87    &lt;br /&gt;Hidden Field extraction rules do not handle some fields 87    &lt;br /&gt;Test results iteration count may be higher than the max test iterations set 87    &lt;br /&gt;In flight test iterations may not get reported 88    &lt;br /&gt;Completion of Unit Test causes spawned CMD processes to terminate 88    &lt;br /&gt;Bug with LoadProfile.Copy() method when used in custom goal based load tests 89    &lt;br /&gt;Errors in dependent requests in a Load Test do not show up in the details test log 90    &lt;br /&gt;WCF service load test gets time-outs after 10 requests 92    &lt;br /&gt;Loadtestitemresults.dat size runs into GBs 92    &lt;br /&gt;&lt;strong&gt;TROUBLESHOOTING &lt;/strong&gt;    &lt;br /&gt;How to enable logging for test recording 93    &lt;br /&gt;Diagnosing and fixing Web Test recorder bar issues 93    &lt;br /&gt;User Account requirements and how to troubleshoot authentication 94    &lt;br /&gt;How to enable Verbose Logging on an agent for troubleshooting 95    &lt;br /&gt;Error that Browser Extensions are disabled when recording a web test 95    &lt;br /&gt;Troubleshooting invalid view state and failed event validation 96    &lt;br /&gt;Troubleshooting the VSTS Load Testing IP Switching Feature 97    &lt;br /&gt;Troubleshooting Guide for Visual Studio Test Controller and Agent 99    &lt;br /&gt;&lt;strong&gt;HOW TO, GOTCHAS AND BEST PRACTICES &lt;/strong&gt;    &lt;br /&gt;How to call one coded web test from another 111    &lt;br /&gt;How to use methods other than GET and POST in a web test 111    &lt;br /&gt;How to filter out certain dependent requests 111    &lt;br /&gt;How to handle ASP.NET Cookie-less Sessions 112    &lt;br /&gt;How to use Client-side certificates in web tests 112    &lt;br /&gt;How to remove the “If-Modified-Since” header from dependent requests 113    &lt;br /&gt;How to handle custom data binding in web tests 113    &lt;br /&gt;How to add a datasource value to a context parameter 113    &lt;br /&gt;How to test Web Services with Unit Tests 114    &lt;br /&gt;How to add random users to web tests 114    &lt;br /&gt;How to add think time to a Unit Test 114    &lt;br /&gt;How to add details of a validation rule to your web test 115    &lt;br /&gt;How to mask a 404 error on a dependent request 116    &lt;br /&gt;How to parameterize Web Service calls within Web Tests 117    &lt;br /&gt;How to pass Load Test Context Parameters to Unit Tests 117    &lt;br /&gt;How to create Global Variables in a Unit Test 117    &lt;br /&gt;How to use Unit Tests to Drive Load with Command Line Apps 118    &lt;br /&gt;How to add Console Output to the results store when running Unit tests under load 118    &lt;br /&gt;How to add parameters to Load Tests 119    &lt;br /&gt;How to Change the Standard Deviation for a NormalDistribution ThinkTime 119    &lt;br /&gt;How to programmatically access the number of users in Load Tests 120    &lt;br /&gt;How to create a webtest plugin that will only execute on a predefined interval 120    &lt;br /&gt;How to support Context Parameters in a plug-in property 121    &lt;br /&gt;How to stop a web test in the middle of execution 122    &lt;br /&gt;How To: Modify the ServicePointManager to force SSLv3 instead of TLS (Default) 122    &lt;br /&gt;How To: Stop a Test in the PreRequest event 123    &lt;br /&gt;How to make a validation rule force a redirection to a new page 123    &lt;br /&gt;How to add a Web Service reference in a test project 127    &lt;br /&gt;How to remotely count connections to a process 129    &lt;br /&gt;How to hook into LoadTest database upon completion of a load test 129    &lt;br /&gt;How to deploy DLLs with MSTEST.EXE 130    &lt;br /&gt;How to authenticate with proxy before the test iteration begins 131    &lt;br /&gt;How to enumerate WebTextContext and Unit TestContext objects 132    &lt;br /&gt;How to manually move the data cursor 132    &lt;br /&gt;How to programmatically create a declarative web test 133    &lt;br /&gt;How to modify the string body programmatically in a declarative web test 134    &lt;br /&gt;Gotcha: Check Your Validation Level in the Load Test Run Settings 134    &lt;br /&gt;Gotcha: Do not adjust goals too quickly in your code 134    &lt;br /&gt;Gotcha: Response body capture limit is set to 1.5 MB by default 134    &lt;br /&gt;Gotcha: Caching of dependent requests is disabled when playing back Web Tests 135    &lt;br /&gt;Best Practice: Blog on various considerations for web tests running under load 135    &lt;br /&gt;Best Practice: Coded web tests and web test plug-ins should not block threads 135    &lt;br /&gt;Best Practice: considerations when creating a dynamic goal based load test plugin: 136    &lt;br /&gt;Best Practice: Add an Analysis Comment 136    &lt;br /&gt;Best Practice – Using comments in declarative webtests 136    &lt;br /&gt;&lt;strong&gt;EXTENSIBILITY &lt;/strong&gt;    &lt;br /&gt;New Inner-text and Select-tag rules published on Codeplex 138    &lt;br /&gt;&lt;strong&gt;ITEMS NOT SPECIFIC TO THE VSTS TESTING PLATFORM &lt;/strong&gt;    &lt;br /&gt;Using the VSTS Application Profiler 146    &lt;br /&gt;VSTS 2008 Application Profiler New Features 146    &lt;br /&gt;Using System.NET Tracing to debug Network issues 146    &lt;br /&gt;Logparser tips and tricks 147    &lt;br /&gt;Logparser WEB Queries 147    &lt;br /&gt;LogParser Non-Web Queries 148    &lt;br /&gt;&lt;strong&gt;OLDER ARTICLES &lt;/strong&gt;    &lt;br /&gt;Content-Length header not available in Web Request Object 149    &lt;br /&gt;SharePoint file upload test may post the file twice 149    &lt;br /&gt;Some Hidden Fields are not parameterized within AJAX calls 149    &lt;br /&gt;(FIX) Unit Test threading models and changing them 149    &lt;br /&gt;Bug in VSTS 2008 SP1 causes think time for redirected requests to be ignored in a load test 150    &lt;br /&gt;New Load Test Plugin Enhancements in VSTS 2008 SP1 150    &lt;br /&gt;Four New Methods added to the WebTestPlugin Class for 2008 SP1 150    &lt;br /&gt;&lt;strong&gt;INDEX &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9994808" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Guidance/">Guidance</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Updated Load Test Links for April 2010</title><link>http://blogs.msdn.com/b/edglas/archive/2010/04/13/updated-load-test-links-for-april-2010.aspx</link><pubDate>Tue, 13 Apr 2010 01:15:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9994785</guid><dc:creator>Ed Glas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9994785</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/04/13/updated-load-test-links-for-april-2010.aspx#comments</comments><description>&lt;p&gt;I’ve updated my &lt;a href="http://blogs.msdn.com/edglas/pages/content-index-for-web-tests-and-load-tests.aspx"&gt;Content Index for Web Tests and Load Tests&lt;/a&gt;, which is a list of links to load test content. I added a bunch of links on what’s new in VS 2010, as well as a few additional links:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/05/application-benchmark-toolkit-for-microsoft-dynamics-ax.aspx"&gt;Dynamics AX Performance and Load Testing: Application Benchmark Toolkit&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/02/16/parameterizing-tests-to-run-in-different-environments.aspx"&gt;Parameterizing Tests to Run in Different Environments&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2010/04/02/load-test-plug-in-simulate-peak-load-modeling.aspx"&gt;Load Test Plug-in – Simulate Repeated Peak Load Modeling&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://vsptqrg.codeplex.com/"&gt;Visual Studio Performance Testing Quick Reference Guide (Version 2.0)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I also moved some posts that are specific to VS 2008 into their own section.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9994785" width="1" height="1"&gt;</description></item><item><title>Great New Documentation for Performance Testing Now Online</title><link>http://blogs.msdn.com/b/edglas/archive/2010/04/12/great-new-documentation-for-performance-testing-now-online.aspx</link><pubDate>Mon, 12 Apr 2010 19:59:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9994641</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9994641</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/04/12/great-new-documentation-for-performance-testing-now-online.aspx#comments</comments><description>&lt;p&gt;I am very excited about the new level of documentation we have in this release.&lt;/p&gt;  &lt;p&gt;Howie Hilliker has done a fantastic job enhancing our documentation. We actually have screen shots and artwork in the docs now! Also thanks to the load test product team for reviewing the content.&lt;/p&gt;  &lt;p&gt;The documentation has been completely reorganized, with performance testing topics under the &lt;a href="http://msdn.microsoft.com/en-us/library/dd293540(v=VS.100).aspx"&gt;Testing Application Performance and Stress &lt;/a&gt;topic.&lt;/p&gt;  &lt;p&gt;For example, check out these topics:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff460245(v=VS.100).aspx"&gt;Walkthrough: Correlating Dynamic Parameters&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404677(v=VS.100).aspx"&gt;Load Test Analyzer Overview&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400223(VS.100).aspx"&gt;Walkthrough: Using a Test Controller and Test Agents in a Load Test&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We also have walkthroughs on creating plugins, which is very helpful.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923683(v=VS.100).aspx"&gt;Creating and Using Custom Plug-ins for Load and Web Performance Tests&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s a blowout of the table of contents. It is definitely worthwhile to scan through this list to familiarize yourself with what is there.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd293540(VS.100).aspx"&gt;Testing Application Performance and Stress&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400219(VS.100).aspx"&gt;What's New for Web Performance and Load Testing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923685(VS.100).aspx"&gt;Getting Started with Load and Web Performance Test Walkthroughs&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa337591(VS.100).aspx"&gt;Web Performance Test Walkthroughs&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243156(VS.100).aspx"&gt;Walkthrough: Creating a Simple Web Application&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182551(VS.100).aspx"&gt;Walkthrough: Recording and Running a Web Performance Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243183(VS.100).aspx"&gt;Walkthrough: Adding Validation and Extraction Rules to a Web Performance Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243142(VS.100).aspx"&gt;Walkthrough: Adding Data Binding to a Web Performance Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385833(VS.100).aspx"&gt;Walkthrough: Adding Data Binding to a Web Performance Test (CSV File)&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385970(VS.100).aspx"&gt;Walkthrough: Adding Data Binding to a Web Performance Test (XML File)&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182552(VS.100).aspx"&gt;Walkthrough: Creating a Coded Web Performance Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385897(VS.100).aspx"&gt;Walkthrough: Creating a Web Performance Test that Requires a Login and Logout&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406963(VS.100).aspx"&gt;Load Test Walkthroughs&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182594(VS.100).aspx"&gt;Walkthrough: Creating and Running a Load Test Containing Web Performance Tests&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff355993(VS.100).aspx"&gt;Walkthrough: Creating and Running a Load Test Containing Unit Tests&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923687(VS.100).aspx"&gt;Creating and Editing Load and Web Performance Tests&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd728098(VS.100).aspx"&gt;Creating and Editing Load Tests&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406964(VS.100).aspx"&gt;Creating Load Tests Using the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182572(VS.100).aspx"&gt;How to: Create a New Load Test Using the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182573(VS.100).aspx"&gt;How to: Create a Scenario Used to Model User Activities, Tests, Browsers and Networks Using the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182574(VS.100).aspx"&gt;How to: Create a Load Pattern in the Load New Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406972(VS.100).aspx"&gt;How to: Create a Text Mix Model in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182576(VS.100).aspx"&gt;How to: Create a Test Mix in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182578(VS.100).aspx"&gt;How to: Create a Network Mix in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182577(VS.100).aspx"&gt;How to: Create a Browser Mix in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182579(VS.100).aspx"&gt;How to: Create Counter Sets in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182580(VS.100).aspx"&gt;How to: Create Run Settings in the New Load Test Wizard&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406975(VS.100).aspx"&gt;Editing Load Test Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997834(VS.100).aspx"&gt;Editing Load Test Scenarios Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406966(VS.100).aspx"&gt;Load Test Scenario Properties&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400226(VS.100).aspx"&gt;Creating Additional Scenarios for an Existing Load Test&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184803(VS.100).aspx"&gt;How to: Insert Additional Scenarios to an Existing Load Test&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997697(VS.100).aspx"&gt;Editing Think Times to Simulate Web Site Human Interaction Delays in Load Tests Scenarios&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243173(VS.100).aspx"&gt;How to: Change the Think Profile&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997551(VS.100).aspx"&gt;Editing Load Patterns to Model Virtual User Activities&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182586(VS.100).aspx"&gt;How to: Change the Load Pattern&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406980(VS.100).aspx"&gt;How to: Specify the Percentage of Virtual Users that Use Web Cache Data&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff423845(VS.100).aspx"&gt;How to: Specify the Step Ramp Time Property for a Step Load Pattern&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997826(VS.100).aspx"&gt;Editing Text Mix Models to Specify the Probability of a Virtual User Running a Test&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb514186(VS.100).aspx"&gt;Emulating Expected Real-World Usage of a Web Site or Application in a Load Test Using a Test Mix Models&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406977(VS.100).aspx"&gt;How to: Edit the Text Mix Model Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406974(VS.100).aspx"&gt;How to: Apply Distribution to Pacing Delay When Using a User Pace Test Mix Model&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400218(VS.100).aspx"&gt;Editing the Test Mix to Specify Which Web Performance, Unit and Coded UI Tests to Include in a Load Test Scenario&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318554(VS.100).aspx"&gt;How to: Add Web Performance, Unit and Coded UI Tests to a Load Test Scenario Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318551(VS.100).aspx"&gt;How to: Remove Web Performance Tests, Unit and Coded UI Tests from a Load Test Scenario Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997557(VS.100).aspx"&gt;Specifying Virtual Network Types in a Load Test Scenario&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318553(VS.100).aspx"&gt;How to: Add Networks Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318558(VS.100).aspx"&gt;How to: Remove Networks Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997561(VS.100).aspx"&gt;Specifying Web Browsers Types in a Load Test Scenario&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318557(VS.100).aspx"&gt;How to: Add Web Browsers Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318552(VS.100).aspx"&gt;How to: Remove Browsers Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406973(VS.100).aspx"&gt;Configuring Test Iterations in a Load Test Scenario&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361775(VS.100).aspx"&gt;How to: Specify the Maximum Test Iterations for a Scenario Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406968(VS.100).aspx"&gt;How to: Specify the Think Times Between Test Iterations for a Scenario Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406965(VS.100).aspx"&gt;Configuring Scenario Start Delays&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361773(VS.100).aspx"&gt;How to: Delay the Start Time of a Scenario Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406979(VS.100).aspx"&gt;How to: Enable or Disable Whether a Scenario Runs During the Warm-Up Period&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361778(VS.100).aspx"&gt;How to: Specify Test Agents to Use in Load Test Scenarios&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243157(VS.100).aspx"&gt;About the Mix Control for Load Tests&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404695(VS.100).aspx"&gt;Specifying the Counter Sets for Computers in a Load Test&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404676(VS.100).aspx"&gt;How to: Manage Counter Sets Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404704(VS.100).aspx"&gt;How to: Add Counters to Counter Sets Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404668(VS.100).aspx"&gt;How to: Add Custom Counter Sets Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404675(VS.100).aspx"&gt;About Threshold Rules in Load Tests&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404665(VS.100).aspx"&gt;How to: Add a Threshold Rule Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff460129(VS.100).aspx"&gt;How to: Add Computer Tags to Counter Set Mappings Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997552(VS.100).aspx"&gt;Configuring Load Test Run Settings&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff354419(VS.100).aspx"&gt;How to: Add Additional Run Settings to a Load Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406978(VS.100).aspx"&gt;How to: Select the Active Run Setting for a Load Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426021(VS.100).aspx"&gt;How to: Select a Load Test Run Setting to Use from the Command-Line&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406976(VS.100).aspx"&gt;Load Test Run Setting Properties&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184778(VS.100).aspx"&gt;How to: Modify the Run Settings Properties in a Load Test Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406967(VS.100).aspx"&gt;How to: Specify the Number of Test Iterations in a Load Test Run Setting&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff423846(VS.100).aspx"&gt;How to: Specify the Sample Rate for a Load Test Run Setting&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff423848(VS.100).aspx"&gt;How to: Specify the Timing Details Storage Property for a Load Test Run Setting&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406971(VS.100).aspx"&gt;How to: Add Context Parameters to a Load Test Run Setting&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400225(VS.100).aspx"&gt;Modifying Load Test Logging Settings&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361776(VS.100).aspx"&gt;How to: Specify How Frequently Test Logs are Saved Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;              &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361774(VS.100).aspx"&gt;How to: Specify if Test Failures are Saved to Test Logs Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997700(VS.100).aspx"&gt;Collecting SQL Trace Data to Monitor and Improve Performance in Load Tests&lt;/a&gt;&lt;/li&gt;            &lt;ul&gt;             &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182589(VS.100).aspx"&gt;How to: Integrate SQL Trace Data Using the Load Test Editor&lt;/a&gt;&lt;/li&gt;           &lt;/ul&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff432832(VS.100).aspx"&gt;How to: Start a Performance Session on a Web Application from the Load Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406970(VS.100).aspx"&gt;How to: Specify 64-Bit Process Using Test Settings&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404664(VS.100).aspx"&gt;Considerations for Load Tests&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff468125(VS.100).aspx"&gt;Using Coded UI Tests in Load Tests&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd728096(VS.100).aspx"&gt;Creating and Editing Web Performance Tests&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff520100(VS.100).aspx"&gt;Web Performance Test Engine Overview&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff431166(VS.100).aspx"&gt;Creating Web Performance Tests Using the Web Performance Test Recorder&lt;/a&gt;&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182539(VS.100).aspx"&gt;How to: Create a New Web Performance Test Using the Web Performance Test Recorder&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff452787(VS.100).aspx"&gt;How to: Add a Comment to a Web Performance Test in the Web Performance Test Recorder&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997549(VS.100).aspx"&gt;Customizing Web Performance Test Recordings Using Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243144(VS.100).aspx"&gt;Web Performance Test Editor Overview&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb514183(VS.100).aspx"&gt;Setting Web Performance Test Properties Using the Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182543(VS.100).aspx"&gt;How to: Edit an Existing Web Performance Test Using the Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406969(VS.100).aspx"&gt;How to: Add a Web Recording to an Existing Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182550(VS.100).aspx"&gt;How to: Create a Coded Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404709(VS.100).aspx"&gt;How to: Add Comments in the Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997829(VS.100).aspx"&gt;How to: Use Reporting Names to Easily Identify Requests in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182540(VS.100).aspx"&gt;How to: Set Think Times to Simulate Human Pausing in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404691(VS.100).aspx"&gt;How to: Set Page Response Time Goals in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356201(VS.100).aspx"&gt;How to: Set Request Details in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404707(VS.100).aspx"&gt;Binding a Data Source to a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385896(VS.100).aspx"&gt;How to: Add a Database Data Source to a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385975(VS.100).aspx"&gt;How to: Add an XML File Data Source to a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385971(VS.100).aspx"&gt;How to: Add a CSV File Data Source to a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404679(VS.100).aspx"&gt;How to: Add a Schema Definition to a Text File Data Source for a Web performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182546(VS.100).aspx"&gt;How to: Add Data Binding to a Web Request&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385837(VS.100).aspx"&gt;How to: Add Data Binding to a Web Service Request&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385844(VS.100).aspx"&gt;How to: Configure Data Binding Access Iterations in a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404669(VS.100).aspx"&gt;How to: Bind a Web Performance Test to a Text File&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385904(VS.100).aspx"&gt;Using Validation and Extraction Rules in Web Performance Tests&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182544(VS.100).aspx"&gt;How to: Add a Validation Rule to a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182545(VS.100).aspx"&gt;How to: Add an Extraction Rule to a Web Performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182556(VS.100).aspx"&gt;How to: Create a Custom Validation Rule for a Web performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243179(VS.100).aspx"&gt;How to: Create a Custom Extraction Rule for a Web performance Test&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb514185(VS.100).aspx"&gt;How to: Create a Test-level Validation Rule for a Web performance Test&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997818(VS.100).aspx"&gt;Adding Loop and Branch Logic to Web Requests in Web Performance Tests&lt;/a&gt;&lt;/li&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997553(VS.100).aspx"&gt;How to: Add Loops to Web Performance Tests Requests&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997550(VS.100).aspx"&gt;How to: Add &amp;quot;If Then&amp;quot; Branch Conditions to Web Performance Tests Requests&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182547(VS.100).aspx"&gt;How to: Add a Transaction to a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385969(VS.100).aspx"&gt;How to: Insert a Call in a Web Performance Test to Another Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182548(VS.100).aspx"&gt;How to: Set Credentials on a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184806(VS.100).aspx"&gt;How to: Parameterize the URL for a Web Performance Tests Web Server&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356199(VS.100).aspx"&gt;How to: Promote Dynamic Parameters to Web Performance Test Parameters&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356197(VS.100).aspx"&gt;How to: Use Find and Replace in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff357728(VS.100).aspx"&gt;How to: Use Context Parameters in a Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356203(VS.100).aspx"&gt;How to: Start a Performance Session on a Web Application from the Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385834(VS.100).aspx"&gt;How to: Extract Requests in a Web Performance Test to Create a New Web Performance Test&lt;/a&gt;&lt;/li&gt;          &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400220(VS.100).aspx"&gt;How to: Specify a Proxy Server for a Web Performance Test&lt;/a&gt;&lt;/li&gt;       &lt;/ul&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356200(VS.100).aspx"&gt;How to: Configure Visual Studio Ultimate Options for Web Performance Tests&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923688(VS.100).aspx"&gt;Running Load and Web Performance Tests&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184776(VS.100).aspx"&gt;Running Load Tests&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182590(VS.100).aspx"&gt;How to: Run a Load Test&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184802(VS.100).aspx"&gt;How to: Run a Load Test Using Test Controllers and Test Agents Specified in a Test Setting&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182588(VS.100).aspx"&gt;How to: Run a Load Test from the Command Line&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff423844(VS.100).aspx"&gt;How to: Add a Comment to a Running Load Test Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd728093(VS.100).aspx"&gt;Distributing Load Tests Across Multiple Test Machines Using Test Controllers and Test Agents&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243155(VS.100).aspx"&gt;Configuring Test Controllers and Test Agents for Load Testing&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426120(VS.100).aspx"&gt;How to: Add Virtual User License Keys for Load Testing&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426121(VS.100).aspx"&gt;How to: Add Virtual User License Keys for Load Testing Using the Command-Line&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426235(VS.100).aspx"&gt;How to: Create a Test Setting for a Distributed Load Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400223(VS.100).aspx"&gt;Walkthrough: Using a Test Controller and Test Agents in a Load Test&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd692842(VS.100).aspx"&gt;Strategies for Troubleshooting Test Controllers and Test Agents in Load Tests&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243167(VS.100).aspx"&gt;Running Web Performance Tests&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182541(VS.100).aspx"&gt;How to: Run a Web Performance Test&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243189(VS.100).aspx"&gt;How to: Change the Web Performance Test Run Settings in the Web Performance Result Viewer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243149(VS.100).aspx"&gt;How to: Run a Web Performance Test from the Command Line&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923686(VS.100).aspx"&gt;Analyzing Load Tests Results Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404677(VS.100).aspx"&gt;Load Test Analyzer Overview&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404698(VS.100).aspx"&gt;How to: Access Load Test Results for Analysis&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385841(VS.100).aspx"&gt;Load Test Results Summary Overview&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff425487(VS.100).aspx"&gt;How to: Add Comments While Analyzing a Completed Load Test Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff425473(VS.100).aspx"&gt;How to: View Data and Diagnostic Attachments Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404694(VS.100).aspx"&gt;Analyzing Threshold Rule Violations in Load Tests Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404705(VS.100).aspx"&gt;How to: View Web Page Response Time in a Load Test Using the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184782(VS.100).aspx"&gt;Analyzing Load Test Results in the Graphs View of the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426918(VS.100).aspx"&gt;Using the Graphs View Legend to Analyze Load Tests&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385898(VS.100).aspx"&gt;How to: Add and Delete Counters on Graphs in Load Test Results&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms184784(VS.100).aspx"&gt;How to: Zoom in on a Region of the Graph in Load Test Results&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385839(VS.100).aspx"&gt;How to: Tile Graphs in Load Test Results&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426919(VS.100).aspx"&gt;How to: Specify Plot Options for Graphing Counters&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385836(VS.100).aspx"&gt;How to: Create Custom Graphs in Load Test Results&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff425472(VS.100).aspx"&gt;How to: Export Graph View Data to Microsoft Excel&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404656(VS.100).aspx"&gt;Analyzing Load Test Results in the Tables View of the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385905(VS.100).aspx"&gt;How to: Tile Load Test Tables&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404697(VS.100).aspx"&gt;Analyzing Errors in Load Tests Using the Errors Table&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404658(VS.100).aspx"&gt;How to: View SQL Trace Data in Load Tests Using the SQL Trace Table&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426922(VS.100).aspx"&gt;Using the Counters Panel in Graphs View and Tables View&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426917(VS.100).aspx"&gt;How to: Analyze Threshold Violations Using the Counters Panel in Load Test Analyzer&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff426920(VS.100).aspx"&gt;How to: Analyze Errors Using the Counters Panel&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff183349(VS.100).aspx"&gt;Analyzing Load Test Virtual User Activity in the Details View of the Load Test Analyzer&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff183356(VS.100).aspx"&gt;How to: Configure Load Tests to Collect Full Details to Enable Virtual User Activity in Test Results&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff183350(VS.100).aspx"&gt;How to: Analyze What Virtual Users Are Doing During a Load Test Using the Virtual User Activity Chart&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997816(VS.100).aspx"&gt;Walkthrough: Using the Virtual User Activity Chart to Isolate Issues&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff425469(VS.100).aspx"&gt;Examining Results Using the Web Performance Test Results Viewer&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997556(VS.100).aspx"&gt;Web Performance Test Results Viewer Overview&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997693(VS.100).aspx"&gt;Resolving Web Performance Test Result Viewer Playback Issues in Web Performance Tests&lt;/a&gt;&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997704(VS.100).aspx"&gt;How to: Use Quick Find to Isolate Dynamic Parameters in Web Performance Test Playback&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997701(VS.100).aspx"&gt;How to: View Recording Log in Web Performance Test Playback&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997695(VS.100).aspx"&gt;How to: Jump to Web Request from the Web Performance Test Playback&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997562(VS.100).aspx"&gt;How to: Add an Extraction Rule from the Web Performance Test Playback&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee317494(VS.100).aspx"&gt;How to: Resolve Web Performance Test Playback Issues Caused by Dynamic Parameters&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff460245(VS.100).aspx"&gt;Walkthrough: Correlating Dynamic Parameters&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318550(VS.100).aspx"&gt;Managing Load Test Results in the Load Test Results Repository&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182600(VS.100).aspx"&gt;How to: Create a Load Test Results Repository Using SQL&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243400(VS.100).aspx"&gt;How to: Select a Load Test Results Repository&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385968(VS.100).aspx"&gt;How to: Delete Load Test Results from a Repository&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385900(VS.100).aspx"&gt;How to: Import Load Test Results into a Repository&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb385895(VS.100).aspx"&gt;How to: Export load Test Results from a Repository&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd728091(VS.100).aspx"&gt;Reporting Load Tests Results for Test Comparisons or Trend Analysis&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997707(VS.100).aspx"&gt;How to: Create Load Test Performance Reports Using Microsoft Excel&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923683(VS.100).aspx"&gt;Creating and Using Custom Plug-ins for Load and Web Performance Tests&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182605(VS.100).aspx"&gt;How to: Use the Load Test API&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243153(VS.100).aspx"&gt;How to: Create a Load Test Plug-In&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182558(VS.100).aspx"&gt;How to: Use the Web Performance Test API&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms243191(VS.100).aspx"&gt;How to: Create a Web Performance Test Plug-In&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb514192(VS.100).aspx"&gt;How to: Create a Request-Level Plug-In&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms182557(VS.100).aspx"&gt;How to: Create a Web Service Test&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400224(VS.100).aspx"&gt;How to: Create a Recorder Plug-In&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff458708(VS.100).aspx"&gt;How to: Create a Custom HTTP Body Editor for the Web Performance Test Editor&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff458704(VS.100).aspx"&gt;How to: Create a Visual Studio Add-In for the Web Performance Test Results Viewer&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923684(VS.100).aspx"&gt;Troubleshooting Load and Web Performance Tests&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404661(VS.100).aspx"&gt;Troubleshooting Load Tests&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms318556(VS.100).aspx"&gt;Troubleshooting Web Performance Tests&lt;/a&gt;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms404678(VS.100).aspx"&gt;About JavaScript and ActiveX Controls in Web Performance Tests&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9994641" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>VS 2010 Ships!</title><link>http://blogs.msdn.com/b/edglas/archive/2010/04/12/vs-2010-ships.aspx</link><pubDate>Mon, 12 Apr 2010 17:14:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9994504</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9994504</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/04/12/vs-2010-ships.aspx#comments</comments><description>&lt;p&gt;I am happy to say that VS 2010 is generally available starting today! Go to the Visual Studio &lt;a href="http://www.microsoft.com/visualstudio"&gt;home page&lt;/a&gt; for information.&lt;/p&gt;  &lt;p&gt;As you are probably aware, we put a huge investment in our testing products into this release. I outlined the new features with my post &lt;a href="http://blogs.msdn.com/edglas/archive/2009/05/19/elevating-the-role-of-the-tester-with-visual-studio-2010.aspx"&gt;Elevating the Role of the Tester with Visual Studio 2010&lt;/a&gt;. The &lt;a href="http://blogs.msdn.com/vstsqualitytools/default.aspx"&gt;Visual Studio Team Test&lt;/a&gt; blog is a great place to keep up with these features, as is our fantastic online documentation rooted here: &lt;a href="http://msdn.microsoft.com/en-us/library/ms182409(v=VS.100).aspx"&gt;Testing the Application&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For those of you doing performance testing, my team has been working very hard these past two years to deliver a boat load of new features to you in this release. Early customer feedback shows that these features will dramatically improve your productivity. Here is a list of links to blog posts and documentation on what’s new in VS 2010 for performance testers.&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;What’s new in VS 2010&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;b&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400219(v=VS.100).aspx"&gt;What's New for Web Performance and Load Testing&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/03/product-transitions-from-vs-2008-to-vs-2010-for-load-testing.aspx"&gt;Product Transitions from VS 2008 to VS 2010 for Load Testing&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2009/10/20/introducing-the-microsoft-visual-studio-load-test-virtual-user-pack-2010.aspx"&gt;Introducing the Microsoft Visual Studio Load Test Virtual User Pack 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2009/05/19/elevating-the-role-of-the-tester-with-visual-studio-2010.aspx"&gt;Elevating the Role of the Tester with Visual Studio 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Web Test Debugging&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx"&gt;Web Test Authoring and Debugging Techniques for Visual Studio 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#debugging"&gt;Debugging a Web Test with VS 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&amp;#160;&lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff460245(v=VS.100).aspx"&gt;Walkthrough: Correlating Dynamic Parameters&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Web Test Recorder&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400224(v=VS.100).aspx"&gt;How to: Create a Recorder Plug-In&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#RecorderPlugins"&gt;Adding Your Own Web Test Recorder Plugin to Make Record/Playback “Just Work” &lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/pages/vsts-2010-feature-web-test-recorder-plugins.aspx"&gt;Web Test Recorder Plug-in&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2010/01/26/convert-comments-entered-in-web-test-recorder-into-transactions.aspx"&gt;Convert Comments entered in Web Test Recorder into Transactions&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2009/06/04/vsts-2010-feature-extensible-recorder-plugins-for-modifying-recorded-web-tests-including-adding-custom-dynamic-parameter-correlation.aspx"&gt;Extensible recorder plugins for modifying recorded web tests&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997701(v=VS.100).aspx"&gt;How to: View Recording Log in Web Performance Test Playback&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2009/06/10/vsts-2010-feature-view-recording-log-in-web-test-playback-window.aspx"&gt;VSTS 2010 Feature: View Recording Log in Web Test Playback Window&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#RecorderOptions"&gt;New Tools Options for the Recorder &lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#MoreRecorder"&gt;More Recorder Enhancements in VS 2010 &lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2009/06/12/vsts-2010-feature-file-upload-record-playback-just-works.aspx"&gt;VSTS 2010 Feature: File Upload record/playback just works&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Web Test Editor&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff356201(v=VS.100).aspx"&gt;How to: Set Request Details in a Web Performance Test&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#RequestEditing"&gt;Request Details Editor &lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2010/01/11/vsts-2010-feature-find-replace-in-web-test-editor.aspx"&gt;Find/Replace in Web Test Editor&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997818(v=VS.100).aspx"&gt;Adding Loop and Branch Logic to Web Requests in Web Performance Tests&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/chrispat/archive/2010/01/10/branching-and-looping-in-a-declarative-web-test.aspx"&gt;Branching and Looping in Declarative Web Tests&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#LoopingAndBranching"&gt;Looping and Branching in Web Tests &lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#PostBodyEditor"&gt;Request Body Plugins &lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff458708(v=VS.100).aspx"&gt;How to: Create a Custom HTTP Body Editor for the Web Performance Test Editor&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997829(VS.100).aspx"&gt;How to: Use Reporting Names to Easily Identify Requests in a Web Performance Test&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Web Test Result Viewer&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff458704(v=VS.100).aspx"&gt;How to: Create a Visual Studio Add-In for the Web Performance Test Results Viewer&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/mtaute/archive/2010/03/10/tracking-viewstate-using-a-webtest-playback-add-in.aspx"&gt;Extensible Web test result viewer plugins&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/mtaute/archive/2010/03/10/tracking-viewstate-using-a-webtest-playback-add-in.aspx"&gt;Tracking viewstate using a webtest playback add-in&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#ResultViewerPlugin"&gt;Result Viewer Plugins&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee317494(v=VS.100).aspx"&gt;How to: Resolve Web Performance Test Playback Issues Caused by Dynamic Parameters&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997695(v=VS.100).aspx"&gt;How to: Jump to Web Request from the Web Performance Test Playback&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997562(v=VS.100).aspx"&gt;How to: Add an Extraction Rule from the Web Performance Test Playback&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2009/11/11/vs-2010-feature-api-for-processing-web-test-results.aspx"&gt;API for Processing Web Test Results&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2009/05/28/vsts-2010-feature-enhancements-for-web-test-playback-ui.aspx"&gt;Enhancements for Web Test Playback UI&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Load Test Modeling&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/billbar/archive/2009/06/10/vsts-2010-feature-sequential-test-mix.aspx"&gt;VSTS 2010 Feature: Sequential Test Mix&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/billbar/archive/2009/06/11/vsts-2010-feature-more-flexible-load-modeling-via-new-options-on-load-test-scenarios.aspx"&gt;VSTS 2010 Feature: More flexible load modeling via new options on Load Test Scenarios&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406973(v=VS.100).aspx"&gt;Configuring Test Iterations in a Load Test Scenario&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361773(v=VS.100).aspx"&gt;How to: Delay the Start Time of a Scenario Using the Load Test Editor&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/mtaute/archive/2009/06/09/vsts-2010-load-test-feature-multiple-loadtest-plug-ins.aspx"&gt;Multiple Loadtest Plug-ins&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee923683(v=VS.100).aspx"&gt;Creating and Using Custom Plug-ins for Load and Web Performance Tests&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Load Test Analysis&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2009/10/19/using-the-virtual-user-activity-chart-to-understand-the-vs-load-engine.aspx"&gt;Using The Virtual User Activity Chart to Understand the VS Load Engine&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2009/06/09/vsts-2010-feature-load-test-virtual-user-activity-visualization.aspx"&gt;Load test virtual user activity visualization&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff400225(v=VS.100).aspx"&gt;Modifying Load Test Logging Settings&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/billbar/archive/2009/06/09/vsts-2010-load-test-feature-saving-test-logs.aspx"&gt;Saving Test Logs during a load test&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff361774(v=VS.100).aspx"&gt;How to: Specify if Test Failures are Saved to Test Logs Using the Load Test Editor&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2010/01/12/vsts-2010-feature-asp-net-profiler-integration-with-load-tests.aspx"&gt;Deep integration with the ASP.NET profiler&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2009/05/20/dynatrace-leverages-new-extensibility-points-to-provide-deep-integration-with-dev10.aspx"&gt;Deep integration with dynaTrace&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd504816(VS.100).aspx"&gt;How to: Configure Event Log Collection Using Test Settings&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2010/04/08/create-a-simple-data-collector-to-integrate-data-into-load-test-analyzer-tables-view.aspx"&gt;Create a Simple Data Collector to Integrate Data into Load Test Analyzer (Tables View)&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2010/04/08/integrate-data-collector-data-into-load-test-analyzer-tables-view.aspx"&gt;Integrate Data Collector Data into Load Test Analyzer (Tables View)&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Performance Reporting&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/slumley/archive/2009/11/07/vsts-2010-feature-load-testing-run-comparison-report-in-excel.aspx"&gt;Performance Reporting in Excel&lt;/a&gt;&lt;/p&gt;          &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd728091(v=VS.100).aspx"&gt;Reporting Load Tests Results for Comparison or Trend Analysis&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Agent/Controller&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/29/vs-2010-test-agent-and-test-controller-troubleshooting-guide.aspx"&gt;VS 2010 Test Agent and Test Controller Troubleshooting Guide&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2010/01/15/vsts-2010-feature-silent-installation-of-controller-and-agent.aspx"&gt;VSTS 2010 Feature: Silent Installation of Controller and Agent&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/edglas/archive/2010/03/29/process-model-and-config-file-settings-changes-in-vs-2010.aspx"&gt;Process Model Changes in VS 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff406970(v=VS.100).aspx"&gt;How to: Specify 64-Bit Process Using Test Settings&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;Network Emulation&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd505008(VS.100).aspx"&gt;How to: Configure Network Emulation Using Test Settings&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/lkruger/archive/2009/06/08/introducing-true-network-emulation-in-visual-studio-2010.aspx"&gt;Introducing True Network Emulation in Visual Studio 2010&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://blogs.msdn.com/lkruger/archive/2010/04/07/stand-alone-network-emulation-and-codeplex.aspx"&gt;Stand-Alone Network Emulation and CodePlex&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;         &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="495"&gt;         &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd997557(v=VS.100).aspx"&gt;Specifying Virtual Network Types in a Load Test Scenario&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9994504" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test+Recorder/">Web Test Recorder</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test+Reports/">Load Test Reports</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Performance+Testing/">Performance Testing</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Simulating Peak Load with VS Load Tests</title><link>http://blogs.msdn.com/b/edglas/archive/2010/04/02/simulating-peak-load-with-vs-load-tests.aspx</link><pubDate>Fri, 02 Apr 2010 12:58:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9989499</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9989499</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/04/02/simulating-peak-load-with-vs-load-tests.aspx#comments</comments><description>&lt;p&gt;In VS load tests come with a few load patterns out of the box:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Constant load: holds count of users steady &lt;/li&gt;    &lt;li&gt;Step load: steps the count of users up to some level then holds them steady &lt;/li&gt;    &lt;li&gt;Goal-based load: adjusts the user load up and down to reach some goal &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;But what if you want to simulate several peak loads, such as users coming to a site at 8:00 a.m. and again at noon?&lt;/p&gt;  &lt;p&gt;In VS 2008 SP1, we enabled extensibility in the load test engine to allow you to define your own load patterns.&lt;/p&gt;  &lt;p&gt;Yun Tong on the VS load test team developed a load test plugin that allows you to define multiple, repeatable load patterns, which enables peak load modeling. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/SimulatingPeakLoadwithVSLoadTests_7E3C/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/SimulatingPeakLoadwithVSLoadTests_7E3C/image_thumb_1.png" width="576" height="352" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Check out the cool plugin she developed at:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/yutong/archive/2010/04/02/load-test-plug-in-simulate-peak-load-modeling.aspx"&gt;Load Test Plug-in – Simulate Peak Load Modeling&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9989499" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Process Model Changes in VS 2010</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/29/process-model-and-config-file-settings-changes-in-vs-2010.aspx</link><pubDate>Mon, 29 Mar 2010 13:46:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9986682</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9986682</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/29/process-model-and-config-file-settings-changes-in-vs-2010.aspx#comments</comments><description>&lt;p&gt;In VS 2010, we made several changes to the process models for local and remote execution.&lt;/p&gt;  &lt;p&gt;These changes impact you when you:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Look in task manager or at performance counters to see how the test processes are running, &lt;/li&gt;    &lt;li&gt;Turn on logging to debug a problem. You turn on logging in the .config file for the process you want to log from, so obviously the process name changes affect this. &lt;/li&gt;    &lt;li&gt;Use other settings in the config files to control test execution or data collection. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Everyone working with load testing will probably do all three of these activities at some point or another.&lt;/p&gt;  &lt;p&gt;A major new piece of infrastructure in VS 2010 is test data collectors, which give you the ability to collect data from the system under test. Some data collectors work against the test host process, and have to hook into the process before it starts (such as Intellitrace and Test Impact). To make this happen, we start the data collection process first, and give data collectors an opportunity to hook the test host process. Since the controller is orchestrating the test, for local execution we were required to move the controller out of the test host process and into devenv (Visual Studio).&lt;/p&gt;  &lt;p&gt;Here are the changes in local execution:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_thumb_5.png" width="802" height="483" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The key changes here are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The host process was renamed. &lt;/li&gt;    &lt;li&gt;The local controller is now hosted in devenv rather than the agent process. &lt;/li&gt;    &lt;li&gt;We have added a QTDCAgent.exe data collector process. &lt;/li&gt;    &lt;li&gt;There is now an option to run tests in a 64 bit process on a 64 bit machine, or force tests to always run in a 32 bit process. The default is to force tests to run 32 bit, since Coded&amp;#160; UI tests will only run in a 32 bit process. If you are running load tests you should under most circumstances change this to Run tests in a 64 bit process on a 64 bit machine. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Here is the place in Test Settings you have to change for #4.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_thumb_7.png" width="722" height="552" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;For remote execution, you can see things remain mostly the same as in VS 2008, except for the addition of the data collector agent and 32 bit flavors of the processes. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ProcessModelandConfigFilesettingschanges_76A1/image_thumb_4.png" width="797" height="539" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9986682" width="1" height="1"&gt;</description></item><item><title>VS 2010 Test Agent and Test Controller Troubleshooting Guide</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/29/vs-2010-test-agent-and-test-controller-troubleshooting-guide.aspx</link><pubDate>Mon, 29 Mar 2010 00:49:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9986475</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9986475</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/29/vs-2010-test-agent-and-test-controller-troubleshooting-guide.aspx#comments</comments><description>&lt;p&gt;Michael Koltachev, Geoff Staneff, and the rest of the TE team put together a valuable troubleshooting guide for troubleshooting a VS 2010 test rig.&lt;/p&gt;  &lt;p&gt;Check it out at &lt;/p&gt;  &lt;p&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/df043823-ffcf-46a4-9e47-1c4b8854ca13"&gt;http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/df043823-ffcf-46a4-9e47-1c4b8854ca13&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In VS 2005 and 2008 agent and controller setup, all the configuration was done in setup. If any of the config steps failed, setup rolled back.&lt;/p&gt;  &lt;p&gt;We made a huge improvement in VS 2010 by making setup super-simple, mostly just lay down the files. Then we have a config tool that launches after setup to do the configuration (opening ports, setting up groups, etc.). Now if a particular config step fails you can correct the issue and then re-run the config, rather than having to reinstall everything.&lt;/p&gt;  &lt;p&gt;One of the great things about the troubleshooting guide is for many issues it points you back to running the config tool, which automatically checks all the required settings, showing output and any error information for each step. &lt;/p&gt;  &lt;p&gt;VS 2010 agent setup now also supports command line install and command line config, a much requested feature for those of you who have automation to provision and configure agent machines (we see a lot of that in Microsoft product teams).&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9986475" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Web Test Authoring and Debugging Techniques for Visual Studio 2010</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx</link><pubDate>Wed, 24 Mar 2010 02:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9984035</guid><dc:creator>Ed Glas</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9984035</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/24/web-test-authoring-and-debugging-techniques-for-visual-studio-2010.aspx#comments</comments><description>&lt;h1&gt;Contents&lt;/h1&gt;  &lt;p&gt;&lt;a href="#overview"&gt;Overview&lt;/a&gt;     &lt;br /&gt;&lt;a href="#how"&gt;How Web Performance Tests Work      &lt;br /&gt;&lt;/a&gt;&lt;a href="#2010overview"&gt;Overview of New Features in VS 2010      &lt;br /&gt;&lt;/a&gt;&lt;a href="#debugging"&gt;Debugging a Web Test to Find and Fix Dynamic Parameters      &lt;br /&gt;&lt;/a&gt;&lt;a href="#RecorderPlugins"&gt;Adding Your Own Web Test Recorder Plugin to Make Record/Playback “Just Work”      &lt;br /&gt;&lt;/a&gt;&lt;a href="#MoreRecorder"&gt;More Recorder Enhancements in VS 2010      &lt;br /&gt;&lt;/a&gt;&lt;a href="#RecorderOptions"&gt;New Tools Options for the Recorder      &lt;br /&gt;&lt;/a&gt;&lt;a href="#LoopingAndBranching"&gt;Looping and Branching in Web Tests      &lt;br /&gt;&lt;/a&gt;&lt;a href="#RequestEditing"&gt;Request Details Editor      &lt;br /&gt;&lt;/a&gt;&lt;a href="#PostBodyEditor"&gt;Request Body Plugins      &lt;br /&gt;&lt;/a&gt;&lt;a href="#ResultViewerPlugin"&gt;Result Viewer Plugins&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;&lt;a name="overview"&gt;&lt;/a&gt;Overview&lt;/h2&gt;  &lt;p&gt;This post follows similar papers done after VS 2005: &lt;/p&gt; &lt;a title="Web Test Authoring and Debugging Techniques" href="http://msdn.microsoft.com/en-us/library/ms364082(VS.80).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms364082(VS.80).aspx"&gt;Web Test Authoring and Debugging Techniques&lt;/a&gt;, and again after VS 2008: &lt;a href="http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2007/12/02/web-test-authoring-and-debugging-techniques-for-vs-2008.aspx"&gt;Web Test Authoring and Debugging Techniques for VS 2008&lt;/a&gt;.   &lt;p&gt;With each release of VS we have made major strides in Web Test Authoring and Debugging. With VS 2008, we added a number of features to address the most common challenges with Web test authoring, the most important being a low-level http recorder and a automatic correlation tool. This covered the most prevalent challenges outlined in &lt;a title="Web Test Authoring and Debugging Techniques" href="http://msdn.microsoft.com/en-us/library/ms364082(VS.80).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms364082(VS.80).aspx"&gt;Web Test Authoring and Debugging Techniques&lt;/a&gt;. Again with VS 2010 we have made major strides in Web test authoring and debugging: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;More http recordings “just work” &lt;/li&gt;    &lt;li&gt;New tools to help you debug and fix the ones that don’t, and &lt;/li&gt;    &lt;li&gt;New extensibility points for the recorder, editor, and results viewer enable you, us and our community to release rich functionality “out of band” to handle custom applications and rich data types. &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;&lt;a name="how"&gt;&lt;/a&gt;A New Name, But Under the Covers Still the Same&lt;/h2&gt;  &lt;p&gt;In this release we renamed &amp;quot;&lt;strong&gt;Web Test&lt;/strong&gt;” to “&lt;strong&gt;Web Performance Test&lt;/strong&gt;” to highlight the primary scenario for Web tests, which is using them as scripts in a load test to model user actions. Load tests are used to drive load against a server, and then measure server response times and server response errors. Because we want to generate high loads with a relatively low amount of hardware, we chose to drive Web performance tests at the protocol layer rather than instantiating a browser. While Web performance tests can be used as functional tests, this is not their primary focus (see my post &lt;a href="http://blogs.msdn.com/edglas/archive/2008/02/27/are-web-tests-functional-tests.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2008/02/27/are-web-tests-functional-tests.aspx"&gt;Are Web Tests Functional Tests?&lt;/a&gt;). You will see that I still refer to “Web Performance Tests” as “Web Tests” for short. &lt;/p&gt;  &lt;p&gt;If you really want to test the user experience from the browser, use a Coded UI test to drive the browser.&lt;/p&gt;  &lt;p&gt;In order to be successful working with Web Performance Tests, it is important you understand the fundamentals about how they work.&lt;/p&gt;  &lt;h3&gt;Web Performance Tests Work at the HTTP Layer&lt;/h3&gt;  &lt;p&gt;The most common source of confusion is that users do not realize Web Performance Tests work at the HTTP layer. The tool adds to that misconception. After all, you record in IE, and when running a Web test you can select which browser to use, and then the result viewer shows the results in a browser window. So that means the tests run through the browser, right? NO! The Web test engine works at the HTTP layer, and does not instantiate a browser. What does that mean? In the diagram below, you can see there are no browsers running when the engine is sending and receiving requests:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_1.png" width="914" height="487" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_1.png" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;What Does This Mean for You?&lt;/h3&gt;  &lt;p&gt;This design has fundamental and far-reaching impact if you are working with Web tests. It is critical that you understand this if you are going to be successful authoring and debugging Web tests. This escapes even customers who have worked extensively with Web tests, and is a major source of confusion. The Web test engine:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Sends and receives data at the HTTP layer. &lt;/li&gt;    &lt;li&gt;Does NOT run a browser. &lt;/li&gt;    &lt;li&gt;Does NOT run java script. &lt;/li&gt;    &lt;li&gt;Does NOT host ActiveX controls or plugins. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Ok, so Web tests work at the HTTP layer. What about requests sent and received by javascript and/or browser plugins? The best example for java script generating HTTP traffic is AJAX calls. The most common example of browser plugins are SilverLight or Flash. The Web test recorder will record HTTP traffic from AJAX calls and from most (but not all) browser plugins.&lt;/p&gt;  &lt;h3&gt;Web Tests Can Succeed Even Though It Appears They Failed&lt;/h3&gt;  &lt;p&gt;A common source of confusion comes from the browser preview in the Web test result viewer. This browser control does not run java script nor host plugins, which is by design since the engine does not do this either, and for security reasons. A common technique in pages requiring java script is to sense this, and put up an alternate page when the browser is not running java script, such as “&lt;strong&gt;java script required on this page&lt;/strong&gt;”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb.png" width="611" height="203" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This page looks like it failed, when if fact it succeeded! Looking closely at the response, and subsequent requests, it is clear the operation succeeded. As stated above, the reason why the browser control is pasting this message is because java script has been disabled in this control.&lt;/p&gt;  &lt;p&gt;Another variant of this is plugins such as this page that is using SilverLight:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_5.png" width="572" height="363" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Again, it looks like the page failed, when in fact at the HTTP layer it succeeded.&lt;/p&gt;  &lt;h3&gt;A Common Challenge: Dynamic Parameters&lt;/h3&gt;  &lt;p&gt;One of the major challenges with working at the HTTP layer are “dynamic parameters”. A dynamic parameter is a parameter whose value changes every each time it is run. The most common case is a session parameter, such as a login session ID. Each time a user logs in to a site, he is given a new login session ID. In order to simulate this user’s actions, the test cannot simply replay the recorded session ID, it must replay the new session ID. Web tests handled most patterns of dynamic parameters automatically, but there are still some patterns it does does not automatically handle. &lt;/p&gt;  &lt;h2&gt;&lt;a name="2010overview"&gt;&lt;/a&gt;Huge Strides Forward with VS 2010&lt;/h2&gt;  &lt;p&gt;With ever more complicated applications being built on HTTP, it is getting harder and harder to develop scripts at the HTTP layer. &lt;/p&gt;  &lt;p&gt;With VS 2010, we again have made tremendous strides across the tool, in recording, editing, and debugging, so help you be successful doing this.&amp;#160; Some of the high-level features are:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Finding and fixing dynamic parameters &lt;/li&gt;    &lt;li&gt;Enabling an extensibility point in the recorder such that record/playback “just works” for any app (effectively enabling you to automate #1). &lt;/li&gt;    &lt;li&gt;Enabling extensibility points for editing and viewing results of rich data types &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;We have made a number of other improvements as well, most notably:&lt;/p&gt;  &lt;p&gt;Editor Improvements&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Support for looping and branching in Web tests &lt;/li&gt;    &lt;li&gt;Request details editor &lt;/li&gt;    &lt;li&gt;Create meaningful reports using the reporting name on Page &lt;/li&gt;    &lt;li&gt;Goal validation rule &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Recorder Improvements&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Record/playback of file upload “just works” &lt;/li&gt;    &lt;li&gt;Record all dependents by default &lt;/li&gt;    &lt;li&gt;New recorder options in Tools Options &lt;/li&gt;    &lt;li&gt;Improvements in hidden field and dynamic parameter correlation &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;&lt;a name="debugging"&gt;&lt;/a&gt;Debugging a Web Test to Find and Fix Dynamic Parameters&lt;/h2&gt;  &lt;p&gt;The VS recorder automatically handles most classes of dynamic parameters: cookies, query string and form post parameter values, and hidden fields. In VS 2010 we have made incremental improvements on each of these. Yet there are still a few dynamic parameter patterns that cannot be deterministically detected and fixed up. &lt;/p&gt;  &lt;p&gt;Our goal with this release was to build tooling around the flow for debugging a web test, mostly to help find and fix dynamic parameters. This flow is described in Sean’s seminal post, &lt;a href="http://blogs.msdn.com/slumley/pages/how-to-debug-a-web-test.aspx" mce_href="http://blogs.msdn.com/slumley/pages/how-to-debug-a-web-test.aspx"&gt;How to Debug a Web Test&lt;/a&gt;. The flow is this:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Record a Web test and play it back. Playback fails. &lt;/li&gt;    &lt;li&gt;Look at the form post and query string parameters in a failed request and determine if any look to be dynamic &lt;/li&gt;    &lt;li&gt;Go to the web test to determine if they are bound to an extracted value &lt;/li&gt;    &lt;li&gt;If not, search through the log to find where the parameter is set. Or better yet, search through the recording log to find the unique value in order to find where it is getting set. &lt;/li&gt;    &lt;li&gt;Add an extraction rule and bind the parameter value to the extracted value. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In VS 2010, you’ll find commands in Web test playback and the editor that seamlessly support this flow:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;A new &lt;strong&gt;recorder log&lt;/strong&gt; that enables you to see the http traffic that was generated from IE. This is a huge new feature critical for debugging tests. You can jump from a request, request parameter, or response in playback to the same context in the recording log to compare them. &lt;/li&gt;    &lt;li&gt;Search in playback and search and replace in the Web test editor. These features are super-important for quickly finding and fixing dynamic parameters. &lt;/li&gt;    &lt;li&gt;Jump from a request in playback to that same request in the editor. This greatly increases the efficiency of the workflow. &lt;/li&gt;    &lt;li&gt;Create an extraction rule directly from playback, automatically setting the correct parameters on the extraction rule. Again, this increases efficiency. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Together, these features really grease the debugging and fix up workflow, and will make you much more efficient when working with web tests.&lt;/p&gt;  &lt;p&gt;A quick overview of the flow:&lt;/p&gt;  &lt;p&gt;From the Web test results viewer, select a from a failed request that looks like a dynamic parameter. Right-click from the parameter on the Request tab to jump to the editor to confirm it was not bound.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_7.png" width="597" height="132" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_7.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In the editor, you can see this value is not bound to a context parameter:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_20.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_8.png" width="427" height="80" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_8.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now go back to the results viewer. At this point, you want to find the dynamic values in the response of one of the previous requests, as the dynamic parameter value had to have come from a response body (since that’s how http and browsers work). To do this, you want to go to the recorder log. The reason you want to do this from the recorder log is that the recording will have the original recorded value in it. To do this, click on the recorder log icon (we really should have put this on the context menu too!).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_22.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_9.png" width="478" height="145" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_9.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will take you to the same request with the same parameter selected. Now right-click on the parameter and do a quick find to find the parameter value in a previous response. Again, you want to do this from the recording log, since the parameter is dynamic the value will be in the recording log but not the playback log.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_24.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_10.png" width="450" height="90" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_10.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Search up in response bodies to find the value. Note that if the dynamic string was constructed in java script, you may need to only search of the dynamic part of the value:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_30.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_13.png" width="386" height="344" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_13.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once you find it, right click to add an extraction rule:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_32.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_14.png" width="353" height="146" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_14.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once the extraction rule is added, you also need to bind the parameter values. Choose yes to the message box to launch search and replace from the Web test editor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_34.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_34.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_15.png" width="399" height="197" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_15.png" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can see that we have added tooling to make finding and fixing dynamic parameters much easier in VS 2010!!!&lt;/p&gt;  &lt;h3&gt;Engineering the Solution&lt;/h3&gt;  &lt;p&gt;To engineer this solution, we made several important design changes to Web tests and Web test results.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First, we changed the persistence mechanisms for Web test results to store results to a separate log file rather than the in the trx. &lt;/li&gt;    &lt;li&gt;We created a full public API for the Web test result. &lt;/li&gt;    &lt;li&gt;We stamp request ids in each http request (enables jumping between playback and the editor). &lt;/li&gt;    &lt;li&gt;The recorder generates a Web test result file and saves it as part of the recording. &lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;About the Web Performance Test Recorder Log&lt;/h3&gt;  &lt;p&gt;The Recorder Log is a file stored in the same directory as the web test is recorded into. You can get to the recorder log from the Web test results viewer as shown above. Or you can open it from VS, browse to the Web test folder and look for *.webtestresult to find recorder log files in your project folder. The name of the recorded result file is stored in the RecordedResultFile attribute in the web test xml file.&amp;#160; This file is not added to the project by default, if you wish to share it with team members consider adding it to the solution so it will get checked in to source control. &lt;/p&gt;  &lt;p&gt;The recorder log is persisted in the same file format as a Web test result. There is a full API over this data (see the WebTestResult and WebTestResultDetails classes).&lt;/p&gt;  &lt;h2&gt;&lt;a name="RecorderPlugins"&gt;&lt;/a&gt;Adding Your Own Recorder Plugins to Make Record/Playback “Just Work”&lt;/h2&gt;  &lt;p&gt;Once you have found and fixed up the dynamic parameters in a test, consider writing a recorder plugin to do this for you automatically each time you record a new test for this web site. &lt;/p&gt;  &lt;p&gt;Recorder plugins are a new, super-powerful capability to the VS 2010 recorder. Recorder plugins are an extensibility hook that gives you full access to the recorded result and the recorded Web test, and move seamlessly from a recorded request to that corresponding request in the web test. This enables you to make any modifications you see fit to the generated Web test. This is in effect a “catch-all”, the ultimate power and productivity tool in your hands to save time fixing up Web tests.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;I really can’t emphasize enough what a powerful solution this is.&lt;/strong&gt; If you will be scripting a web site for any given period of time, and it requires you fix up the recordings, it will be worthwhile for you to invest in building a recorder plugin for it.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_28.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_11.png" width="657" height="525" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_11.png" /&gt;&lt;/a&gt;   &lt;h2&gt;&lt;/h2&gt;  &lt;p&gt;Recorder plugins can be used for any number of reasons: fixing up dynamic parameters (adding extraction rules and bindings), automatically adding validation rules, automatically adding data sources and doing data bindings, filtering out recorded dependents, etc. &lt;/p&gt;  &lt;p&gt;Recorder plugins are pretty straightforward to code up and install. Recorder Plugins derive from the WebTestRecorderPlugin class. Once you have implemented a plugin, just drop the assembly into either of these directories, and then restart VS:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;%ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\WebTestPlugins&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;%USERPROFILE%\My Documents\Visual Studio 10\WebTestPlugins&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here’s sample recorder plugin code that adds an extraction rule and binds query string parameters to the extracted value.&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

using Microsoft.VisualStudio.TestTools.WebTesting;
using Microsoft.VisualStudio.TestTools.WebTesting.Rules;
using System.Diagnostics;

namespace RecorderPlugins
{
    [DisplayName(&amp;quot;Correlate ReportSession&amp;quot;)]
    [Description(&amp;quot;Adds extraction rule for Report Session and binds this to querystring parameters that use ReportSession&amp;quot;)]
    public class CorrelateSessionId : WebTestRecorderPlugin
    {
        public override void PostWebTestRecording(object sender, PostWebTestRecordingEventArgs e)
        {
            // Loop through the responses in the recording, looking for the session Id.
            bool foundId = false;
            foreach (WebTestResultUnit unit in e.RecordedWebTestResult.Children)
            {
                WebTestResultPage recordedWebTestResultPage = unit as WebTestResultPage;
                if (recordedWebTestResultPage == null)
                {
                    continue;
                }
                // If we haven't found the session Id yet, look for it in this response.
                if (!foundId)
                {
                    // Look for the &amp;quot;ReportSession&amp;quot; string in the response body of a recorded request
                    int indexOfReportSession = recordedWebTestResultPage.RequestResult.Response.BodyString.IndexOf(&amp;quot;ReportSession&amp;quot;);
                    if (indexOfReportSession &amp;gt; -1)
                    {
                        // Find the corresponding page in the test, this is the page we want to add an extraction rule to
                        WebTestRequest requestInWebTest = e.RecordedWebTest.GetItem(recordedWebTestResultPage.DeclarativeWebTestItemId) as WebTestRequest;
                        Debug.Assert(requestInWebTest != null);

                        if (requestInWebTest != null)
                        {
                            foundId = true;
                            string startsWith = &amp;quot;?ReportSession=&amp;quot;;
                            string endsWith = &amp;quot;&amp;amp;&amp;quot;;
                            string contextParamName = &amp;quot;ReportSession&amp;quot;;
                            AddExtractTextRule(requestInWebTest, startsWith, endsWith, contextParamName);
                            e.RecordedWebTestModified = true;
                        }
                    }
                }
                else
                {
                    // Once we have extracted the session id, bind any session id parameters to the context parameter
                    // This call gets the corresponding request in the web test.
                    WebTestRequest requestInWebTest = e.RecordedWebTest.GetItem(recordedWebTestResultPage.DeclarativeWebTestItemId) as WebTestRequest;
                    Debug.Assert(requestInWebTest != null);

                    if (requestInWebTest != null)
                    {
                        BindQueryStringParameter(requestInWebTest, &amp;quot;SessionId&amp;quot;, &amp;quot;SessionId&amp;quot;);
                    }
                }
            }
        }

        /// &lt;summary&gt;
        /// Code to add an ExtractText rule to the request.
        /// &lt;/summary&gt;
        /// &lt;param name="request" /&gt;&lt;/param&gt;
        /// &lt;param name="startsWith" /&gt;&lt;/param&gt;
        /// &lt;param name="endsWith" /&gt;&lt;/param&gt;
        /// &lt;param name="contextParameterName" /&gt;&lt;/param&gt;
        private static void AddExtractTextRule(WebTestRequest request, string startsWith, string endsWith, string contextParameterName)
        {
            // add an extraction rule to this request
            // Get the corresponding request in the Declarative Web test
            ExtractionRuleReference ruleReference = new ExtractionRuleReference();

            ruleReference.Type = typeof(ExtractText);
            ruleReference.ContextParameterName = contextParameterName;
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;EndsWith&amp;quot;, endsWith));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;StartsWith&amp;quot;, startsWith));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;HtmlDecode&amp;quot;, &amp;quot;True&amp;quot;));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;IgnoreCase&amp;quot;, &amp;quot;True&amp;quot;));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;Index&amp;quot;, &amp;quot;0&amp;quot;));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;Required&amp;quot;, &amp;quot;True&amp;quot;));
            ruleReference.Properties.Add(new PluginOrRuleProperty(&amp;quot;UseRegularExpression&amp;quot;, &amp;quot;False&amp;quot;));

            request.ExtractionRuleReferences.Add(ruleReference);
        }

        public static void BindQueryStringParameter(WebTestRequest requestInWebTest, string queryStringParameterName, string contextParameterName)
        {
            // This code adds data binds the SessionId parameter to the context parameter
            foreach (QueryStringParameter param in requestInWebTest.QueryStringParameters)
            {
                if (param.Name.Equals(queryStringParameterName))
                {
                    param.Value = &amp;quot;{{&amp;quot; + contextParameterName + &amp;quot;}}&amp;quot;;
                }
            }
        } 
    }
}&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a name="MoreRecorder"&gt;&lt;/a&gt;More Recorder Enhancements in VS 2010&lt;/h3&gt;

&lt;p&gt;In addition to lighting up these powerful new scenarios, the VS 2010 does what it did in VS 2008 only better.&lt;/p&gt;

&lt;h4&gt;No More Empty Recorder Pane&lt;/h4&gt;

&lt;p&gt;With VS 2008, there were several cases for which the recorder would not record requests. Most of these involved the IE 7 and IE 8 process model, where these browsers start new processes when crossing security contexts (thus the need to run VS as Admin). These problems have been fixed in VS 2010, as the recorder now records across IE process boundaries.&lt;/p&gt;

&lt;h4&gt;More Apps “Just Work”&lt;/h4&gt;

&lt;p&gt;There were a few cases for which hidden field correlation and dynamic parameter detection did not work with VS 2008. You let us know about those cases, and we have &lt;strong&gt;improved the hidden field correlation and dynamic parameter detection tools &lt;/strong&gt;to handle them in VS 2010. These were mostly around dynamic parameters in AJAX requests.&lt;/p&gt;

&lt;p&gt;And binary post bodies are now handled correctly, which were not always handled correctly with VS 2008.&lt;/p&gt;

&lt;p&gt;The recorder now also automatically handles File Uploads so they will “just work”. Files that are uploaded are automatically added to the project, and the file upload file name will be dynamically generated to enable you to upload the same file to different names automatically.&lt;/p&gt;

&lt;h4&gt;&lt;a name="RecorderOptions"&gt;&lt;/a&gt;New Tools Options for the Recorder&lt;/h4&gt;

&lt;p&gt;You asked for more control over the recorder, you got it with new recorder options in Tools Options:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_9.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_9.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_2.png" width="646" height="402" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_2.png" /&gt;&lt;/a&gt; 

&lt;h3&gt;&lt;/h3&gt;

&lt;h2&gt;Web Test Editor Enhancements in VS 2010&lt;/h2&gt;

&lt;p&gt;One of our goals with VS 2010 was to enable you to stay in “declarative” Web tests for more use cases without having to move to a coded Web test. One reason you had to go to code with VS 2005 or VS 2008 was to do looping or conditional execution in your Web test.&lt;/p&gt;

&lt;h3&gt;&lt;a name="LoopingAndBranching"&gt;&lt;/a&gt;Looping and Branching&lt;/h3&gt;

&lt;p&gt;The VS 2010 declarative editor now supports powerful new looping and branching constructs. Looping and branching are based on conditional rules, which follow the exact same extensibility model as validation rules and extraction rules. There are many rules “in the box”:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_14.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_3.png" width="528" height="187" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_3.png" /&gt;&lt;/a&gt; 

&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_4.png" width="505" height="455" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;You can see above, there are &lt;em&gt;a lot &lt;/em&gt;of flexible rules already built in.&lt;/p&gt;

&lt;p&gt;A few scenarios this enables:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Conditional logins. In a load test, if you want to simulate a user logging in once and then doing many operations in the test, this can be accomplished easily in a conditional rule. Session IDs are typically handled by cookies, and you can easily set up a rule to only go to the login pages if the login has not happened yet. &lt;/li&gt;

  &lt;li&gt;Variability in your scripts. If you want users to occasionally skip steps in a script, or randomly repeat some steps, this is easily achieved with the probability rule which will only execute some requests based on the probability you specify. &lt;/li&gt;

  &lt;li&gt;Loop until some operation succeeds. If an operation is expected to fail for some users, but will succeed on retry, and you need to model the retry, you can do this by looping while the operation is not successful. To do this, use an extraction rule to indicate whether or not the action was successful, then use the Context Parameter Exists to loop until it is successful. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can debug your loops and conditions using the results viewer, which shows the results of conditional evaluations. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_38.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_16.png" width="671" height="332" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;A word of caution: do not use loops to do many, many loops within a given test. This will “gum up” the load test engine, since it function is to control virtual user execution. Also, an entire web test result is stored in memory, including all the loops. So running a web test with many loops will run your machine out of memory. You can still run these in a load test to avoid this, but for the reason stated above we recommend against this.&lt;/p&gt;

&lt;h3&gt;&lt;a name="RequestEditing"&gt;&lt;/a&gt;More Editor Features&lt;/h3&gt;

&lt;p&gt;I already talked about search and replace in the editor above. There is also a super-handy new Request Details editor that enables you to quickly see and edit the think times, reporting name, and goal for each page. You should use this view each time you record a new test.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_26.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_26.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_6.png" width="661" height="379" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_6.png" /&gt;&lt;/a&gt; 

&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;Use the Reporting Name and Response Time Goals to really light up your excel load test reports, as both are propagated to the reports.&lt;/p&gt;

&lt;p&gt;Setting the response time goal will also help you to find slow requests in a load test, as by default there is a new Response Time Goal validation rule added to the test. This rule will fail pages that exceed the goal by the threshold you specify (by default the tolerance is 0). This rule will cause slow requests to fail, and enable you to collect logs on the failures, which may help you determine why the page is slow.&lt;/p&gt;

&lt;h2&gt;New Extensibility Points to Handle Rich Data&lt;/h2&gt;

&lt;p&gt;One area we did not address in VS 2010 is better editor and result viewer handling of rich data types. If you have AJAX code sending and receiving Web services, REST, or JSON requests, you know how difficult these are to work with. Like other releases, our mantra was if we couldn’t get it in the box, we wanted to expose extensibility points to enable us and the community to add tooling to help in this area. &lt;/p&gt;

&lt;p&gt;To this end, we have enabled two extensibility points that will enable us to address this out of band:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Web test editor request body editor plugins. &lt;/li&gt;

  &lt;li&gt;New tabs and menu items in Web test result viewer. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We plan to release new editor and playback plugins around the time we RTM, so keep an eye on codeplex.com\teamtestsplugins for new releases.&lt;/p&gt;

&lt;h3&gt;&lt;a name="PostBodyEditor"&gt;&lt;/a&gt;Web Test Editor Request Body Plugins&lt;/h3&gt;

&lt;p&gt;Web Test request body plugins provide a way to plug a custom editor into VS for editing form post bodies. These plugins implement either IStringHttpBodyEditorPlugin or IBinaryHttpBodyEditorPlugin, and enable you to customize the edit pane for different post body content.&lt;/p&gt;

&lt;p&gt;The IStringHttpBodyEditorPlugin interface is super-simple:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;public interface IStringHttpBodyEditorPlugin 
    &lt;br /&gt;{ 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; object CreateEditor(string contentType, string initialValue); 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; string GetNewValue(); 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; bool SupportsContentType(string contentType); 

    &lt;br /&gt;} &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Basically, SupportsContentType allows you to specify which content types your editor supports. When the editor encounters a particular content type, it will scan the list of editor plugins for the first one it finds to support that type, then host the editor control. The CreateEditor call is used by the plugin to instantiate an instance of the control and provides the initial value to be edited, and the GetNewValue is the way the plugin returns the result of the editing session. The IBinaryHttpBodyEditorPlugin is the same, except that it gets and puts byte arrays.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;public interface IBinaryHttpBodyEditorPlugin 
    &lt;br /&gt;{ 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; object CreateEditor(string contentType, byte[] initialValue); 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; byte[] GetNewValue(); 

    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; bool SupportsContentType(string contentType); 

    &lt;br /&gt;} &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We are working on creating new editors for the most common formats now, and will ship “out of band” to &lt;strong&gt;codeplex.com\teamtestplugins &lt;/strong&gt;around RTM. Here’s a screen shot of the editor handling msbin1 data in a rich way (I rubbed out some URLs of this public facing site):&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_36.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_36.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_12.png" width="522" height="526" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_12.png" /&gt;&lt;/a&gt; 

&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;Web test editor plugins must be deployed to %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\WebTestPlugins.&lt;/p&gt;

&lt;h3&gt;&lt;a name="ResultViewerPlugin"&gt;&lt;/a&gt;Web Test Result Viewer Plugins&lt;/h3&gt;

&lt;p&gt;The Web Test Result Viewer also supports design time plugins. There are many scenarios for these plugins, here are some example scenarios:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The coolest comes from &lt;a href="http://blog.dynatrace.com/2010/03/10/vs2010-load-testing-for-distributed-and-heterogeneous-applications-powered-by-dynatrace/" mce_href="http://blog.dynatrace.com/2010/03/10/vs2010-load-testing-for-distributed-and-heterogeneous-applications-powered-by-dynatrace/"&gt;dynaTrace&lt;/a&gt;. &lt;/li&gt;

  &lt;li&gt;Tools that automatically analyze the result to point out potential performance problems (see blogs.msdn.com\mtaute for an example).&lt;/li&gt;

  &lt;li&gt;Custom viewers for rich request and response data. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This third scenario is the one I want to delve into more in this section. Just as you want a rich editing experience for working with Web services, REST, or JSON requests, you want a rich way to view this data in the result viewer as well. The Web test result viewer plugins provide the perfect extensibility point for this.&lt;/p&gt;

&lt;p&gt;Result viewer plugins are a bit more involved to code up and install the editor plugins. &lt;/p&gt;

&lt;p&gt;Like the response body editor, we are working on out of band plugins for the Web test result viewer. Here is a screen shot of the result view plugin for binary data:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_40.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_40.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_17.png" width="514" height="524" mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/WebTestAuthoringandDebuggingTechniquesfo_99C6/image_thumb_17.png" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Notice the tree views in the bottom panes, showing binary data as a tree.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Your takeaway after reading this blog post should be - “Wow, VS 2010 is fantastic and will save me tons of time creating and maintaining Web tests, I &lt;em&gt;have &lt;/em&gt;to have it!” &lt;/p&gt;

&lt;p&gt;By working with you directly on the forums and through our blogs, we saw the types of problems you are hitting developing scripts. We also listened to your feedback and folded it back into the tool. In places we didn’t have time to address, we’ve added extensibility points to enable us to deliver features to you out of band, and for you to create your own solutions.&lt;/p&gt;

&lt;p&gt;Now you can say: “I’m a performance tester, and Visual Studio 2010 was &lt;em&gt;my &lt;/em&gt;idea!”&lt;/p&gt;

&lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9984035" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test+Recorder/">Web Test Recorder</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>dynaTrace + VS 2010 Load Tests = 1 Powerful Solution for Performance Analysis of Java Applications</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/10/dynatrace-vs-1-powerful-solution-for-performance-analysis-of-java-applications.aspx</link><pubDate>Wed, 10 Mar 2010 20:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9976438</guid><dc:creator>Ed Glas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9976438</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/10/dynatrace-vs-1-powerful-solution-for-performance-analysis-of-java-applications.aspx#comments</comments><description>&lt;P&gt;&lt;A href="http://www.dynatrace.com/" mce_href="http://www.dynatrace.com/"&gt;dynaTrace&lt;/A&gt; offers a terrific &lt;A href="http://blogs.msdn.com/edglas/archive/2008/08/08/dynatrace-is-cool.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2008/08/08/dynatrace-is-cool.aspx"&gt;integration with VS 2008&lt;/A&gt; to enable performance analysis of java and mixed .NET + java applications. &lt;/P&gt;
&lt;P&gt;The integration is now even deeper with VS 2010. With VS 2010, you can drill straight from a specific slow Web page in a load test to the dynaTrace truePath for that page. The truePath shows the performance breakdown for the page, detailing which tiers of the application were slow for that page. This enables you to jump immediately to the performance problem. &lt;/P&gt;
&lt;P&gt;This is similar to the functionality offered in the &lt;A href="http://blogs.msdn.com/slumley/archive/2010/01/12/vsts-2010-feature-asp-net-profiler-integration-with-load-tests.aspx" mce_href="http://blogs.msdn.com/slumley/archive/2010/01/12/vsts-2010-feature-asp-net-profiler-integration-with-load-tests.aspx"&gt;integration between VS load tests and the VS profiler&lt;/A&gt;, but goes even further as the dynaTrace solution works for both .NET and java applications, and can even trace performance across .NET and java tiers, for example if your .NET web application makes a call to a Web service running in a java application server.&lt;/P&gt;
&lt;P&gt;Check out &lt;A href="http://blog.dynatrace.com/2010/03/10/vs2010-load-testing-for-distributed-and-heterogeneous-applications-powered-by-dynatrace/" mce_href="http://blog.dynatrace.com/2010/03/10/vs2010-load-testing-for-distributed-and-heterogeneous-applications-powered-by-dynatrace/"&gt;Andreas’s blog post&lt;/A&gt; to see a walkthrough of the integration. &lt;/P&gt;
&lt;P&gt;The combination of these two tools makes a super-powerful load testing solution for shops that run both java and .NET applications.&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9976438" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test+Recorder/">Web Test Recorder</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Application Benchmark Toolkit for Microsoft Dynamics AX</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/05/application-benchmark-toolkit-for-microsoft-dynamics-ax.aspx</link><pubDate>Fri, 05 Mar 2010 15:23:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9973552</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9973552</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/05/application-benchmark-toolkit-for-microsoft-dynamics-ax.aspx#comments</comments><description>&lt;p&gt;The Dynamics AX product team is a long-time internal customer of VS Load Tests, and use VS to do all their product load testing.&lt;/p&gt;  &lt;p&gt;They released the &lt;a href="http://blogs.msdn.com/axperf/archive/2009/03/17/application-benchmark-toolkit-for-microsoft-dynamics-ax-2009.aspx"&gt;Benchmark Toolkit&lt;/a&gt; to customers, which enables Dynamics load testing. This is a huge win for Dynamics AX customers, as it provides a way for them to find performance problems before moving their Dynamics solutions to production. Before the combination of the toolkit and VS, performance testing was difficult and expensive, and therefore often did not happen. It is great to see Raymond and his team release this to their customers.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9973552" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2008+SP1/">Visual Studio 2008 SP1</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Product Transitions from VS 2008 to VS 2010 for Load Testing</title><link>http://blogs.msdn.com/b/edglas/archive/2010/03/03/product-transitions-from-vs-2008-to-vs-2010-for-load-testing.aspx</link><pubDate>Wed, 03 Mar 2010 14:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9972147</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9972147</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/03/03/product-transitions-from-vs-2008-to-vs-2010-for-load-testing.aspx#comments</comments><description>&lt;p&gt;If you are currently using VS 2008, here is how I compare the products and components you use for load testing.&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0" border="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in"&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;td width="221" valign="top" style="padding-bottom: 0in; padding-left: 5.4pt; width: 166.1pt; padding-right: 5.4pt; padding-top: 0in; border: windowtext 1pt solid;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;VS 2008 &lt;/b&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="204" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 153.1pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;VS 2010 &lt;/b&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;Description &lt;/b&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;Key differences &lt;/b&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 1"&gt;
&lt;td width="221" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; padding-left: 5.4pt; width: 166.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;VS Team System Test Edition&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;VS Team System Suite &lt;/p&gt;
&lt;/td&gt;
&lt;td width="204" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 153.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;VS Ultimate 2010 &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Client for developing load tests and web tests, running tests, and analyzing results. Enables limited &amp;ldquo;local&amp;rdquo; load generation from the same machine VS is on.&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Test Edition is gone, load testing is only available in Ultimate.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Both VS 2008 and VS 2010 limit local load generation to one core. However, VS 2010 has the addition restriction of only allowing 250 virtual users. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 2"&gt;
&lt;td width="221" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; padding-left: 5.4pt; width: 166.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Visual Studio Team System 2008 Test Load Agent &lt;/p&gt;
&lt;/td&gt;
&lt;td width="204" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 153.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Visual Studio Load Test Virtual User Pack 2010 &lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Product required for generating load &lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;VU Packs are installed on the controller, and can be used on any number of agents. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;VU Packs are just &amp;ldquo;paper licenses&amp;rdquo; that enable load generation. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;VU Packs are tied to a controller, much like in VS 2008 Load Agent licenses were tied to the agent machine.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 3"&gt;
&lt;td width="221" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; padding-left: 5.4pt; width: 166.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Test Controller &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="204" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 153.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Visual Studio Test Controller &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Distributes tests to agents, manages automated test runs, centralizes data collection from agents.&lt;/p&gt;
&lt;p&gt;In VS 2008, the test controller is free when you purchase a load agent.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;In VS 2010, the test controller is free when you purchase VS Ultimate, Premium, or Test Pro.&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;The 2010 test controller is used in a number of additional scenarios: &lt;/p&gt;
&lt;p class="MsoNormal"&gt;Lab management and provisioning test environment &lt;/p&gt;
&lt;p class="MsoNormal"&gt;Manages data collection agents for manual testing &lt;/p&gt;
&lt;p class="MsoNormal"&gt;Manages automated runs on Test Agents&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow: 4; mso-yfti-lastrow: yes"&gt;
&lt;td width="221" valign="top" style="border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; padding-bottom: 0in; padding-left: 5.4pt; width: 166.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="204" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 153.1pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;Visual Studio Test Agent &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;The test agent allows distributed, parallel&amp;nbsp;functional and unit test execution, as well as distributed data collection. The agent is also used as a load generator in conjuction with the Virtual User Pack on the controller.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="213" valign="top" style="border-bottom: windowtext 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 159.6pt; padding-right: 5.4pt; border-top: medium none; border-right: windowtext 1pt solid; padding-top: 0in;"&gt;
&lt;p class="MsoNormal"&gt;VUser licenses are required on the controller to generate load. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;See Test Controller for additional scenarios that are enabled. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If you licensed &lt;strong&gt;VS Team System Test Edition 2008 &lt;/strong&gt;or &lt;strong&gt;Suite 2008 &lt;/strong&gt;under SA, you can transition your license to &lt;strong&gt;VS Ultimate 2010 &lt;/strong&gt;under the SA agreement. Similarly, if you purchased load agent licenses under SA we will also provide a transition from &lt;strong&gt;Visual Studio Team System 2008 Test Load Agent &lt;/strong&gt;to &lt;strong&gt;Visual Studio Load Test Virtual User Pack 2010&lt;/strong&gt;. Please refer to Licensing Whitepaper, EULA and/or Product Use rights for licensing requirements.&lt;/p&gt;
&lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9972147" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Team+Test/">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2008+SP1/">Visual Studio 2008 SP1</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Unit+Test/">Unit Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Parameterizing Tests to Run in Different Environments</title><link>http://blogs.msdn.com/b/edglas/archive/2010/02/16/parameterizing-tests-to-run-in-different-environments.aspx</link><pubDate>Tue, 16 Feb 2010 14:24:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9964286</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9964286</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/02/16/parameterizing-tests-to-run-in-different-environments.aspx#comments</comments><description>&lt;p&gt;Sean has a great post on &lt;a href="http://blogs.msdn.com/slumley/pages/running-web-and-load-tests-from-the-command-line.aspx"&gt;running Web tests and load tests from the command line&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;A hidden feature is that you can set parameter values from environment variables, which enables you to target different environments with the same test without editing the test.&lt;/p&gt;  &lt;p&gt;You may develop your web tests and load tests in one test environment, and then need to re-run it against another environment. A common practice is to have test, preproduction, and production environments.&lt;/p&gt;  &lt;p&gt;In Web tests, you can use the &lt;a href="http://msdn.microsoft.com/en-us/library/ms184806.aspx"&gt;Parameterize Web Server&lt;/a&gt; command to put the server part of the URL in a context parameter. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_thumb.png" width="353" height="253" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_thumb_1.png" width="290" height="279" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now my target server has been parameterized out to the WebServer1 context parameter. Depending on your test, you may also need to add additional parameters. For example, some Web applications send the URL in a query string. In VS 2010, use the search command to find all instances of the target server and replace it with a context parameter.&lt;/p&gt;  &lt;p&gt;That’s great, but does that mean you need to edit the Web test to target a different environment? No!&lt;/p&gt;  &lt;p&gt;There are two ways to override Web test context parameters:&lt;/p&gt;  &lt;p&gt;1) override the value &lt;strong&gt;from an environment variable&lt;/strong&gt;. An environment variable with the name &lt;strong&gt;Test.&lt;/strong&gt;WebServer1 will override the value of the WebServer1 context parameter. In a similar way you can override variable values in a unit test.&lt;/p&gt;  &lt;p&gt;2) create a context parameter with the same name in the load test. The load test parameter value will override the Web test value. Here I’ve created a run settings that targets the test environment. Notice that the run setting is configured to collect counters from the target web server, and it overrides the context parameter value to set the same web server.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_12.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_thumb_5.png" width="236" height="428" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now I can create a second Run Settings in my load test to target the pre-production environment:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_14.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_thumb_6.png" width="244" height="92" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_16.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ParameterizingTeststoRuninDifferentEnvir_8459/image_thumb_7.png" width="244" height="173" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now I have two run settings in my load test, each targeting a different environment. &lt;/p&gt;  &lt;p&gt;Great, does that mean I have to edit my load test to target a different environment? No!&lt;/p&gt;  &lt;p&gt;Here is the real hidden gem: &lt;strong&gt;you can override the default run settings&lt;/strong&gt; in your load test by setting an environment variable from the command line:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Set Test.UseRunSetting=PreProdEnvironment       &lt;br /&gt;mstest /testcontainer:loadtest1.loadtest&lt;/strong&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;These features have been in the product since VS 2005.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9964286" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Test+Automation/">Test Automation</category></item><item><title>Install Visual Studio 2010 RC Today</title><link>http://blogs.msdn.com/b/edglas/archive/2010/02/09/install-visual-studio-2010-rc-today.aspx</link><pubDate>Tue, 09 Feb 2010 02:29:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9960150</guid><dc:creator>Ed Glas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9960150</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/02/09/install-visual-studio-2010-rc-today.aspx#comments</comments><description>&lt;p&gt;Visual Studio 2010 RC is available on the Web today for MSDN subscribers. Go to the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;RC landing page&lt;/a&gt; for details.&lt;/p&gt;  &lt;p&gt;We have a very short window, just a few weeks, for incorporating feedback from you back into the product for RTM. &lt;strong&gt;Please install the RC today, so we can fix any critical issues you find &lt;/strong&gt;in the product before RTM. We’ve already fixed a couple of bugs since the RC in the load testing product, generated from internal adopters of the RC. Overall feedback so far has been very positive – people love this release!&lt;/p&gt;  &lt;p&gt;Between Beta 2 and RC we’ve made substantial improvements across VS, especially focusing on performance and reliability of VS. &lt;/p&gt;  &lt;p&gt;We have been very busy since releasing beta 2. Of course we’ve fixed bugs across the feature set and also rounded out some rough edges, including:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Web Test Recorder&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With the RC release, we now have addressed the most common problems as described in &lt;a href="http://blogs.msdn.com/mtaute/archive/2007/11/09/diagnosing-and-fixing-web-test-recorder-bar-issues.aspx"&gt;Diagnosing and fixing Web Test recorder bar issues.&lt;/a&gt; We have also fixed some patterns around correlation and hidden field binding in AJAX requests that we were not handling properly before.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Handle security context switches in IE7 and IE8 in the recorder&lt;/li&gt;    &lt;li&gt;Handle process boundaries in IE8 in the recorder&lt;/li&gt;    &lt;li&gt;Handle Window.Open going across process boundaries&lt;/li&gt;    &lt;li&gt;Two pass hidden field matching (better matching for ajax requests) &lt;/li&gt;    &lt;li&gt;Better dynamic field detection (handles cases where referrer not set)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Web Test&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Support for binary post bodies, which includes a new option in tools-options-web test, and an extensibility point to override the form post body editor control. Customers testing SilverLight clients calling via WCF will find this pattern now “just works” in the RC.&lt;/li&gt;    &lt;li&gt;Parameterize server command now handles urls in query string parameters. This is a pretty common pattern, as seen in SharePoint.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Analyzer&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We made really nice changes in the analyzer to address feedback you’ve given us.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Details view: filter by error type. This gives a super-powerful way to visualize certain errors.&lt;/li&gt;    &lt;li&gt;Details view: Paint overview graph on details zoom bar. This enables you to see what was going on in the test at a particular point in time.&lt;/li&gt;    &lt;li&gt;Maximize use of space in graph view for graphs: make zoombars and fonts smaller, move vertical zoom&lt;/li&gt;    &lt;li&gt;Counter Range Groups sets like ranges for like counters (e.g. two instances of the same counter always use the same range, or related counters such as Bytes Sent, Bytes Received, and Bytes Total) &lt;/li&gt;    &lt;li&gt;Use transaction request time, not elapsed time, in stats&lt;/li&gt;    &lt;li&gt;Show transaction stats in tables view&lt;/li&gt;    &lt;li&gt;Differentiate GET and POST for the same urls in reports&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Reporting&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Select default counters for excel reports. This makes it a lot easier to create your first report.&lt;/li&gt;    &lt;li&gt;Excel reports now work on 64 bit Excel&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Load Test API&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Expose run id in load test object&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Please install the RC and send us your feedback.&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9960150" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test+Recorder/">Web Test Recorder</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Performance+Testing/">Performance Testing</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Configuration Options for Load Testing with Visual Studio 2010</title><link>http://blogs.msdn.com/b/edglas/archive/2010/02/07/configuration-options-for-load-testing-with-visual-studio-2010.aspx</link><pubDate>Sun, 07 Feb 2010 22:14:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9959472</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9959472</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/02/07/configuration-options-for-load-testing-with-visual-studio-2010.aspx#comments</comments><description>&lt;p&gt;In this post I outlined the products you need for load testing with Visual Studio 2010. I included a diagram with one configuration option for load tests. Here I will discuss other configurations available.&lt;/p&gt;  &lt;h2&gt;Configuration 1: “Local” Load Generation&lt;/h2&gt;  &lt;p&gt;This is what you get when you install Visual Studio Ultimate, which is the ability to generate load “locally” using the test host process on the same machine that VS is running on. In addition to limiting load to 250 users, it is also limited to one core on the client CPU. &lt;/p&gt;  &lt;p&gt;Note that purchasing Ultimate also gives you the ability to collect ASP.NET profiler traces by using a Test Agent as a data collector on the Web server.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_thumb_1.png" width="299" height="360" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Configuration 2: Distributed Test Controller and Test Agents&lt;/h2&gt;  &lt;p&gt;This is a common configuration if you are scaling out your load agents. With this configuration, the Test Controller and each Test Agent is on a separate machine. &lt;/p&gt;  &lt;p&gt;The advantage of this configuration is the controller is easily shared by team members, and overhead from the controller does not interfere with load generation nor operation of the client. &lt;/p&gt;  &lt;p&gt;Note the Test Controller must have one or more &lt;a href="http://blogs.msdn.com/edglas/archive/2009/10/20/getting-started-with-visual-studio-2010-beta-2.aspx"&gt;Virtual User Packs installed&lt;/a&gt; to enable load testing. Load agents in this configuration always use all cores on the machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_thumb_2.png" width="291" height="628" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Configuration 3 A and B: Stacked Configuration&lt;/h2&gt;  &lt;p&gt;With configuration A, you install the Test Controller and Test Agent on the same machine as VS, then configure the Test Controller with Virtual User Packs. This enables you to generate &amp;gt;250 virtual users from the client machine, and unlocks all cores in the processor. Configuration B shows an alternative configuration, enabled if you configure the machine with Virtual User Packs using the VSTestConfig command line.&lt;/p&gt;  &lt;p&gt;Note that a Virtual User Pack can only be used on one machine at a time, and configuring it on a machine ties it to that machine for 90 days. So you can’t have the same Virtual User Pack installed on both the VS client and a separate machine running the Test Controller. See the Virtual User Pack license for details.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_thumb_3.png" width="712" height="562" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h2&gt;Configuration 4: Stacked Controller, Distributed Agents&lt;/h2&gt;  &lt;p&gt;In this configuration, the controller is running on the same machine as the Test client, with distributed agents running as load generators. This configuration is recommended if you have a solo performance tester. If your test controller and test agents will be shared by a team, we recommend running the controller on a separate box. Note that test agents are tied to a single test controller. You can’t have two test controllers controlling the same agent.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_10.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/ConfigurationOptionsforLoadTestingwithVi_F170/image_thumb_4.png" width="281" height="584" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;If you are using Visual Studio 2008, these options should look familiar to you as the VS 2008 load agents and controller offered the same configuration options. The new twist with VS 2010 is the Virtual User Packs, which, as I explained in &lt;a href="http://blogs.msdn.com/edglas/archive/2009/10/20/introducing-the-microsoft-visual-studio-load-test-virtual-user-pack-2010.aspx"&gt;this post&lt;/a&gt;, offer you more flexibility in how you configure your load agents.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9959472" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>VS 2010 Product SKU Lineup Finalized</title><link>http://blogs.msdn.com/b/edglas/archive/2010/02/07/vs-2010-sku-lineup-and-pricing-finalized.aspx</link><pubDate>Sun, 07 Feb 2010 01:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9959317</guid><dc:creator>Ed Glas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9959317</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2010/02/07/vs-2010-sku-lineup-and-pricing-finalized.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;Here are the VS 2010 SKUs, and testing features available in each (see &lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;this link&lt;/a&gt; for more feature comparisons).    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;h2&gt;Client SKUs   &lt;p&gt;&lt;/p&gt; &lt;/h2&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-top-alt: solid #4f81bd 1.0pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4f81bd 1.0pt; mso-border-bottom-themecolor: accent1" class="MsoTableLightShadingAccent1" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 5" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Name               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 1" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Test tools it contains               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 0"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio 2010 Ultimate&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Test Tools in VS Premium             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d; mso-bidi-font-weight: bold"&gt;Load Testing             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d; mso-bidi-font-weight: bold"&gt;Network Emulation             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d; mso-bidi-font-weight: bold"&gt;IntelliTrace             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d; mso-bidi-font-weight: bold"&gt;Microsoft Test Manager (manual testing and test case management)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d; mso-bidi-font-weight: bold"&gt;Test Agents, Test Controller             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio 2010 Premium&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Test Tools in Pro             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;ASP.NET Profiler             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Coded UI Tests (UI Automation)&lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Test Data Generator             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio 2010 Professional&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Unit tests             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: #1f497d"&gt;Test&lt;span style="mso-bidi-font-weight: bold"&gt; Professional 2010                 &lt;p&gt;&lt;/p&gt;               &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Microsoft Test Manager             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Test Agents&lt;span style="mso-bidi-font-weight: bold"&gt;, Test Controller&lt;/span&gt;              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;Server SKUs   &lt;p&gt;&lt;/p&gt; &lt;/h2&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-top-alt: solid #4f81bd 1.0pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4f81bd 1.0pt; mso-border-bottom-themecolor: accent1" class="MsoTableLightShadingAccent1" border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 5" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Name               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 1" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Test tools it contains               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 0"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;TFS               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Includes TCM Server, and some lab management components             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio Lab Management 2010               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;VMM Server, Visual Studio Agents             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio Agents 2010               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;               &lt;p&gt;&amp;#160;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; background: #d3e0ef; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;Test Agent, Test Controller, Lab Agent             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 180.9pt; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="241"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: #1f497d"&gt;Visual Studio Load Test Virtual User Pack 2010               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 2.5in; padding-right: 5.4pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="240"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;A license key (no extra software)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: #1f497d"&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Note that the Lab Management product will be shipped sometime post VS 2010 RTM. An RC build will be available when VS 2010 ships. We are looking for more customer feedback before we RTM the product.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now, looking at a typical load testing configuration:   &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/VS2010SKULineupandPricingFinalized_12165/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/VS2010SKULineupandPricingFinalized_12165/image_thumb_1.png" width="301" height="671" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Just using Visual Studio Ultimate enables you to generate 250 virtual users of load. To go higher than 250 users, you need to purchase a Virtual User Pack, which gives you 1000 users. You can use the 1000 users on any number of agents. Note that if you install the Virtual User Pack on the same machine as Visual Studio Ultimate, you do not get 1250 users on the controller. The 250 virtual users you get with Ultimate can only be used on “local” runs, not on a Test Controller. If you need to generate more 1000 users, you purchase additional Virtual User Packs, which aggregate or accumulate on the Test Controller. In other words, installing 2 Virtual User Packs on one controller gives you 2000 Virtual Users, which can be run on any number of agents.   &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The Test Controller and Test Agent are “free” when you purchase Ultimate.   &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;h2&gt;Transitioning from Visual Studio 2008   &lt;p&gt;&lt;/p&gt; &lt;/h2&gt;  &lt;p class="MsoNormal"&gt;If you are transitioning from Visual Studio 2008 Team System Edition for Testers, or Visual Studio 2008 Team Suite, and and have purchased &lt;b style="mso-bidi-font-weight: normal"&gt;Software Assurance&lt;/b&gt;, you will automatically be transitioned into Visual Studio Ultimate 2010.     &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;If you have purchased &lt;b style="mso-bidi-font-weight: normal"&gt;Visual Studio Team Test Load Agent 2008&lt;/b&gt; under Software Assurance, you will be granted &lt;b style="mso-bidi-font-weight: normal"&gt;5 Virtual User Packs&lt;/b&gt;.    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;h3&gt;VS 2010 Compatibility with VS 2008   &lt;p&gt;&lt;/p&gt; &lt;/h3&gt;  &lt;p class="MsoNormal"&gt;All of your test assets will transfer 100% from Visual Studio 2008: Load tests, web tests, unit tests, and test projects. On opening the test project, you will be prompted to convert the project to VS 2010. Clients and test controller/test agents are not compatible with each other. So 2008 clients can’t talk to a 2010 controller, and visa-versa. Also 2008 agents and controllers do not mix with 2010 agents or controller. This is the same constraints we had when moving from VS 2005 to VS 2008.   &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;One thing that does not get upgraded is the load test results database. &lt;span style="mso-spacerun: yes"&gt;&amp;#160;&lt;/span&gt;On installation of VS 2010, a new database is created. If you want to continue to work with previous load test results, you can use the load test results manager in VS 2008 to export them from the VS 2008 database and then use VS 2010 to import them into VS 2010.    &lt;p&gt;&lt;/p&gt; &lt;/p&gt;  &lt;h2&gt;Conclusion   &lt;p&gt;&lt;/p&gt; &lt;/h2&gt;  &lt;p class="MsoNormal"&gt;I hope you find the move to VS 2010 a smooth one, I certainly expect you will. There are many, many new features in VS 2010 that you’ll want to take advantage of, overall I highly recommend you upgrade as soon as you can, it will be worthwhile for you to do so.   &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9959317" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Test+Automation/">Test Automation</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>New Web and Load Test Features in Beta2</title><link>http://blogs.msdn.com/b/edglas/archive/2009/10/21/new-web-and-load-test-features-in-beta2.aspx</link><pubDate>Wed, 21 Oct 2009 20:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910895</guid><dc:creator>Ed Glas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9910895</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2009/10/21/new-web-and-load-test-features-in-beta2.aspx#comments</comments><description>&lt;p&gt;In beta2 we added a number of new minor features, and a couple of major ones.&lt;/p&gt;  &lt;p&gt;We also changed our licensing model, which you can read about &lt;a href="http://blogs.msdn.com/edglas/archive/2009/10/20/introducing-the-microsoft-visual-studio-load-test-virtual-user-pack-2010.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Here is a list of the minor features we added, along with a brief description of each. The last one in the list, compare two runs in Excel, is probably my most favorite feature in the entire release.&lt;/p&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; width: 6.95in; border-collapse: collapse; border-top: medium none; border-right: medium none; mso-border-top-alt: solid #4f81bd 1.0pt; mso-border-top-themecolor: accent1; mso-border-bottom-alt: solid #4f81bd 1.0pt; mso-border-bottom-themecolor: accent1; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class="MsoTableLightShadingAccent1" border="1" cellspacing="0" cellpadding="0" width="667"&gt;&lt;tbody&gt;     &lt;tr style="height: 15pt; mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 5" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Area               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 1" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Title               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: #4f81bd 1pt solid; border-right: medium none; padding-top: 0in; mso-border-top-themecolor: accent1; mso-border-bottom-themecolor: accent1" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 1" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Description               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 0"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Recorder             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Recorder options in tools options             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Starting URL&lt;/span&gt;&lt;/b&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt; supplies a default url to start recording from.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;          &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Two new options to &lt;b style="mso-bidi-font-weight: normal"&gt;control whether or not&lt;/b&gt; the recorder does &lt;b style="mso-bidi-font-weight: normal"&gt;hidden field matching&lt;/b&gt;, and whether or not it runs the &lt;b style="mso-bidi-font-weight: normal"&gt;dynamic parameter detection&lt;/b&gt; tool after recording completes.              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Recorder             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Recorder records all requests by default, fold dependents under page             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;In 2008, static dependents not found by the dependents parser were not recorded by default. Now they are.&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Web test              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;search/replace             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Search and replace in web test requests!             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 3"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Playback             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Add request bytes column             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Request byte count is now shown in request list pane in playback (in addition to response byte count)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 4"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Playback             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;PreRequestDataBinding event             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;This new event fires before data binding occurs, allowing a plugin to dynamically change data bindings in a request.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 5"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Data binding             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;64 bit csv             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;This fixes a limitation we had in beta1, and now enables csv data sources on 64 bit machines.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 6"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Data binding             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;New APIs on WebTest to control data cursor position and reload data             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Give full control over the cursor, enabling tight control of which user is using what data. Also reload enables refreshing a datasource during the test.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 7"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Load Test             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Scrub counter sets             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;We refreshed the set of counters being collected, thresholds, and default counters.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 8"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Analyzer             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Add standard deviation and 99&lt;sup&gt;th&lt;/sup&gt; percentile stats to load test analyzer              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;             &lt;p&gt;&amp;#160;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 9"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Analyzer             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Graph instance 0 for CPU on local runs by default             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Fixes the problem documented in &lt;a href="http://blogs.msdn.com/edglas/archive/2009/05/19/are-you-reporting-inaccurate-performance-numbers-with-vs-2008.aspx"&gt;this post&lt;/a&gt;.              &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 10"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Analyzer             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Specify range for a counter (CPU range is 100)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Now you can specify a range for a given counter. Also percentage counters get a range of 100 by default.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 11"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Analyzer             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Fixed range on perf graph             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;The performance graph now gets a default range set for it (range is rounded up response time of the slowest measurement)             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 12"&gt;       &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 68" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri; mso-bidi-font-weight: bold"&gt;Analyzer             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Computer tags             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: medium none; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; background: #d3e0ef; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-background-themecolor: accent1; mso-background-themetint: 63" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 64" class="MsoNormal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Computer tags enable you to classify computers by function (e.g. web server, db server, etc.). Also enables run to run comparison even if the runs are on different physical machines.             &lt;p&gt;&lt;/p&gt;           &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 15pt; mso-yfti-irow: 13; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 77.4pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="103" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt; mso-yfti-cnfc: 4" class="MsoNormal"&gt;&lt;b&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Reporting               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 171pt; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="284" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;Compare two runs in Excel               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #4f81bd 1pt solid; border-left: medium none; padding-bottom: 0in; padding-left: 5.4pt; width: 3.5in; padding-right: 5.4pt; height: 15pt; border-top: medium none; border-right: medium none; padding-top: 0in; mso-border-bottom-themecolor: accent1" valign="top" width="280"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;span style="color: black; mso-ascii-font-family: calibri; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;; mso-hansi-font-family: calibri; mso-bidi-font-family: calibri"&gt;This is a new, rich reporting option that enables you to compare performance and resource utilization data in two different runs.               &lt;p&gt;&lt;/p&gt;             &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910895" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test/">Web Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Web+Test+Recorder/">Web Test Recorder</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test+Reports/">Load Test Reports</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Getting Started with Visual Studio 2010 Beta 2</title><link>http://blogs.msdn.com/b/edglas/archive/2009/10/20/getting-started-with-visual-studio-2010-beta-2.aspx</link><pubDate>Tue, 20 Oct 2009 18:59:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910123</guid><dc:creator>Ed Glas</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9910123</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2009/10/20/getting-started-with-visual-studio-2010-beta-2.aspx#comments</comments><description>&lt;p&gt;As you are probably already aware, Visual Studio Beta 2 is now available for download, see the landing page &lt;a href="http://go.microsoft.com/fwlink/?LinkID=151797"&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;For load testing, you will need to download and install: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Visual Studio Ultimate Beta 2 (x86)&lt;/p&gt;    &lt;p&gt;Visual Studio 2010 Team Agents Beta 2 (x86)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ultimate is the new equivalent of Team Suite, and contains Web performance tests and load tests. &lt;/p&gt;  &lt;p&gt;Team Agents contains the controller and agents. Note that the x86 agent contains both 32 and 64 bit assemblies, so if you are looking for the 64 bit version of the load agent, this is the download you need. &lt;/p&gt;  &lt;p&gt;As I posted here, we have moved to a virtual user license model. Ultimate is limited to 250 virtual users and one core of the CPU. To generate more than 250 users and use all cores on your machine, you will need to install a virtual user pack.&lt;/p&gt;  &lt;p&gt;The most straight forward way to do this is to install a controller and agent (or multiple agents) on the same or separate machines.&lt;/p&gt;  &lt;p&gt;We have re-architected the controller and agent setups such that setup does little more than lay down the assemblies, while a post-setup configuration tool does the heavy lifting to get the machine configured. The configuration steps are the ones that typically fail, so rather than having to reinstall the entire product and go back through all the configuration steps, if one part fails you only need to reconfigure that part. We have also enabled command line versions of both setup and the configuration tools.&lt;/p&gt;  &lt;p&gt;Here is the controller config tool with options called out:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/GettingStartedwithVisualStudio2010Beta2_BB35/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/GettingStartedwithVisualStudio2010Beta2_BB35/image_thumb_1.png" width="479" height="450" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So you will need to fill in the controller service user using a user with counter collection access to your systems under test (same as in VS 2008), and then configure the load test database in the “Configure for load testing” section.&lt;/p&gt;  &lt;p&gt;To&amp;#160; add virtual users, start a Visual Studio Command prompt as Administrator (on Vista or Win7, just type Visual Studio Command Prompt in the search window, on XP you’ll find this under the Visual Studio group in the start menu). Then run this command line:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;TestControllerConfig licenses /addkey:V10000&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This will license the controller for 10,000 virtual users. Note that this license is temporary, and will only work in beta2. For RTM, we will only offer the 1,000 user license pack. If you have a Volume License, you will be able to get your license key from the volume licensing site, and then enter a count of licenses you want to install.&lt;/p&gt;  &lt;p&gt;Once you have a virtual user license installed, that license can also be used for local runs (that is, the runs do not have to go through the controller).&lt;/p&gt;  &lt;p&gt;If you just want to do local runs, and not use the controller and agent, you can run this from the command line to install the virtual user license:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;VSTestConfig licenses /addkey:V10000&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This enables you to exceed 250 users for local runs, and unlocks all the cores on your CPU.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910123" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Introducing the Microsoft Visual Studio Load Test Virtual User Pack 2010</title><link>http://blogs.msdn.com/b/edglas/archive/2009/10/20/introducing-the-microsoft-visual-studio-load-test-virtual-user-pack-2010.aspx</link><pubDate>Tue, 20 Oct 2009 14:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909941</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9909941</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2009/10/20/introducing-the-microsoft-visual-studio-load-test-virtual-user-pack-2010.aspx#comments</comments><description>&lt;P&gt;In Visual Studio 2010, we are changing our load test licensing model. In VS 2005 and VS 2008, we shipped the load agent, which was licensed by CPU on the machine generating load. In Visual Studio 2010 &lt;STRONG&gt;we are changing our license model to a virtual user based model&lt;/STRONG&gt;. This new license model offers a number of &lt;STRONG&gt;advantages&lt;/STRONG&gt; for you, which is ultimately why we chose to make the change: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Still way less expensive than our competition.&lt;/LI&gt;
&lt;LI&gt;Enables better purchasing planning and allows an apples to apples price comparison with competitors.&lt;/LI&gt;
&lt;LI&gt;Enables more flexible machine allocation for load generation.&lt;/LI&gt;
&lt;LI&gt;Enables you to use agents for more than just load testing.&lt;/LI&gt;&lt;/OL&gt;
&lt;H2&gt;Still Way Less Expensive than our Competitors&lt;/H2&gt;
&lt;P&gt;Your initial reaction may be “Groan – that means that Microsoft is going to be just as expensive as those other tools!” But that is &lt;EM&gt;not &lt;/EM&gt;the case at all, we were careful to maintain the per-virtual-user price we set out initially with VS 2005. With VS 2005 and VS 2008 load agents, the price was around $5,000 per load agent CPU, and our general guidance was that for a typical load test expect around 1,000 virtual users per CPU. We are not yet disclosing our pricing yet, but I can tell you our goal is to stay in this same ball park with VS 2010.&lt;/P&gt;
&lt;H2&gt;Better Planning and Comparison&lt;/H2&gt;
&lt;P&gt;With the VS 2008 load agent, we often get questions from customers doing purchasing planning asking “How many load agents do we need to purchase? We are planning to test up to 5,000 virtual users.” To which our answer with VS 2008 was “we do not know, it depends on your application and test scripts.” Of course this it difficult to know how many agents to purchase until actually doing testing, which was often too late. With virtual user licenses, purchasers will know exactly how many licenses to buy. &lt;/P&gt;
&lt;P&gt;The old CPU-based license model also makes it very difficult to compare prices with competitive solutions. Most competitive products are licensed by virtual user and data collectors. If you know how many virtual users you want to test to, but do not know how many agents you will need to generate that number of users, it is impossible to make a comparison. With the Visual Studio Load Test Virtual User Packs 2010, if you know the virtual user count you want to test to, &lt;STRONG&gt;you will know exactly how many licenses to purchase&lt;/STRONG&gt;, and be able to &lt;STRONG&gt;compare directly with competitive solutions &lt;/STRONG&gt;you may consider.&lt;/P&gt;
&lt;H2&gt;Enables More Flexibility with Load Generators&lt;/H2&gt;
&lt;P&gt;The virtual user license offers flexibility with the machines you use as load generators. &lt;/P&gt;
&lt;P&gt;With VS 2008, to get the full value of the per-CPU license, you had to run on fast CPUs, often requiring new hardware purchases. Also the license was locked to a particular machine, restricting which machines you could use as load generators. With Visual Studio 2010, you can now run virtual users on older hardware with no “penalty”, as &lt;STRONG&gt;you can line up as many older machines as you wish to generate the target number of virtual users&lt;/STRONG&gt;. Also, the virtual user license is now tied to the controller, not the agent machine, so &lt;STRONG&gt;you are allowed to move agent machines in and out of the agent pool&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;For some tests, you may run out of some other resources before running out of CPU. The most common case for this in VS 2008 was load agents running out of memory before CPU (especially for web tests with very large post bodies or very large responses), which prevented customers from realizing the full value of their license. With the virtual user license, if this happens you can &lt;STRONG&gt;simply add more machines to the agent pool to achieve the load you are targeting&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H2&gt;Visual Studio 2010 Agents: More than just Load Generators&lt;/H2&gt;
&lt;P&gt;With the high cost of the agent license, we did not have a viable solution for distributed functional testing. In Visual Studio 2010, agents are now included at no extra cost with VS Premium, Ultimate, and Test Elements. We’ve added Data Collection facility to agents, and added new UI automation test type, which opens up a bunch of new scenarios for using agents. &lt;/P&gt;
&lt;H2&gt;What if I already have VS 2008 Load Agents?&lt;/H2&gt;
&lt;P&gt;If you have purchased VS 2008 load agents with software assurance, you will be able to migrate your existing licenses to a commiserate set of Virtual User License Packs. We will iron out the details and mechanics of this once we get closer to RTM.&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;You can see there are many advantages to you with the new licensing model.&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909941" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+Load+Controller/">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Agent/">Load Agent</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item><item><title>Using The Virtual User Activity Chart to Understand the VS Load Engine</title><link>http://blogs.msdn.com/b/edglas/archive/2009/10/19/using-the-virtual-user-activity-chart-to-understand-the-vs-load-engine.aspx</link><pubDate>Mon, 19 Oct 2009 03:07:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9908886</guid><dc:creator>Ed Glas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/edglas/rsscomments.aspx?WeblogPostID=9908886</wfw:commentRss><comments>http://blogs.msdn.com/b/edglas/archive/2009/10/19/using-the-virtual-user-activity-chart-to-understand-the-vs-load-engine.aspx#comments</comments><description>&lt;p&gt;In dev10 we’ve added a new Virtual User Activity Chart that shows virtual user activity. Each row on the chart is a virtual user.&lt;/p&gt;  &lt;h3&gt;Covering the Basics of the Chart&lt;/h3&gt;  &lt;p&gt;See Sean Lumley’s post &lt;a title="VSTS 2010 Feature- Load test virtual user activity visualization" href="http://blogs.msdn.com/slumley/archive/2009/06/09/vsts-2010-feature-load-test-virtual-user-activity-visualization.aspx"&gt;VSTS 2010 Feature- Load test virtual user activity visualization&lt;/a&gt; to see an over view of the Virtual User Activity Chart.&lt;/p&gt;  &lt;p&gt;Below is the test view of the chart, which shows which shows which test a user is running. This load test has 25 user constant load, with three unit tests in it: Fast (takes 1 second to execute), Medium (takes 5 seconds to execute), and Slow (takes 10 seconds to execute), using the Sequential Test Mix (which I will go into more detail on later in the post).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_28.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_13.png" width="851" height="322" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Zooming in and using Paint to group 5 users at a time for easy counting, the chart shows 25 rows, one for each user.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_32.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_15.png" width="201" height="391" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Zooming in using the zoom bar on the chart, you can see user 0 first ran the fast test, then the medium test, then the slow test:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_36.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_17.png" width="797" height="208" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Which is confirmed by hovering over the purple Medium test bar:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_40.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_19.png" width="244" height="164" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This view shows you exactly what each virtual user was executing during the test, so it will enable you to see patterns of user activity, load patterns, and correlate failed or slow tests and requests with other virtual user activity.&lt;/p&gt;  &lt;p&gt;Another use of this view is it really helps you understand what the load engine does.&lt;/p&gt;  &lt;p&gt;In this post, I’ll review various properties in the load engine and show the details view so you can see the effect these properties have.&lt;/p&gt;  &lt;h2&gt;Understanding Test Mixes&lt;/h2&gt;  &lt;p&gt;First, I’ll show different test mixes and their corresponding details view, using tests that will accentuate the differences in the mixes.&lt;/p&gt;  &lt;p&gt;I’ll use three tests, long, medium and short. Long runs for 10 seconds, medium for 5 seconds, and short for 1 second. &lt;/p&gt;  &lt;h3&gt;Test Mix Based on Number of Tests Started&lt;/h3&gt;  &lt;p&gt;Here is the Activity Chart for this test mix, with 34% Fast, 33% Medium, 33% Slow. With this mix, as each user finishes a test, the user randomly selects the next test based on the test weightings. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb.png" width="828" height="207" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;One think you’ll notice is the predominance of Yellow, and lack of Blue. You wouldn’t think it to look at the user details view, but at the end of this test, the count for each test type is roughly the same. Since the Slow test runs 10x slower than the fast test, there is 10x more yellow than blue.&lt;/p&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; width: 68.18%; border-top: #d4d0c8 1pt solid; border-right: #d4d0c8 1pt solid; mso-cellspacing: 0in; mso-border-top-alt: solid #d4d0c8 .75pt; mso-border-right-alt: solid #d4d0c8 .75pt; mso-yfti-tbllook: 1184" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="68%"&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Name &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Total Tests &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Avg. Test Time (sec) &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;span style="color: blue"&gt;Slow&lt;/span&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;912 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;10.0 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;span style="color: blue"&gt;Medium&lt;/span&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;934 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;5.00 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;span style="color: blue"&gt;Fast&lt;/span&gt; &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;1,012 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;1.00 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;34/33/33 Test Mix Based on the Number of Virtual Users Starting Tests&lt;/h3&gt;  &lt;p&gt;What this mix is doing is trying to keep, and any given time, the mix of virtual users running the tests to hit the percentage specified. Given the fast test starts and ends so quickly, you would expect a lot of more iterations of the fast test which is exactly what we see, a lot more blue:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_2.png" width="824" height="210" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; width: 68.18%; border-top: #d4d0c8 1pt solid; border-right: #d4d0c8 1pt solid; mso-cellspacing: 0in; mso-border-top-alt: solid #d4d0c8 .75pt; mso-border-right-alt: solid #d4d0c8 .75pt; mso-yfti-tbllook: 1184" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="68%"&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Name &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Total Tests &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Avg. Test Time (sec) &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Slow &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;472 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;10.0 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Medium &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;952 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;5.00 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Fast &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;5,329 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;1.00 &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;Test Mix Based on User Pace&lt;/h3&gt;  &lt;p&gt;In this test, I’ll run the same three tests, and specify they each run 120 times per hour. I chose 120 since it will take 16 seconds to run all three tests, so if I run each twice a minute, I should get a nice graph with about half the time spent running tests. Of course, this mix is not intended to be used this way, it should be used to model your user behavior (how many times an hour do you expect a user to do a particular action).&lt;/p&gt;  &lt;p&gt;Now we see a very different graph, with a lot of pacing time between iterations:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_3.png" width="805" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;table style="border-bottom: medium none; border-left: medium none; width: 68.18%; border-top: #d4d0c8 1pt solid; border-right: #d4d0c8 1pt solid; mso-cellspacing: 0in; mso-border-top-alt: solid #d4d0c8 .75pt; mso-border-right-alt: solid #d4d0c8 .75pt; mso-yfti-tbllook: 1184" class="MsoNormalTable" border="1" cellspacing="0" cellpadding="0" width="68%"&gt;&lt;tbody&gt;     &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Name &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Total Tests &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 4.8pt; padding-right: 0.75pt; background: #ece9d8; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Avg. Test Time (sec) &lt;/span&gt;            &lt;p&gt;&lt;/p&gt;         &lt;/p&gt;          &lt;p&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 1"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;a href="test:2"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Slow&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;174&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;10.0 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 2"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;a href="test:1"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Medium&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;177 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;5.00 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt;       &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;&lt;a href="test:0"&gt;&lt;span style="color: windowtext; text-decoration: none; text-underline: none"&gt;Fast&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;Scenario1 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;183 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td style="border-bottom: #d4d0c8 1pt solid; border-left: #d4d0c8 1pt solid; padding-bottom: 0.75pt; padding-left: 0.05in; padding-right: 0.75pt; border-top: medium none; border-right: medium none; padding-top: 2.4pt; mso-border-left-alt: solid #d4d0c8 .75pt; mso-border-bottom-alt: solid #d4d0c8 .75pt" nowrap="nowrap"&gt;         &lt;p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Tahoma&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 8.5pt; mso-fareast-font-family: &amp;#39;Times New Roman&amp;#39;"&gt;1.00 &lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h3&gt;Test Mix Based on Sequential Test Order&lt;/h3&gt;  &lt;p&gt;With this mix, each user simply runs the tests in the order you specify in the mix, which is easy to conceptualize and super-easy to see:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_4.png" width="820" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;The Effect of Think Time Between Iterations and Warmup Duration Properties&lt;/h3&gt;  &lt;p&gt;As you can see from this last detail view, this test has all users going lock step through the application, all doing exactly the same thing at the same time. While this may be useful for doing stress testing, it is not realistic user behavior, which is why we have the other test mixes which do a better job of varying what users are doing.&lt;/p&gt;  &lt;p&gt;Another way to vary what users are doing and introduce pacing into a scenario is by using Warmup Duration and Think Time Between Iterations. Think Time Between Iterations is especially important if your test only has a single web test in it (thus no think time), or you are running a unit test with no pacing (for unit tests this is implemented via sleep calls, but never use sleep calls in a web test).&lt;/p&gt;  &lt;p&gt;Here’s what happens when I put a 30 second warmup in the last test:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_12.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_5.png" width="833" height="187" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now you can see the virtual users stagger their start over 30 seconds.&lt;/p&gt;  &lt;p&gt;And here is the same test (no warmup) with a 5 second think time between iterations:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_16.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_7.png" width="847" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The variations are due to the Normal Distribution think time profile that is applied by default. This profile will vary the specified think time using a normal distribution (bell curve).&lt;/p&gt;  &lt;h3&gt;The Effect of Percentage of New Users&lt;/h3&gt;  &lt;p&gt;Now I am going to clear the delay between iterations, and use 100% new users. What I’d expect here is that each user will only run one test, leading to a lot of rows in the view, which is exactly what happens:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_8.png" width="244" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Scrolling up vertically one screen shows this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_20.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_9.png" width="244" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So you can see the load engine repeatedly starting new users. As one group of 10 users completes, the next group of 10 starts. New users have a clean cache and cookie container, which matter for web tests.&lt;/p&gt;  &lt;p&gt;Different mixes interact differently with the percentage of new users:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sequential Mix as you can plainly see above, we made the design decision on sequential mix to have each new user run each test once. &lt;/li&gt;    &lt;li&gt;With Test Mix Based on Sequential Test Order and Test Mix Based on Number of Tests Started, each user runs one test. &lt;/li&gt;    &lt;li&gt;Test Mix Based on User Pace ignores the percentage of new users altogether, as the mix relies on a repeat user to establish the proper pacing. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;The Effect of Test Mix Init and Terminate Tests&lt;/h3&gt;  &lt;p&gt;Init and terminate tests one once per each user. Switching my test back to 0 percent new users, and adding an init and terminate test shows the following:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_62.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_27.png" width="875" height="235" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Where the legend shows&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_44.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_21.png" width="134" height="88" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This clearly shows &lt;strong&gt;the init test running once per virtual user&lt;/strong&gt;, as the very first test executed, exactly as it should. &lt;/p&gt;  &lt;p&gt;But wait! Where is the terminate test? It is not in the legend, and does not show up scrolling the view all the way to the end of the test. This shows the terminate test only gets called when a cooldown period is configured in the load test. Re-running with a 30 second cool down demonstrates this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_66.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_29.png" width="883" height="254" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_48.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_23.png" width="141" height="111" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Understanding Load Patterns with the Virtual Users Activity Chart&lt;/h3&gt;  &lt;p&gt;Each of the above tests uses a constant user load of 25 users. Now I’ll use the chart to show how Step Load and Goal-based load based loads add users. For these tests, I’m going to use just one test in the mix, the 1 second fast test, to draw attention to the load pattern rather than the test mix.&lt;/p&gt;  &lt;h3&gt;Step Load&lt;/h3&gt;  &lt;p&gt;Here’s the Activity Chart for a step load pattern adding 10 users every 10 seconds until 100 users is reached. Notice the vertical scroll bar to scroll up to see the remaining users. Zooming in on the first 30 seconds shows the first 30 users created.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_24.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_1.png" width="244" height="169" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_30.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_10.png" width="118" height="231" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The step load Step Ramp Time property enables you to ramp the users added at each step. I highly recommend using this for every step load pattern, particularly if you are using large steps. Here I set a step ramp of 5 seconds, which shows users ramped up for each step over 5 seconds.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_34.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_11.png" width="244" height="165" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_38.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_12.png" width="115" height="252" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Goal Based Load&lt;/h3&gt;  &lt;p&gt;For a goal based load pattern, it is important that the counter you are seeking the goal on has a direct correlation with the load at each interval. So for this demonstration I put a tight loop in my test to provide a direct correlation between CPU on the load agent and the virtual user count. For this test, I also did a step load before hand to see what a good CPU range would be.&lt;/p&gt;  &lt;p&gt;Here’s user load:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_50.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_14.png" width="244" height="130" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Let’s look at the Activity Chart for the areas where the dips are:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_52.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_16.png" width="244" height="135" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here you can see virtual users stopping as they finish an iteration in order to achieve a lower load. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_56.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_24.png" width="244" height="164" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Scrolling up, you can see that new users are added to the test to move the load back up.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_58.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/UsingDetailsViewtoUnderstandtheVSloadeng_D21A/image_thumb_25.png" width="212" height="244" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One thing that surprised me here is that users are not recycled. That looks like a bug to me!&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;Hopefully this post unravels some of the properties of the load engine, and it shows you just one of the ways you can leverage the new Virtual User Activity Chart in dev10 to understand exactly what your load test is doing!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9908886" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Load+Test/">Load Test</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/tsbt_2D00_tst/">tsbt-tst</category><category domain="http://blogs.msdn.com/b/edglas/archive/tags/Visual+Studio+2010/">Visual Studio 2010</category></item></channel></rss>