<?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 VSTS load testing</title><link>http://blogs.msdn.com/edglas/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>New Web and Load Test Features in Beta2</title><link>http://blogs.msdn.com/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>edglas</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9910895.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9910895</wfw:commentRss><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/edglas/archive/tags/Web+Test/default.aspx">Web Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Web+Test+Recorder/default.aspx">Web Test Recorder</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test+Reports/default.aspx">Load Test Reports</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Getting Started with Visual Studio 2010 Beta 2</title><link>http://blogs.msdn.com/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>edglas</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9910123.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9910123</wfw:commentRss><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/edglas/archive/tags/Visual+Studio+Load+Controller/default.aspx">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Agent/default.aspx">Load Agent</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Introducing the Microsoft Visual Studio Load Test Virtual User Pack 2010</title><link>http://blogs.msdn.com/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:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909941</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9909941.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9909941</wfw:commentRss><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 Dev10, 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;Dev10 Agents are 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 Dev10, 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/edglas/archive/tags/Visual+Studio+Load+Controller/default.aspx">Visual Studio Load Controller</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Agent/default.aspx">Load Agent</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Using The Virtual User Activity Chart to Understand the VS Load Engine</title><link>http://blogs.msdn.com/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>edglas</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9908886.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9908886</wfw:commentRss><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/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Increasing the ROI of our Automation</title><link>http://blogs.msdn.com/edglas/archive/2009/06/13/increasing-the-roi-of-our-automation.aspx</link><pubDate>Sat, 13 Jun 2009 02:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9740580</guid><dc:creator>edglas</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9740580.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9740580</wfw:commentRss><description>&lt;P&gt;A while back I posted &lt;A href="http://blogs.msdn.com/edglas/archive/2008/08/15/so-you-want-to-automate-your-test-cases.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2008/08/15/so-you-want-to-automate-your-test-cases.aspx"&gt;this on automation&lt;/A&gt;. I want to resurface this topic now, as it has been on my mind a lot lately as we develop dev10. What is the “right” approach for automation? How do we make it pay off?&lt;/P&gt;
&lt;P&gt;Automation is hugely important for us. It enables us to ensure our software works on a myriad of OS (XP, Vista, Win7, Server 2003, Server 2008), processor architecture (x86, ia64), and language (English, German, Japanese, Chinese, etc.) combinations. &lt;/P&gt;
&lt;P&gt;At the end of the day, return on investment is what it is all about. Is it faster to develop and maintain an automated test case, or simply run the tests manually? If over the lifetime of a test case you spend more time fixing it than it would have taken to run the test manually for each time you ran the automated test, that test has not paid off. This is basic and obvious, but often times get overlooked when considering automation.&lt;/P&gt;
&lt;P&gt;Going back a bit in history to the VS 2005 release when we initially introduced load testing, we made a few huge mistakes with our approach to automation, mistakes which I see others repeating over and over:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;My test team wrote automation exclusively using UI automation. &lt;/LI&gt;
&lt;LI&gt;My test team owned developing and maintaining the automation. &lt;/LI&gt;
&lt;LI&gt;Dev “unit tests” were not considered “automation”.&lt;/LI&gt;
&lt;LI&gt;Devs and testers used different test automation frameworks.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;With dev10, we have reversed each of these, and are benefitting greatly from it.&lt;/P&gt;
&lt;P&gt;One thing I really want to emphasize is the cost of maintaining our UI automation. I have not looked at the exact number, but &lt;STRONG&gt;in the course of developing dev10 nearly every single UI automation test case has broken&lt;/STRONG&gt;. Contrast that with our tests that test at the API layer, I estimate that &lt;STRONG&gt;fewer than 10% have broken&lt;/STRONG&gt;. To add insult to injury, the &lt;STRONG&gt;UI tests are hugely expensive to fix&lt;/STRONG&gt;. API tests that break nearly always give compile errors, which are easy to fix. UI tests do not fail until you run them, and then you have to grovel through the test log to figure out what UI controls have changed to cause the failure, make a fix, rerun the test (perhaps to find another failure), all of which is extremely time consuming. &lt;/P&gt;
&lt;H3&gt;Increasing our ROI: A Cost-Based Approach to Automation&lt;/H3&gt;
&lt;P&gt;For dev10, we have developed four methodologies for automation, and consider each when considering how to automate testing of particular functionality. We give preference to the lowest cost approach. That is, if we can use a cheaper approach to automate, we do it that way and we don’t automate everything through the UI. In fact, the UI is the least favored approach, and is only done if none of the other approaches will give us the coverage we need. The approaches, in order of preference, are:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Unit tests&lt;/STRONG&gt; that run in the test process. Really “unit test” is a misnomer for most of these tests, as they typically test a broader area than a pure unit test. I prefer to call these tests API tests. The defining characteristics of these tests is that they are hosted by the test process. &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/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/IncreasingtheROIofourAutomation_B225/image_thumb.png" width=244 height=94 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_thumb.png"&gt;&lt;/A&gt; &lt;BR&gt;An example of this for our load test product is we have tests that run requests through our web test engine. &lt;BR&gt;&lt;BR&gt;Another example is in our TCM server product. Nearly all of the automation for TCM server has been developed using this approach. &lt;BR&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Command line tests&lt;/STRONG&gt;. With this approach we have “unit tests” that spawn our command line. The test code then waits for the command to complete, and then uses APIs to validate the command did the right thing. We use this approach for both web and load test features and for our TCM server. &lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/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/IncreasingtheROIofourAutomation_B225/image_thumb_1.png" width=410 height=112 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_thumb_1.png"&gt;&lt;/A&gt; &lt;BR&gt;For example, for load tests we have tests that run a load test from the command line, then access the load test database to ensure the results were as expected. This gives us substantial coverage of our web and load test feature set. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;API tests&lt;/STRONG&gt; that run in the process under test. mstest has a feature that enables processes other than vstesthost.exe to host the test code. An example of this is ASP.NET unit tests, which run in the ASP.NET process. We take advantage of this extensibility point to add our client processes as host processes. &lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/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/IncreasingtheROIofourAutomation_B225/image_thumb_2.png" width=421 height=120 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/IncreasingtheROIofourAutomation_B225/image_thumb_2.png"&gt;&lt;/A&gt; &lt;BR&gt;An example of this is we run our new TCM test client Camano (aka Microsoft Test and Lab Manager) as a test host. This is a bit of a mind bender, but we also actually run VS as a test host! So devenv starts vstesthost which starts a second copy of devenv. Once VS is loaded, our test code runs and has access to our architectural layer “just beneath the glass” and enables us to run web and load tests in the IDE (e.g. open a project, open and edit load tests in the project, run them, validate the UI through code). &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;UI Automation&lt;/STRONG&gt;. With this approach, our test code instantiates the client under test, and drives it through the mouse and keyboard (we drive VS through MSAA, and we drive our TCM client using UIA). &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;The cost of UI automation is at least an order of magnitude&lt;/STRONG&gt; &lt;STRONG&gt;greater &lt;/STRONG&gt;than the other three approaches. Isn’t it ironic that we are introducing a new UI automation test type in dev10. If UI tests are so bad, why are we bringing them to market? While I maintain that they are very expensive, &lt;STRONG&gt;UI tests are also absolutely necessary&lt;/STRONG&gt;. There are some things we simply cannot test without them (like dialogs, or some integrated, cross-process end-to-end scenarios). But if I go back and look at the UI tests we developed for web and load tests in VS 2005, the vast majority of them could have been implemented using a cheaper alternative.&lt;/P&gt;
&lt;H3&gt;Engineering for Automation: Developing Testable Software&lt;/H3&gt;
&lt;P&gt;Developing these other automation approaches did not come for free. We have deliberately architected our software to enable each of these approaches, and spent time developing test frameworks and reference patterns for each approach. It has really paid off in a big way. If you look at our TCM tests, we maintain an extremely high pass rate (98% plus). Our “legacy” UI tests from the 2005 release are in bad shape.&lt;/P&gt;
&lt;H3&gt;Whose job is it anyway? &lt;/H3&gt;
&lt;P&gt;At the end of the day, it is the test team’s job to help us understand whether or not we are ready to ship. Automation plays a huge role in that, since we are able to run our automation suites unattended and generate test results relatively quickly and concurrently on many different configurations. The test team is responsible for ensuring we have the right set of automation in place help us understand where we are at.&lt;/P&gt;
&lt;H4&gt;Getting Testers and Developers on the Same Page&lt;/H4&gt;
&lt;P&gt;However, it is not solely the test team’s job to develop and maintain the automation. The test team develops the test plan, which includes the scenarios and functionality we want to automate, but &lt;STRONG&gt;both the dev and test team develop and maintain the automation&lt;/STRONG&gt;. If a developer is writing “unit tests” for a new API they are developing, they work off the test plan to develop one of the specified test cases. Tester do not duplicate this effort by developing “their own” automation to cover. A key tenet is that &lt;STRONG&gt;testers and developers use the same frameworks and methodologies for developing automation&lt;/STRONG&gt;. Testers are able to run tests developed by devs, and visa-versa. Going back to the mistakes we made in VS 2005, this simple methodology, along with considering the most cost-effective way to automate a given test case, is the key to fixing each of these mistakes.&lt;/P&gt;
&lt;P&gt;Similarly, it is the entire team’s job to maintain the automated tests. As I said earlier, maintenance is the hidden and huge cost of doing automation. Devs must fix any compile errors in tests introduced by their changes, and also must ensure that all P1 tests pass before checking in. Testers and devs share the load on ensuring all P2 and P3 tests maintain a high pass rate. We run these once a week and distribute the load on driving them to passing.&lt;/P&gt;
&lt;P&gt;I hope you can also learn from our mistakes, and use our experience to improve your approach to automation. &lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9740580" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Guidance/default.aspx">Guidance</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Test+Automation/default.aspx">Test Automation</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Read this Before Running a Load Test with Dev10 Beta 1</title><link>http://blogs.msdn.com/edglas/archive/2009/05/24/read-this-before-running-a-load-test-with-dev10-beta-1.aspx</link><pubDate>Sun, 24 May 2009 08:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9638091</guid><dc:creator>edglas</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9638091.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9638091</wfw:commentRss><description>&lt;p&gt;If you install the dev10 beta 1 on the same machine as VS 2008, and you are running load tests, read this.&lt;/p&gt;  &lt;p&gt;When you run the first load test, the load test will check the schema of the load test database, and if it is the 2008 schema it will update the schema in place.&lt;/p&gt;  &lt;p&gt;This will create problems for you in VS 2008: you will no longer be able to import and export results.&lt;/p&gt;  &lt;p&gt;The workaround is to use two separate databases for your results, one for VS 2008, one for VS 2010. The new Excel reporting feature in dev10 looks for the load test database (we’re fixing that in beta2), so the best workaround is to rename the VS 2008 load test database.&lt;/p&gt;  &lt;p&gt;Before running any 2010 load test on your machine, rename the VS 2008 load test database:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Close all Visual Studio instances. &lt;/li&gt;    &lt;li&gt;Run a Visual Studio command prompt as Administrator (can be 2008 or 2010). &lt;/li&gt;    &lt;li&gt;Run      &lt;br /&gt;sqlcmd –S .\sqlexpress       &lt;br /&gt;1&amp;gt; EXEC sp_renamedb 'LoadTest', 'LoadTest2008'       &lt;br /&gt;2&amp;gt; GO &lt;/li&gt;    &lt;li&gt;Start Visual Studio &lt;b&gt;2008&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;Run Test | Administer Test Controllers &lt;/li&gt;    &lt;li&gt;Change the load test results store to the renamed database      &lt;ol&gt;       &lt;li&gt;Click … &lt;/li&gt;        &lt;li&gt;Under “Select or Enter a Database Name” type “LoadTest2008” &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If you run VS 2010 tests prior to renaming the database, you will need to remove the dev10 results from the database:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;From Visual Studio 2010, open a load test. &lt;/li&gt;    &lt;li&gt;Click Open and Manage Test Results icon &lt;/li&gt;    &lt;li&gt;Select the 2010 test results and click export. &lt;/li&gt;    &lt;li&gt;Delete the 2010 test results. &lt;/li&gt;    &lt;li&gt;Go through the steps above to create two databases. &lt;/li&gt;    &lt;li&gt;Open VS 2010 and use Open and Manage Test Results to import the 2010 results back into the database. &lt;/li&gt;    &lt;li&gt;Delete the extra columns created in your database. We’ll blog a script for doing that soon.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Note the same thing will happen during setup if you install the Test Controller – controller setup will update the existing 2008 load test database. So be sure to rename the database before running controller setup.&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9638091" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>New Performance Testing Training Available from RTTS</title><link>http://blogs.msdn.com/edglas/archive/2009/05/22/new-training-available-for-vsts-2008-test-tools.aspx</link><pubDate>Fri, 22 May 2009 13:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9634996</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9634996.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9634996</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.rttsweb.com/" mce_href="http://www.rttsweb.com/"&gt;RTTS&lt;/A&gt;, a premier testing consultancy and test tools training company, now has training available for performance and load testing with VSTS 2008. RTTS specializes in providing software quality services, and offers training on a variety of tools. It is great to see VSTS in the mix as they see demand for VSTS growing. RTTS offers VSTS performance testing training onsite, over the web, or at their site, as well as consulting services. More details available &lt;A href="http://www.rttsweb.com/training/courses/vsts_pt_intro.jsp"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9634996" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+Team+Test/default.aspx">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Web+Test/default.aspx">Web Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Performance+Testing/default.aspx">Performance Testing</category></item><item><title>More posts on Testing SharePoint with VSTS</title><link>http://blogs.msdn.com/edglas/archive/2009/05/20/more-posts-on-testing-sharepoint-with-vsts.aspx</link><pubDate>Thu, 21 May 2009 00:17:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9632897</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9632897.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9632897</wfw:commentRss><description>&lt;p&gt;Shivaji Nagarajan has extensive experience testing SharePoint using VSTS, and has captured what he has learned in a &lt;a href="http://blogs.msdn.com/shivajin/ "&gt;series of blog posts&lt;/a&gt;. Be sure to check them out if you are testing SharePoint!&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9632897" width="1" height="1"&gt;</description></item><item><title>dynaTrace Leverages new Extensibility Points to Provide Deep Integration with Dev10</title><link>http://blogs.msdn.com/edglas/archive/2009/05/20/dynatrace-leverages-new-extensibility-points-to-provide-deep-integration-with-dev10.aspx</link><pubDate>Wed, 20 May 2009 20:25:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9632527</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9632527.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9632527</wfw:commentRss><description>&lt;p&gt;A fantastic example of a partner taking advantage of the new extensibility points in Web test playback and load tests in dev10 is provided by dynaTrace. dynaTrace has developed an extension that provides enables you to drill from a particular request to the PurePath for that request. The &lt;a href="http://www.dynatrace.com/en/purepath_technology.aspx"&gt;PurePath&lt;/a&gt; provides a tiered performance breakdown for the request, detailing how much time the request spent at each tier of your application. Check out &lt;a href="http://blog.dynatrace.com/2009/05/20/how-to-extend-visual-studio-2010-web-and-load-testing-with-transactional-tracing/"&gt;Andreas’s post&lt;/a&gt; on the integration (including some code samples!).&lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9632527" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Web+Test/default.aspx">Web Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Performance+Testing/default.aspx">Performance Testing</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>Are You Reporting Inaccurate Performance Numbers with VS 2008?</title><link>http://blogs.msdn.com/edglas/archive/2009/05/19/are-you-reporting-inaccurate-performance-numbers-with-vs-2008.aspx</link><pubDate>Wed, 20 May 2009 00:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9629624</guid><dc:creator>edglas</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9629624.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9629624</wfw:commentRss><description>&lt;P&gt;There’s a hidden problem with VS 2008 load testing that you need be aware if you are running tests locally (as opposed to using a controller and agents).&lt;/P&gt;
&lt;P&gt;If you purchase and run a load agent, load agents run on all cores and all CPUs on the machine. &lt;/P&gt;
&lt;P&gt;However, when running locally VS limits load generation to one core on the machine. If this core is running at or close to 100% CPU utilization, it will throw off performance measurements and interfere with performance counter collection. In general it really invalidates your test results. This is why we graph agent CPU by default, and have performance counter thresholds that fire to warn you if the test is running too hot. However, by default the test is configured to look at the _Total instance, when it should be looking at the “0” instance.&lt;/P&gt;
&lt;P&gt;This screen shot really tells the story:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_7.png" width=1009 height=603 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;CPU 0 is clearly pegged:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_18.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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_8.png" width=317 height=122 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Yet the CPU counter in the load test is reporting ~50% utilization:&lt;/P&gt;
&lt;P&gt;‘&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_20.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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_9.png" width=657 height=225 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What is going on here is that the counter reported on is the &lt;STRONG&gt;_Total &lt;/STRONG&gt;counter. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_22.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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_10.png" width=547 height=579 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_10.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;To get an accurate measurement we should graph the instance 0 counter instead.&lt;/P&gt;
&lt;P&gt;To change your tests to graph the instance 0 counter, change the counter instance in the load test editor:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_11.png" width=539 height=570 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Now if I re-run, alarm bells should go off as thresholds violations. But they don’t!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_32.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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_15.png" width=531 height=449 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The reason is the analyzer is still displaying the _Total instance by default. However, you can see the threshold violation is now firing:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_34.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_16.png" width=114 height=83 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_16.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;To graph instance 0, drill into the counter tree and drag it on the graph:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_38.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/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/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_18.png" width=608 height=509 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/AreYouReportingInaccuratePerformanceNumb_F007/image_thumb_18.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;Now you can see the threshold violations displayed on the graph. To graph the "0" instance by default, edit the .loadtest file in the xml editor and change the instance:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCountersForAutomaticGraphs&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCounter CategoryName="Processor" CounterName="% Processor Time" &lt;STRONG&gt;InstanceName="0"&lt;/STRONG&gt;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCounter CategoryName="Memory" CounterName="Available MBytes"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DefaultCountersForAutomaticGraphs&amp;gt;&lt;/P&gt;
&lt;P&gt;You can fix this for all subsequent load tests you create by editing the &amp;lt;installdir&amp;gt;\Common7\IDE\Templates\LoadTest\CounterSets\AgentCounterSet.CounterSet file and adding a new instance tag for the “0” instance:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;CounterCategory Name="Processor"&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Counters&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Counter Name="% Processor Time"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ThresholdRules&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ThresholdRule Classname="Microsoft.VisualStudio.TestTools.WebStress.Rules.ThresholdRuleCompareConstant, Microsoft.VisualStudio.QualityTools.LoadTest"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RuleParameters&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RuleParameter Name="AlertIfOver" Value="True" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RuleParameter Name="WarningThreshold" Value="90" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RuleParameter Name="CriticalThreshold" Value="95" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/RuleParameters&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ThresholdRule&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ThresholdRules&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Counter&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Counter Name="% Privileged Time" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Counter Name="% User Time" /&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/Counters&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;Instances&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Instance Name="_Total" /&amp;gt; &lt;BR&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Instance Name="0" /&amp;gt; &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp; &amp;lt;/Instances&amp;gt; &lt;BR&gt;&amp;lt;/CounterCategory&amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Also change the settings for the default counters to show on the graph:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCountersForAutomaticGraphs&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCounter CategoryName="Processor" CounterName="% Processor Time" &lt;STRONG&gt;InstanceName="0"&lt;/STRONG&gt;/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DefaultCounter CategoryName="Memory" CounterName="Available MBytes"/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DefaultCountersForAutomaticGraphs&amp;gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Hope that helps, and we certainly will get this fixed for dev10 (but the fix did not make it into beta1).&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9629624" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+Team+Test/default.aspx">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category></item><item><title>Elevating the Role of the Tester with Visual Studio 2010</title><link>http://blogs.msdn.com/edglas/archive/2009/05/19/elevating-the-role-of-the-tester-with-visual-studio-2010.aspx</link><pubDate>Tue, 19 May 2009 19:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9628598</guid><dc:creator>edglas</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9628598.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9628598</wfw:commentRss><description>&lt;P&gt;I am very excited and proud to introduce the new testing features you’ll find in Visual Studio 2010. In addition to continuing to work on the performance testing tools, I have also been focusing on delivering a new set of products for the entire test team. Since most testing is done manually, we have really focused on the manual testers with this release. If you do testing or test management you will love the new features. We also are introducing a new solution for UI automation as well as improvements in web, load, and unit testing, and our testing framework. &lt;/P&gt;
&lt;P&gt;We have been working on this since before we shipped VS 2008, it is great to (finally) get the beta out. When we set out to define this release, we set forth a set of what we call value props that capture the value in the release. Using these as the frame, we built up the architecture and feature set to match. &lt;/P&gt;
&lt;P&gt;In this post, I’ll go over the over-arching themes for the test tools in dev10. Our GM Amit Chatterjee has a terrific set of posts on each of these feature areas on &lt;A href="http://blogs.msdn.com/amit_chatterjee/" mce_href="http://blogs.msdn.com/amit_chatterjee/"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;his blog&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;, be sure to check those out (I’ve linked to them throughout this post). Also be sure to check out the &lt;A href="http://msdn.microsoft.com/library/ms182409(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/ms182409(VS.100).aspx"&gt;beta version of our documentation&lt;/A&gt;, which takes a refreshing approach to product documentation.&lt;/P&gt;
&lt;H2&gt;Introduction to Team Test for Dev10&lt;/H2&gt;
&lt;P&gt;Visual Studio Team Test (VSTT10) for Dev10 introduces key new functionality for test management, manual testing, test lab management, and automated testing. Specifically, &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;VSTT10 introduces an entirely new tester-focused UI that will free Manual Testers from what they see as the developer-centric Visual Studio UI. This new UI (code named Camano) will be the console for test case authoring, management, execution and tracking. &lt;/LI&gt;
&lt;LI&gt;VSTT10 takes virtual test lab management to new heights by allowing virtual lab creation, configuration and deployment all integrated into the testing experience.&lt;/LI&gt;
&lt;LI&gt;VSTT10 significantly increases our investment in the Specialist Tester role by improving the capabilities and performance of load and web testing as well as introducing new UI automation capabilities through the Visual Studio IDE. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;VSTT10 introduces substantial new value propositions for software testers: 
&lt;OL&gt;
&lt;LI&gt;Make manual testers more effective by integrating test activity into the ALM and providing tools for managing, developing, recommending and executing tests.&lt;/LI&gt;
&lt;LI&gt;Enable manual testers to reliably and consistently create actionable bug reports via automatic data gathering, reducing debugging time and eliminating non-reproducible bugs. &lt;/LI&gt;
&lt;LI&gt;Ensure that both requirements and source code are adequately and transparently tested, ultimately answering the question "can we release?"&lt;/LI&gt;
&lt;LI&gt;Enable efficient collaboration between QA and the rest of the extended development team throughout all phases of the application lifecycle. &lt;/LI&gt;
&lt;LI&gt;Foster a collaborative tester community with an extensible platform that makes it easy to create and share new features and components that further enhance a tester’s productivity and effectiveness.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The core VSTT10 areas of test management, manual testing, lab management, and automated testing cut across each of these value propositions and create lasting value for test and development teams. 
&lt;H2&gt;Getting the Basics Right&lt;/H2&gt;
&lt;P&gt;VSTT10 lays the foundation to help you the tester be&amp;nbsp;more effective&amp;nbsp;at the essential aspects of your job. The idea is to “get the basics right” and create a toolset that appeals to all test teams as well as the extended development team.&amp;nbsp;You can watch&amp;nbsp;an overview video &lt;A href="http://channel9.msdn.com/shows/10-4/10-4-Episode-23-An-Introduction-to-Manual-Testing/" mce_href="http://channel9.msdn.com/shows/10-4/10-4-Episode-23-An-Introduction-to-Manual-Testing/"&gt;here&lt;/A&gt;.&amp;nbsp; 
&lt;H3&gt;An Emphasis on Test Management and Manual Testing&lt;/H3&gt;
&lt;P&gt;In talking to you, our customers, we found that many of you track&amp;nbsp;your testing effort using ad-hoc means and informal tools like Excel or Word. Most testing is performed manually by what we are calling &lt;I&gt;generalist testers&lt;/I&gt;. To this end, the main focus for VSTT10 is to offer solid test case management tooling as well as a differentiating experience for manual testing. Because we are targeting generalist testers and test managers, we chose to develop a new client&amp;nbsp;outside of&amp;nbsp;the Visual Studio shell. We really wanted to provide a simple, focused experience&amp;nbsp;for testers, and found we could not effectively do that with VS. We think you are going to really like the new client. 
&lt;H4&gt;TFS-based Test Planning and Authoring&lt;/H4&gt;
&lt;P&gt;VSTT10 integrates deeply with TFS to offer rich functionality for &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/17/test-planning-using-camano.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/17/test-planning-using-camano.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;test planning and authoring&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. Test planning features enable the test manager to define which test cases to run as part of a specific test plan or testing effort. VSTT10 also incorporates test case authoring, including the ability to define test steps, attachments and to factor and re-use parts of tests into shared steps. Test cases also allow the manual tester to associate data with the test case making it easy to step through different rows of data within the same test case. 
&lt;P&gt;A tester adds structure to their test plans by organizing test cases into hierarchical test suites. Query-based suites are used to automatically include any test case that meets specific criteria. 
&lt;P&gt;Test configurations allow the tester to define valid configurations that will be covered in a test plan, and then assign which tests will run on which configurations. Again the recurring theme is to better organize a tester to perform more rigorous testing, and track which configurations have or have not been tested. 
&lt;P&gt;Test cases are assigned to different testers on a project and tracked by a test manager to allow for better team organization and management of the test effort during the testing phase. 
&lt;H5&gt;Linking Test Cases to Requirements and Bugs&lt;/H5&gt;
&lt;P&gt;Test cases are easily linked to requirements, which&amp;nbsp;enables test planning, test execution, and traceability. Linking requirements to test cases also enables rich reporting, such as the count of test cases per requirement and pass/fail/not run testing status per requirement. A tester can easily add a requirements-based suite to a test plan, which automatically adds any test case linked to the requirement to the test plan. 
&lt;P&gt;When a new bug is filed while testing, the bug is automatically linked to the test case that generated it. This enables the developer to quickly open the test case that generated the bug, as well as interesting reports on which test cases generate the most bugs. 
&lt;P&gt;Documentation links: &lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/library/dd286594(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286594(VS.100).aspx"&gt;Managing New Testing Efforts with Team Test&lt;/A&gt;, &lt;B&gt;&lt;A href="http://msdn.microsoft.com/library/dd286581(VS.100).aspx" mce_href=" http://msdn.microsoft.com/library/dd286581(VS.100).aspx"&gt;Defining your testing effort using test plans&lt;/A&gt;&lt;/B&gt;&lt;/P&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;
&lt;H4&gt;A Great Manual Testing Experience&lt;/H4&gt;
&lt;P&gt;The VSTT10 client offers a differentiating and highly productive &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/28/the-microsoft-test-runner-innovation-for-the-manual-tester.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/28/the-microsoft-test-runner-innovation-for-the-manual-tester.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;manual testing experience&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. The capabilities around bug capture alone are not to be found in any competitors offering and will substantially increase productivity around bug finding, reporting and triaging. . In addition, the tester can easily capture screen shots, mark tests or steps as pass/fail and manage their bug finding techniques at a level not possible in other tools. 
&lt;P&gt;A key differentiator for manual testing is in &lt;I&gt;fast forward manual testing&lt;/I&gt;. This innovative feature enables a tester to automatically record during testing, and then replay these actions the next time that same test is run. Automation can also be associated with shared steps, enabling testers to fast-forward through common steps that are repeated across test cases. This will allow testers to quickly fill in form fields and other types of repetitive data entry activity by replaying the form fill actions recorded in previous tests. The idea is to increase productivity by focusing automation on repetitive tasks and freeing a tester to concentrate on finding bugs and gaining better test coverage. 
&lt;P&gt;Documentation links: 
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;A href="http://msdn.microsoft.com/library/dd286715(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286715(VS.100).aspx"&gt;Creating manual test cases&lt;/A&gt;, &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://msdn.microsoft.com/library/dd286725(VS.100).aspx" mce_href=" http://msdn.microsoft.com/library/dd286725(VS.100).aspx"&gt;Running Manual Tests with Test Runner&lt;/A&gt;, &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://msdn.microsoft.com/library/dd286714(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286714(VS.100).aspx"&gt;Recording and Playing Back Manual Tests&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;H4&gt;Are We Ready to Ship?&lt;/H4&gt;
&lt;P&gt;A key goal for test managers is answering the question “are we ready to ship?” Arguably, answering this question is the primary mission of a test team, and doing so has many facets. The test team must shine a light in dark places of the application under test in order to find problems before customers do. This becomes as much an exercise in understanding what hasn’t been tested as what has. To that end, the VSTT10 will collect and report data to answer questions like: 
&lt;UL&gt;
&lt;LI&gt;Do we have adequate test coverage of our requirements and features?&lt;/LI&gt;
&lt;LI&gt;Have we run all our tests?&lt;/LI&gt;
&lt;LI&gt;Have we tested all of our target configurations adequately?&lt;/LI&gt;
&lt;LI&gt;Have we tested the feature areas adequately?&lt;/LI&gt;
&lt;LI&gt;Have we tested the changes?&lt;/LI&gt;
&lt;LI&gt;What are we missing in our regression suite?&lt;/LI&gt;
&lt;LI&gt;Are we on track to complete our testing?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;To answer these questions, VSTT10 makes it easy to: 
&lt;UL&gt;
&lt;LI&gt;Define and organize test cases. &lt;/LI&gt;
&lt;LI&gt;Define and manage which test cases are to be executed in a test effort. &lt;/LI&gt;
&lt;LI&gt;Link test cases to requirements and features, and associate them with areas of the application.&lt;/LI&gt;
&lt;LI&gt;Manage which configurations test cases are run on.&lt;/LI&gt;
&lt;LI&gt;Seamlessly track which tests have been authored and run, and for those that have been run track pass/fail.&lt;/LI&gt;
&lt;LI&gt;View which tests have been impacted by code changes.&lt;/LI&gt;
&lt;LI&gt;View reports which surface this data to enable the test manager to answer the questions above.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;VSTT10 achieves this by allowing the tester to define relationships of test cases to requirements and bugs in TFS, and to define the set of test cases and configs to run as part of a test plan. VSTT10 then seamlessly captures test results, ultimately storing this data in the TFS warehouse. 
&lt;P&gt;A basic set of reports are available through the process template and hosted on the SharePoint portal.Data is surfaced through reports on top of TFS. Since the data is in the TFS warehouse, reporting services or Excel reporting can be used to flexibly mine the data. A very rich set of data is available and can be related to metrics and measures currently captured by a product team. The warehouse stores test results over the life of a project, and those results can be sliced by build, area path, suite, and configuration. 
&lt;P&gt;This allows a test manager and stakeholders to generate reports such as the set of tests run for a given plan, the set of tests not run a given plan, and for those that were run what the results were. Historical results are available in the warehouse, providing stake holders rich visualizations of testing activity and quality trends. 
&lt;P&gt;Because test data can be related to requirements, a test manager can generate reports that show pass/fail per requirement, the number of bugs per requirement, test results per area, per suite, per build, and so forth. In all a very rich set of information is available in VSTT10. Check out Amit’s blog post on &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/05/18/reporting-on-test-management-data.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/05/18/reporting-on-test-management-data.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;reporting&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. 
&lt;H3&gt;Collaboration with Dev&lt;/H3&gt;
&lt;P&gt;VSTT10 provides tight integration between developers and testers through the free flow of information between them. Not only can developers and testers share the information stored in TFS, but information required by developers from ongoing testing is gathered automatically as described below. Also for the first time developers can get visibility into which areas of the product have and haven’t been tested, and better understand where their features are at. 
&lt;H4&gt;Actionable Bug Capture&lt;/H4&gt;
&lt;P&gt;The basic flow of information from testers to developers is primarily through bugs. The effort wasted chasing down bugs and reproducing errant behavior is a severe pain point for developers and testers alike. “It works on my box” is the norm. VSTT10 takes this on head-on through information rich bug capture. 
&lt;P&gt;In order to enable this rich flow of information, VSTT10 delivers an innovative technology called &lt;I&gt;data collectors&lt;/I&gt;. Data collectors enable testers to collect information from client and server machines in the test lab while they are testing. Data collectors enable a wide range of scenarios, including rich bug capture. 
&lt;P&gt;As test environments can be very complicated, and not all testers are experts at configuring the server system, an important aspect of data collectors is that they “just work” out of the box and are easy to configure and use. 
&lt;P&gt;A case in point is an essential new technology for bug capture known as &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/04/21/diagnostic-data-adapters-changing-how-developers-and-testers-work-together-part-2-of-2-the-diagnostic-trace-collector.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/04/21/diagnostic-data-adapters-changing-how-developers-and-testers-work-together-part-2-of-2-the-diagnostic-trace-collector.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;Historical Debugging&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;I&gt;&lt;/I&gt;, which enables developers to debug exactly what was going on on a machine at the time a bug occurred. 
&lt;P&gt;As useful as historical debugging is to developers, the &lt;I&gt;Action Recorder&lt;/I&gt; is a technology useful for developers and testers alike. It is based on VSTT10’s UI automation recorder, and captures user actions the tester takes and records that information as part of the bug report. The &lt;I&gt;Screen Capture&lt;/I&gt; tool enables the tester to easily take screen captures, and the &lt;I&gt;Video Recorder&lt;/I&gt; records the testers desktop and links the video to the bug. 
&lt;P&gt;Documentation links: &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/library/dd286743(VS.100).aspx" mce_href=" http://msdn.microsoft.com/library/dd286743(VS.100).aspx"&gt;Setting Up Machines and Diagnostic Information to be Collected Using Test Settings&lt;/A&gt;, &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://msdn.microsoft.com/library/dd286727(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286727(VS.100).aspx"&gt;Creating A Diagnostic Data Adapter to Collect Custom Data or Impact a Test System&lt;/A&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;H4&gt;The Essential Role of Builds&lt;/H4&gt;
&lt;P&gt;As bugs represent the primary flow of information form test to dev, the flow from developers to testers is through the build. Testers pick up new builds to get new features and requirements to test and bugs to regress. The developers’ efforts are realized in the build. As such the build becomes fulcrum of the dev/test relationship and takes a first class role in the VSTT10 product. When selecting a new build, the test manager sees which work items were completed as part of the build and act on those. She &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/04/11/diagnostic-data-adapters-changing-how-developers-and-testers-work-together-part-1-of-2-the-test-impact-collector.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/04/11/diagnostic-data-adapters-changing-how-developers-and-testers-work-together-part-1-of-2-the-test-impact-collector.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;sees which tests were impacted&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; by changes in the build and assign them to be run. The ability to see impacted tests is especially important in the end-game just before releasing to production, when the test manager and stakeholders need to make sure they have adequately tested the bug fixes that were made in the final builds. 
&lt;P&gt;Documentation links: &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/library/dd286589(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286589(VS.100).aspx"&gt;Recommending Tests to Run That are Affected by Code Changes&lt;/A&gt;, &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;A href="http://msdn.microsoft.com/library/dd286586(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd286586(VS.100).aspx"&gt;Determining Which Builds Have Bug Fixes, New Features or Requirements&lt;/A&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; 
&lt;H4&gt;Preparing the Test Environment&lt;/H4&gt;
&lt;P&gt;The build is also central to ensuring high quality builds are passed to testers and assists in preparing the test environment for new builds. VSTT10 enables integration with VMM and Windows Workflow for automated provisioning and setting up the test environment as part of the build process. With VSTT10 build and deployment engineers can define a workflow script to provision machines from VMM, install the latest build, and then run functional BVT tests against the installed build. These can then be leverage by both the development and test teams to quickly set up complicated test environments. VS 2008 limited the level of testing to unit testing of assemblies whereas VSTT10 enables full functional build verification testing. 
&lt;P&gt;Testers leverage test environments from within the test client to quickly re-use environments. Network fencing enables testers to have more than one instance of the same VM running at the same time. This enables one person on the test or development team to get a test environment set up, and others on the team to quickly clone the environment for testing. 
&lt;H2&gt;Test Automation in VSTT10&lt;/H2&gt;
&lt;P&gt;Test automation is a key and strategic investment area for VSTT10. Every test team wants to be more efficient, and automation is one way to increase efficiency. A goal for VSTT10 is to enable teams to define and run a automated regression suites to validate their primary scenarios are still intact. These automated regression suites are then used both as build verification tests and as a final set of regression tests to run before shipping. 
&lt;H3&gt;The Record and Playback Engine&lt;/H3&gt;
&lt;P&gt;A primary investment in VSTT10 is the record and playback engine, which is leveraged in both automated tests and the &lt;I&gt;&lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/28/the-microsoft-test-runner-innovation-for-the-manual-tester.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/02/28/the-microsoft-test-runner-innovation-for-the-manual-tester.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;fast forward for manual testing&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/I&gt; feature. A great deal of engineering has gone into ensuring record and playback “just works”. Record and Playback supports IE, Winforms, and WPF front ends. Silverlight support and playback on Firefox are planned for an out of band release (between dev10 and dev11). The RnP technology also supports a rich extensibility mechanism for extending to custom controls within these UI technologies as well as new browsers and future UI frameworks. This technology provides the underpinnings for our future UI Automation solutions. 
&lt;H3&gt;UI Automation&lt;/H3&gt;
&lt;P&gt;VSTT10 includes a new &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/03/14/coded-ui-test.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/03/14/coded-ui-test.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;“Coded UI”&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; UI automation test type which is available in Visual Studio. Coded UI tests are squarely targeted at the more sophisticated end of the specialist tester segment, as it requires development skills. The “Coded UI” test type provides an action recorder, validation tool, and comprehensive API. 
&lt;P&gt;Coded UI Tests are built on the mstest unit testing framework, providing a familiar and common paradigm for testers and developers. Test authors leverage the full power of VS, the .NET framework, and managed languages to develop their automation. 
&lt;H3&gt;Managing Automated Tests&lt;/H3&gt;
&lt;P&gt;Test management capabilities enable testers to track which test cases have or have not been automated, and to track automated test results over time. As part of the ability to scale-up test execution, VSTT10 enables you to define and run automated suites that span across VS solutions. 
&lt;P&gt;Documentation links: &lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;A href="http://msdn.microsoft.com/library/dd380741(VS.100).aspx" mce_href=" http://msdn.microsoft.com/library/dd380741(VS.100).aspx"&gt;How to: Associate an Automated Test With a Manual Test Case and Run It&lt;/A&gt;, &lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: black; FONT-SIZE: 10pt"&gt;&lt;A href="http://msdn.microsoft.com/library/dd465191(VS.100).aspx" mce_href=" http://msdn.microsoft.com/library/dd465191(VS.100).aspx"&gt;How to: Create Test Cases from an Assembly of Automated Tests&lt;/A&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;H2&gt;Performance Testing in VSTT10&lt;/H2&gt;
&lt;P&gt;VSTT10 builds on the success of &lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/01/29/web-and-load-testing-with-visual-studio-team-system.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/01/29/web-and-load-testing-with-visual-studio-team-system.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;VSTT 2008 performance testing tools&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;, with &lt;A href="http://blogs.msdn.com/edglas/archive/2009/05/18/dev10-beta-1-available.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2009/05/18/dev10-beta-1-available.aspx"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;innovative new tools&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; that help testers find performance problems and enable development to fix them. 
&lt;P&gt;VSTT10 introduces WAN emulation for both manual and automated performance testing. Network emulation enables you to see how your application will perform over a slow link. 
&lt;P&gt;New advances in Web Performance Tests (formerly known as Web tests) make it far easier to debug them, and powerful new extensibility hooks in the web test recorder enable custom rules that can be targeted at specific types of sites so that record/playback will “just work” against those sites. 
&lt;P&gt;Load tests leverage data collector collectors to collect information from the system under test during a load test. A significant advancement in this area is the ability to remotely collect a profiler trace from the system under test, enabling testers to collect code-level performance data from the server during the test, so developers will have enough information to fix performance bugs. 
&lt;P&gt;The timing details view enables the performance tester to visualize virtual user activity, and quickly drill into a complete virtual user session log from a failed iteration. And new advances in reporting will enable you to easily share performance test results and trends with your team. 
&lt;H2&gt;Advances in MSTest&lt;/H2&gt;
&lt;P&gt;Dev10 introduces significant advances in mstest extensibility, with new APIs for executing tests and getting results. This enables many new scenarios, including introducing new test clients outside of visual studio. 
&lt;P&gt;Dev10 also introduces test categories, which enable you to categorize tests (think tagging them) and dynamically select a set of tests that are in a particular category. A test can belong to multiple categories at a time. This enables you to move away from static vsmdi test lists, providing a richer way of selecting tests for BVTs. 
&lt;H2&gt;Mapping Value Props to Feature Areas&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;Make manual testers more effective by integrating test activity into the ALM and providing tools for managing, developing, recommending and executing tests.&lt;/LI&gt;
&lt;LI&gt;Enable manual testers to reliably and consistently create actionable bug reports via automatic data gathering, reducing debugging time and eliminating non-reproducible bugs. &lt;/LI&gt;
&lt;LI&gt;Ensure that both requirements and source code are adequately and transparently tested, ultimately answering the question "can we release?"&lt;/LI&gt;
&lt;LI&gt;Enable efficient collaboration between QA and the rest of the extended development team throughout all phases of the application lifecycle. &lt;/LI&gt;
&lt;LI&gt;Foster a collaborative tester community with an extensible platform that makes it easy to create and share new features and components that further enhance a tester’s productivity and effectiveness.&lt;/LI&gt;&lt;/OL&gt;&lt;B&gt;&lt;/B&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;
&lt;TABLE border=1 cellSpacing=0 cellPadding=0 unselectable="on"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=115&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Effective Generalist Testers&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Actionable Bugs&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Can we Release?&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Collab with Dev&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Partners / Extensibility&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Planning&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Authoring&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Case Linking&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Runner&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Reporting&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Data Collectors&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;RnP&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Automation&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Test Impact&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Build Integration&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Lab Management&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=115&gt;
&lt;P&gt;Public APIs&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=106&gt;
&lt;P&gt;Yes&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;As you can see from this paper, this is a compelling release! But don’t take my word for it, try it out! &lt;A href="http://msdn.microsoft.com/subscriptions/downloads/default.aspx?pv=18:370" mce_href="http://msdn.microsoft.com/subscriptions/downloads/default.aspx?pv=18:370"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;Download dev10 beta1 today&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;. You’ll need to download and install TFS server. The new test client is installed with VSTS in beta 1 (we are working on a stand-alone installer for beta 2). Once you have the product installed, here is a &lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/library/dd380763(VS.100).aspx" mce_href="http://msdn.microsoft.com/library/dd380763(VS.100).aspx"&gt;Quick Start Guide to get you up and running&lt;/A&gt;.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9628598" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+Team+Test/default.aspx">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Performance+Testing/default.aspx">Performance Testing</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Unit+Test/default.aspx">Unit Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Test+Automation/default.aspx">Test Automation</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Dev10 Beta 1 Available!</title><link>http://blogs.msdn.com/edglas/archive/2009/05/18/dev10-beta-1-available.aspx</link><pubDate>Mon, 18 May 2009 18:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9625680</guid><dc:creator>edglas</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9625680.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9625680</wfw:commentRss><description>&lt;P&gt;Beta 1 was released to the web today for MSDN subscribers. If you are a MSDN subscriber, you can download the Beta today from &lt;A href="http://go.microsoft.com/fwlink/?LinkId=147407" mce_href="http://go.microsoft.com/fwlink/?LinkId=147407"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;We have been very busy on this release of late (one reason why my blog posts have slowed down lately :))&lt;/P&gt;
&lt;P&gt;My team and I will be blogging about all the great new features in dev10 beta 1 over the coming weeks. &lt;/P&gt;
&lt;P&gt;As in the past, I will compose a list of links to any posts on the new features and update this blog post with the links as we get them.&lt;/P&gt;
&lt;P&gt;New Web Test Features in Dev10:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;These features are about making it easier to get web test playback working:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&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" mce_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; (including adding custom dynamic parameter correlation)&lt;/LI&gt;
&lt;LI&gt;Find in playback&lt;/LI&gt;
&lt;LI&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" mce_href="http://blogs.msdn.com/yutong/archive/2009/06/10/vsts-2010-feature-view-recording-log-in-web-test-playback-window.aspx"&gt;View recording log in playback&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/slumley/archive/2009/05/28/vsts-2010-feature-enhancements-for-web-test-playback-ui.aspx" mce_href="http://blogs.msdn.com/slumley/archive/2009/05/28/vsts-2010-feature-enhancements-for-web-test-playback-ui.aspx"&gt;Jump to request from playback&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Add extraction rule from playback&lt;/LI&gt;
&lt;LI&gt;WebTestResult in a separate file for better scalability&lt;/LI&gt;
&lt;LI&gt;New API for web test result&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blog.dynatrace.com/2009/05/20/how-to-extend-visual-studio-2010-web-and-load-testing-with-transactional-tracing/" mce_href="http://blog.dynatrace.com/2009/05/20/how-to-extend-visual-studio-2010-web-and-load-testing-with-transactional-tracing/"&gt;New extensibility API in playback enables UI extensions to playback&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;File Upload record/playback just works&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Uploaded file added to project and deployed&lt;/LI&gt;
&lt;LI&gt;Option for generating a unique file name on each iteration&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Looping and branching in web test&lt;/LI&gt;
&lt;LI&gt;New dialog for editing think times, goals, reporting string across all requests&lt;/LI&gt;
&lt;LI&gt;New validation and extraction rules for inner text and select tags &lt;/LI&gt;
&lt;LI&gt;Test level validation rule for pages meeting response time goal&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;New features in Load Test in Dev10:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Logging and data collection improvements&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/billbar/archive/2009/06/09/vsts-2010-load-test-feature-saving-test-logs.aspx" mce_href="http://blogs.msdn.com/billbar/archive/2009/06/09/vsts-2010-load-test-feature-saving-test-logs.aspx"&gt;Log entire test result on test failure or log entire result every n requests&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Remote profiler integration&lt;/LI&gt;
&lt;LI&gt;Event Log Data Collection&lt;/LI&gt;
&lt;LI&gt;Extensible data collectors to support more platforms&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Analysis Improvements&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/slumley/archive/2009/06/09/vsts-2010-feature-load-test-virtual-user-activity-visualization.aspx" mce_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;, also &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" mce_href="http://blogs.msdn.com/edglas/archive/2009/10/19/using-the-virtual-user-activity-chart-to-understand-the-vs-load-engine.aspx"&gt;here&lt;/A&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Reporting&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/slumley/archive/2009/05/22/dev10-feature-load-test-excel-report-integration.aspx" mce_href="http://blogs.msdn.com/slumley/archive/2009/05/22/dev10-feature-load-test-excel-report-integration.aspx"&gt;Run to run perf reports in Microsoft Excel&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Performance testing&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Run automated UI tests as performance tests&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/lkruger/archive/2009/06/08/introducing-true-network-emulation-in-visual-studio-2010.aspx" mce_href="http://blogs.msdn.com/lkruger/archive/2009/06/08/introducing-true-network-emulation-in-visual-studio-2010.aspx"&gt;True network emulation&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&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" mce_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;More flexible load modeling&lt;/A&gt; &lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/billbar/archive/2009/06/10/vsts-2010-feature-sequential-test-mix.aspx" mce_href="http://blogs.msdn.com/billbar/archive/2009/06/10/vsts-2010-feature-sequential-test-mix.aspx"&gt;New Sequential Test Mix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Delay start on scenario&lt;/LI&gt;
&lt;LI&gt;Iteration count on scenario&lt;/LI&gt;
&lt;LI&gt;Select which agent(s) to run the scenario on&lt;/LI&gt;
&lt;LI&gt;Disable during warmup&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/mtaute/archive/2009/06/09/vsts-2010-load-test-feature-multiple-loadtest-plug-ins.aspx" mce_href="http://blogs.msdn.com/mtaute/archive/2009/06/09/vsts-2010-load-test-feature-multiple-loadtest-plug-ins.aspx"&gt;Multiple load test plugins&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/lkruger/archive/2009/06/08/visual-studio-team-test-load-agent-goes-64-bit.aspx" mce_href="http://blogs.msdn.com/lkruger/archive/2009/06/08/visual-studio-team-test-load-agent-goes-64-bit.aspx"&gt;64 bit test execution&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In addition to continuing our testing and bug fixing efforts, right now we’re working on an additional set of features for beta 2. I’ll have to sit on those until beta2. :)&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9625680" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+Team+Test/default.aspx">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Web+Test/default.aspx">Web Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/tsbt-tst/default.aspx">tsbt-tst</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/edglas/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Great resources for SharePoint performance testing</title><link>http://blogs.msdn.com/edglas/archive/2009/05/06/great-resources-for-sharepoint-performance-testing.aspx</link><pubDate>Wed, 06 May 2009 16:25:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9591216</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9591216.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9591216</wfw:commentRss><description>&lt;p&gt;Sanjay Narang has compiled a great set of &lt;a href="http://blogs.msdn.com/sanjaynarang/archive/2009/04/18/sharepoint-performance-stress-load-testing.aspx"&gt;links on performance testing SharePoint&lt;/a&gt;. Check them out! This list is not specific to VSTS, and includes tool-agnostic white papers, official documentation, links to performance testing results, tooling (including VSTS), etc. &lt;/p&gt;  &lt;p&gt;Ed.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9591216" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Performance+Testing/default.aspx">Performance Testing</category><category domain="http://blogs.msdn.com/edglas/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>New, comprehensive technical documentation available for Web, Load, and Unit Tests</title><link>http://blogs.msdn.com/edglas/archive/2009/03/31/new-comprehensive-technical-documentation-available-for-web-load-and-unit-tests.aspx</link><pubDate>Tue, 31 Mar 2009 14:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9522421</guid><dc:creator>edglas</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9522421.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9522421</wfw:commentRss><description>&lt;P&gt;The VSTS Ranger team, led by Geoff Gray, just published the &lt;A href="http://vstt2008qrg.codeplex.com/" mce_href="http://vstt2008qrg.codeplex.com/"&gt;VSTT Quick Reference Guide 1.0&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;This is a comprehensive collection of technical information on VSTT –- 83 pages of information!!! Many questions you may have on how stuff works in web, load, and unit test are answered in this doc. &lt;STRONG&gt;&lt;FONT color=#008000&gt;This doc is a must have for anyone working in VSTT&lt;/FONT&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Geoff and his team, the Microsoft Services Test Labs, deliver professional services for doing performance testing. They are experts at the tools, and work closely with my team (the product team) both to troubleshoot issues as they come up and to help steer the product in the right direction. Whenever Geoff saw an answer in email, figured it out himself, or saw it on a blog post, he put it in the document. He has been building it up over the past few years. I highly recommend you refer to it any time you are looking for more information or are stuck trying to get something to work in the product.&lt;/P&gt;
&lt;P&gt;Here’s an extract from the document: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/Newcomprehensivetechnicaldocumentationav_6E31/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/Newcomprehensivetechnicaldocumentationav_6E31/image_2.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=598 alt=image src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/Newcomprehensivetechnicaldocumentationav_6E31/image_thumb.png" width=604 border=0 mce_src="http://blogs.msdn.com/blogfiles/edglas/WindowsLiveWriter/Newcomprehensivetechnicaldocumentationav_6E31/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Congrats Geoff on getting this published! And thanks to others who helped along the way, and to Bijan Javidi for your support in sponsoring this project to get it published.&lt;/P&gt;
&lt;P&gt;Ed.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9522421" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/edglas/archive/tags/Visual+Studio+Team+Test/default.aspx">Visual Studio Team Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Web+Test/default.aspx">Web Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Test/default.aspx">Load Test</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Load+Agent/default.aspx">Load Agent</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Performance+Testing/default.aspx">Performance Testing</category><category domain="http://blogs.msdn.com/edglas/archive/tags/Unit+Test/default.aspx">Unit Test</category></item><item><title>Updated Load Test Links for March</title><link>http://blogs.msdn.com/edglas/archive/2009/03/06/updated-load-test-links-for-march.aspx</link><pubDate>Fri, 06 Mar 2009 15:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9462489</guid><dc:creator>edglas</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/edglas/comments/9462489.aspx</comments><wfw:commentRss>http://blogs.msdn.com/edglas/commentrss.aspx?PostID=9462489</wfw:commentRss><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" mce_href="http://blogs.msdn.com/edglas/pages/content-index-for-web-tests-and-load-tests.aspx"&gt;&lt;FONT color=#669966&gt;Load Test Links&lt;/FONT&gt;&lt;/A&gt; post with links to new posts, as well as added some links to content that has been around but I just didn’t have linked.&lt;/P&gt;
&lt;P&gt;New links:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/edglas/archive/2008/11/19/reading-performance-counters-on-vista-and-server-2008-machines.aspx" mce_href="http://blogs.msdn.com/edglas/archive/2008/11/19/reading-performance-counters-on-vista-and-server-2008-machines.aspx"&gt;&lt;FONT color=#669966&gt;Reading Performance Counters on Vista and Server 2008 Machines&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/slumley/archive/2008/12/22/how-to-run-web-and-load-tests-from-the-command-line.aspx" mce_href="http://blogs.msdn.com/slumley/archive/2008/12/22/how-to-run-web-and-load-tests-from-the-command-line.aspx"&gt;&lt;FONT color=#669966&gt;How to run Web and Load Tests from the Command-Line&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/slumley/archive/2008/12/16/scriptable-parameter-values-in-web-tests.aspx" mce_href="http://blogs.msdn.com/slumley/archive/2008/12/16/scriptable-parameter-values-in-web-tests.aspx"&gt;&lt;FONT color=#669966&gt;Scriptable Parameter Values in web tests&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/billbar/archive/2008/09/12/how-is-the-user-load-adjusted-for-a-load-test-with-a-goal-based-load-pattern.aspx" mce_href="http://blogs.msdn.com/billbar/archive/2008/09/12/how-is-the-user-load-adjusted-for-a-load-test-with-a-goal-based-load-pattern.aspx"&gt;&lt;FONT color=#669966&gt;How is the user load adjusted for a load test with a goal based load pattern?&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Other links I added:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=5811&amp;amp;postid=1697459" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=5811&amp;amp;postid=1697459"&gt;&lt;FONT color=#669966&gt;Load Agent and Load Controller Installation and Configuration Guide&lt;/FONT&gt;&lt;/A&gt; (can’t believe I didn’t have this one linked)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/amit_chatterjee/archive/2009/01/29/web-and-load-testing-with-visual-studio-team-system.aspx" mce_href="http://blogs.msdn.com/amit_chatterjee/archive/2009/01/29/web-and-load-testing-with-visual-studio-team-system.aspx"&gt;&lt;FONT color=#669966&gt;Web and Load Testing with Visual Studio Team System&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb924375.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb924375.aspx"&gt;&lt;FONT color=#669966&gt;Performance Testing Guidance for Web Applications&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms998579.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms998579.aspx"&gt;&lt;FONT color=#669966&gt;Improving .NET Application Performance and Scalability&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470149787.html" mce_href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470149787.html"&gt;&lt;FONT color=#669966&gt;Professional Software Testing with Visual Studio 2005 Team System: Tools for Software Developers and Test Engineers&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.informit.com/store/product.aspx?isbn=0321278720" mce_href="http://www.informit.com/store/product.aspx?isbn=0321278720"&gt;&lt;FONT color=#669966&gt;Software Engineering with Microsoft Visual Studio Team System&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/tess/archive/2008/10/07/using-vsts-test-and-profilers-to-troubleshoot-a-high-cpu-in-gc-issue.aspx" mce_href="http://blogs.msdn.com/tess/archive/2008/10/07/using-vsts-test-and-profilers-to-troubleshoot-a-high-cpu-in-gc-issue.aspx"&gt;&lt;FONT color=#669966&gt;Using VSTS Test and Profilers to troubleshoot a High CPU in GC issue&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/tess/archive/2008/10/01/using-visual-studio-team-system-test-and-profilers-to-troubleshoot-performance-issues-part-1.aspx" mce_href="http://blogs.msdn.com/tess/archive/2008/10/01/using-visual-studio-team-system-test-and-profilers-to-troubleshoot-performance-issues-part-1.aspx"&gt;&lt;FONT color=#669966&gt;Using VSTS Test and Profilers to troubleshoot performance issues (low cpu hang)&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Ed.&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9462489" width="1" height="1"&gt;</description></item></channel></rss>