<?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>Srikanth R : VSTS</title><link>http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx</link><description>Tags: VSTS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Links to Learning more about Team system</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/25/links-to-learning-more-about-team-system.aspx</link><pubDate>Fri, 25 May 2007 11:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2864240</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2864240.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2864240</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2864240</wfw:comment><description>&lt;P&gt;The below links should be very useful to customers to clarify what exactly they will&amp;nbsp;need to purchase in order to enable source control/bug tracking/testing scenarios within VSTS /Team Foundation Server&amp;nbsp;&lt;/P&gt;
&lt;LI&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN class=msoIns&gt;&lt;INS&gt;&lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/aa718803.aspx" target=_blank&gt;&lt;FONT color=#1010c8 size=3&gt;Presales website&lt;/FONT&gt;&lt;/A&gt;&lt;/INS&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://download.microsoft.com/download/1/0/4/1046448f-3775-4c29-940c-4a2ac9ee5a02/Team%20System%20Datasheet.pdf" target=_blank&gt;&lt;FONT color=#1010c8&gt;VSTS datasheet&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;Cheers !&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2864240" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/srikanthr/archive/tags/TFS/default.aspx">TFS</category></item><item><title>SnagIt! integration with TFS</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/25/snagit-integration-with-tfs.aspx</link><pubDate>Fri, 25 May 2007 10:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2863839</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2863839.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2863839</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2863839</wfw:comment><description>&lt;P&gt;I just came across &lt;A class="" href="http://blogs.msdn.com/bharry/archive/2007/05/24/snagit-integration-with-tfs.aspx" mce_href="http://blogs.msdn.com/bharry/archive/2007/05/24/snagit-integration-with-tfs.aspx"&gt;this&amp;nbsp;news&lt;/A&gt;&amp;nbsp;from bharry's&amp;nbsp;blog. This is a great news for&amp;nbsp;testers to&amp;nbsp;create bugs and improve their productivity !&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Heres the contents of the blog...&lt;/P&gt;
&lt;P&gt;I just got mail from TechSmith - makers of SnagIt! that they have added support for Team System.&amp;nbsp; Being an occasional user of SnagIt! myself, I tried it out on our dogfood server and it worked like a charm.&amp;nbsp; SnagIt! allows you to take screenshots and then automatically create a bug with the screenshot attached at the click of a button&amp;nbsp;- very nice.&amp;nbsp; SnagIt! also has powerful capabilities for editing/annotating the screenshots.&amp;nbsp; It's a nice tool.&amp;nbsp; Check out the new update at:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.techsmith.com/community/blogcomments.asp?thread=356" target=_blank closure_hashCode_="159"&gt;&lt;STRONG&gt;http://www.techsmith.com/community/blogcomments.asp?thread=356&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2863839" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Outsourced Projects using Visual Studio Team System</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/20/outsourced-projects-using-visual-studio-team-system.aspx</link><pubDate>Sun, 20 May 2007 12:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2748595</guid><dc:creator>srikanth_r</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2748595.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2748595</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2748595</wfw:comment><description>&lt;P&gt;I came across &lt;A class="" href="http://blogs.msdn.com/rimuri/archive/2007/04/03/outsourced-projects-on-using-visual-studio-team-system.aspx" mce_href="http://blogs.msdn.com/rimuri/archive/2007/04/03/outsourced-projects-on-using-visual-studio-team-system.aspx"&gt;this&lt;/A&gt; interesting blog by Richard Murillo and thought of sharing it. In this post he explains lessons learnt and how to leverage Visual studio Team System&amp;nbsp;to execute outsourced projects. Here's the content of what he has to say&lt;/P&gt;
&lt;P&gt;"Having been included in two separate teams where our outsourced projects don't go as well as expected I cannot help but to take a step back and ask why things are consistently failing with separate teams, and separate organizations. &lt;/P&gt;
&lt;P&gt;The commonalities in both projects were fixed-bid (i.e. fixed price, features and time) using a modified waterfall model (to account for geographic locations). I know—you say the waterfall model doesn't work. Be that as it may organizations revert to this model and are thus handicapped; unable to make adjustments to the changing business and unable to make definitive decisions on how to improve their process, but more on that later. Other commonalities included high level and low level designs, unit test cases, test cases, etc. &lt;/P&gt;
&lt;P&gt;I have heard that groups similar to mine are having great success with outsourced projects, and I myself have also been involved with projects that were executed to great success, however I assert that for us there are areas of improvement. At a high level, I can sum it up in one word: process. &lt;/P&gt;
&lt;P&gt;Where have my two projects failed? IMHO it is in the analysis of the requirements. The requirements had the vendors pegged implementing features on product technologies they were unfamiliar with—some churn in requirements and with new technology. Traditionally engineering teams would perform proof of concepts and experiments to validate design, and clickable prototypes to share with customers to stabilize requirements (business and technical). While some of that was done here, I still see where it could have been improved. In both instances, we started with a solid vendor relationship that quickly begins to fall apart due to lack of trust. IMHO the biggest areas we are lacking are: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Trust between teams 
&lt;LI&gt;High &lt;A href="http://en.wikipedia.org/wiki/Signal-to-noise_ratio" mce_href="http://en.wikipedia.org/wiki/Signal-to-noise_ratio"&gt;SNR&lt;/A&gt; in communication (i.e. direct, candid communications on issues, risk and status) 
&lt;LI&gt;Close coordination between said teams &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;IMHO in both projects are considered high risk when examining the vendor skill set, staffing model, and experience with projects of this complexity. In most situations you can apply the Pareto principle (AKA 80-20 rule) where 80% of staff is offshore while 20% is onsite for R&amp;amp;D phases, moving to a 90-10 planned &lt;A href="http://c2.com/cgi/wiki/wiki?HistoryOfIterative" mce_href="http://c2.com/cgi/wiki/wiki?HistoryOfIterative"&gt;iterative&lt;/A&gt; model for build and less onsite still for stabilization. &lt;/P&gt;
&lt;P&gt;In both projects the offshore team encountered additional issues during implementation that require workarounds for resolution, R&amp;amp;D, or a complete shift in approach. On both projects we tried to mitigate risk by having frequent check-ins with the offshore team and checking progress on a tight basis (one was almost daily, the other bi-weekly). Alas when significant and unexpected delays arose the relationship fell to pieces and in response we put in-house staff on the project to sure it up and get it going in the right direction. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Lessons Learned &lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Complete as many iterations as you can:&lt;/STRONG&gt; That is, don't disrupt forward progress on the project for the sake of getting a work product from the team, but do get deliverables as often as it makes sense. Some of our projects get some weekly, others monthly. 
&lt;LI&gt;&lt;STRONG&gt;Use collaborative tools to increase confidence in deliverables: &lt;/STRONG&gt;Your in-house staff does not have to wait until the end of the formal delivery cycle to perform review or check in with the offshore team. Utilize tools like LiveMeeting Net Meeting, Windows Live Messenger, etc. to increase collaboration&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Code review, code review, code review: &lt;/STRONG&gt;DO NOT UNDERESTIMATE THIS. A majority of issues we found on one project were found in code review by in-house staff familiar with the business rules. In both projects the adherence to offshore code reviews prior to sending to our in-house staff was not maintained, resulting in many bugs raised later in the cycles. In the reviews we took code that was a representative sample (chosen at random, but was a deep slice) and did a review. Additionally we looked at key strategic areas for performance bottlenecks and security to ensure code conventions, standards, and requirements were being met&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Integrate as frequently as possible: &lt;/STRONG&gt;Our teams use branches to logically separate the project or feature into areas for work. As a matter of practice, the more frequently these branches can be integrated the faster you can identify and resolve defects.&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Where possible, leverage frameworks:&lt;/STRONG&gt; Use application blocks (&lt;A href="http://www.codeplex.com/entlib" mce_href="http://www.codeplex.com/entlib"&gt;Enterprise Library&lt;/A&gt;), &lt;A href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Guidance%20Automation%20Overview&amp;amp;referringTitle=Home" mce_href="http://www.codeplex.com/websf/Wiki/View.aspx?title=Guidance%20Automation%20Overview&amp;amp;referringTitle=Home"&gt;Guidance Automation&lt;/A&gt; (&lt;A href="http://www.codeplex.com/websf" mce_href="http://www.codeplex.com/websf"&gt;Web Client Software Factory&lt;/A&gt;, &lt;A href="http://www.codeplex.com/smartclient" mce_href="http://www.codeplex.com/smartclient"&gt;Smart Client Software Factory&lt;/A&gt;) to solve common problems. Where possible, create your own frameworks and reuse them on projects to reduce the amount of custom code required to be written, which decreases development time and improves quality.&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Use Design Patterns:&lt;/STRONG&gt; These patterns illustrate common ways to solve problems. Being standard, they can convey meaning across geographical boundaries. Further, by implementing patterns maintenance complexity is reduced and documentation and clarity is improved. A different vendor in a different country, maybe even in-house staff, may need to understand and modify the code—using a proven design allows ramp up to easily occur.&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Use useful metrics to measure quality and progress: &lt;/STRONG&gt;Build metrics into SLAs and look at meaningful metrics, such as defect density, bug reactivations, code churn, code coverage (unit test or otherwise), project velocity, etc. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Leveraging Visual Studio Team System &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I have found that VSTS handles the needs of geographically dispersed development teams (and their inherent challenges) in a variety of ways: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;"Better" communication and coordination: &lt;/STRONG&gt;Team Foundation Server provides the ability to track work items (tasks, bugs, issues, requirements, risks, change requests) in addition to source code and documentation. The architecture, utilizing web services and cache servers, is optimized for distributed teams working over slow or unreliable connections. The product also allows for customizable notification of events to give you the clarity you need from the projects and help improve onsite/offshore communications 
&lt;LI&gt;&lt;STRONG&gt;"Better" status reports:&lt;/STRONG&gt; Coupled with the data warehouse maintaining statistics and work item history, reports can be generated to give you insight in to some of the metrics I mentioned above. The platform is also extensible, utilizing SQL Analysis Services (SSAS) and SQL Server Reporting Services (SSRS) to allow team members to gather information with various levels of granularity. 
&lt;LI&gt;&lt;STRONG&gt;"Better" code quality:&lt;/STRONG&gt; the product also includes a unit testing framework that works with the centralized build and reporting portions to give indications of code churn, unit test coverage, and pass rates. Check in policies can be configured to check if the code compiles, run static code analysis, even run selected tests &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Each one of these allow the onsite team to ensure compliance with corporate standards and gain trust in confidence in the offshore team's ability to deliver a quality, stable product."&lt;/P&gt;
&lt;P&gt;&amp;nbsp;In his another blog he explains how VSTS can help prevent failures in outsourced projects&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How can Visual Studio Team System help? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Gartner advises companies that plan on offshoring work to figure out their IT process maturity and identify gaps in your process. As previously mentioned, it is important to set all expectations clearly up front with your vendor. When using Visual Studio 2005 with Team Foundation Server, several mechanisms out of box enable teams to work effectively in these environments: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Process: &lt;/STRONG&gt;out of the box, Visual Studio Team Foundation server includes &lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/aa718802.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/aa718802.aspx"&gt;MSF for CMMI Process Improvement Level 3&lt;/A&gt; and &lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/aa718801.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/aa718801.aspx"&gt;MSF for Agile Development&lt;/A&gt; work item templates. By utilizing the templates and the process behind them, teams can effectively work across physical boundaries with increased confidence and transparency, allowing software development activities to be predictable and success repeatable.&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Communication:&lt;/STRONG&gt; Visual Studio Team System facilitates the transparency between individuals and teams with work items, a shared team portal, integrated change management, and a common data repository. The availability of information, and insight into an individual's progress, creates a more unified work environment regardless of physical location. Project managers can stay informed on an individual's progress without having to visit each individual—having real time information about each individual's work and their progress allows project managers to create precise schedules and report more accurately to management&lt;STRONG&gt; &lt;/STRONG&gt;
&lt;LI&gt;&lt;STRONG&gt;Productivity:&lt;/STRONG&gt; utilizing the common repository, managers and leads can answer common questions such as: What's in the current build that QA can test today; are requirements being met; are my teams adhereing to quality standards; is the product ready. Further, it provides the single team portal for integrating source code, issue tracking, project plans, vision statements and others that are critical assets to a project team.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This should definitely be useful !&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2748595" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/srikanthr/archive/tags/TFS/default.aspx">TFS</category></item><item><title>How to change process guidance template on existing project?</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/18/how-to-change-process-guidance-template-on-existing-project.aspx</link><pubDate>Fri, 18 May 2007 09:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2706668</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2706668.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2706668</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2706668</wfw:comment><description>&lt;P&gt;&lt;SPAN&gt;I found this interesting question in the VSTS MSF Forum that many customers have and&amp;nbsp; answer from &lt;SPAN class=inlineLink onclick="window.open('/MSDN/persona.aspx?ep=0&amp;amp;SiteID=1&amp;amp;fu=/MSDN/User/Profile.aspx?UserID=43511&amp;amp;SiteID=1&amp;amp;LCID=1033', target='_self')"&gt;Alan Ridlehoover&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/SPAN&gt;.&amp;nbsp;Heres the answer for it.....&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;The short answer is no&lt;/STRONG&gt;, there is no way to change the process template of an existing project.&lt;/P&gt;
&lt;P&gt;Think of it like this:&amp;nbsp; A process template in TFS is similar to a document template in Word.&amp;nbsp; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In Word, all documents are based on a template.&amp;nbsp; The default template in Word 2007 is Normal.DOTX.&amp;nbsp; It contains your default font and other formatting preferences.&amp;nbsp; Other templates, such as UrbanLetter.DOTX,&amp;nbsp;contain different formatting as well as placeholders for content.&amp;nbsp; Once&amp;nbsp;a document is created based on a specific template, you can change the content and/or formatting without affecting the underlying template. 
&lt;LI&gt;In TFS, all projects are based on a process template.&amp;nbsp; There is no default process template.&amp;nbsp; Instead, you must choose from either MSF for Agile or MSF for CMMI.&amp;nbsp; Other templates are also available from third parties.&amp;nbsp; Once a project is created, you can change the content (specific work items, etc.) and/or formatting (work item type definitions) without affecting the underlying template.&amp;nbsp; (More on this below.)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;That said, if you still wish to begin using the CMMI template, my advice is to begin fresh, with a new project.&amp;nbsp; To do this:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Move your source code either by&amp;nbsp;getting it out of the old project and checking it in to the new project (which will not bring history), or by starting the new project off a branch of the old source tree (which will bring history) 
&lt;LI&gt;Move your work items via Excel (which will not bring history - to my knowledge, there is no way to keep history when moving&amp;nbsp;work items between projects) 
&lt;UL&gt;
&lt;LI&gt;In the old project, create a query with all the fields and records you want and export it to Excel 
&lt;LI&gt;In the new project create a query with all the fields you want to import and export it to Excel 
&lt;LI&gt;Cut &amp;amp; paste (or write a macro)&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Alternatively, it is also possible to modify the individual work item type definitions within an existing project using WITExport.exe and WITImport.exe.&amp;nbsp;&amp;nbsp; Together these programs import and export work item type definitions from an existing project (as XML documents).&amp;nbsp; So, you can export a WIT, modify it, and import it.&amp;nbsp; If you go this direction, you will definitely want to check out the Visual Studio 2005 SDK 3.0 - September 2006 RTM (which you can find &lt;FONT color=#800080&gt;&lt;A title=http://affiliate.vsipmembers.com/affiliate/default.aspx href="http://affiliate.vsipmembers.com/affiliate/default.aspx" target=_blank mce_href="http://affiliate.vsipmembers.com/affiliate/default.aspx"&gt;&lt;U&gt;here&lt;/U&gt;&lt;/A&gt;&lt;/FONT&gt;), as it contains the documentation for the XML format you'll be modifying.&amp;nbsp; Note:&amp;nbsp; Changing a WIT for a specific project does NOT update the underlying process template.&amp;nbsp; Also note that going this direction may have negative side-effects, such as broken reports.&amp;nbsp; The safest method is to create a new project as described above.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #333333; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2706668" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Team System Widgets</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/17/team-system-widgets.aspx</link><pubDate>Thu, 17 May 2007 18:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2696764</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2696764.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2696764</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2696764</wfw:comment><description>&lt;P&gt;&lt;A class="" href="http://accentient.com/widgets.aspx" mce_href="http://accentient.com/widgets.aspx"&gt;&lt;STRONG&gt;Here's&lt;/STRONG&gt;&lt;/A&gt; is a cool list of various Visual Studio 2005 and Team Foundation Server add-ins, add-ons, widgets, and extensibility solutions.&lt;/P&gt;
&lt;P&gt;Cheers&lt;/P&gt;
&lt;P&gt;Srikanth&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2696764" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/srikanthr/archive/tags/TFS/default.aspx">TFS</category></item><item><title>Work Item Creator is now on CodePlex</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/17/work-item-creator-is-now-on-codeplex.aspx</link><pubDate>Thu, 17 May 2007 10:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2690172</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2690172.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2690172</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2690172</wfw:comment><description>&lt;P&gt;Work Item Creator is a Standalone application that enable you to create Work Items and organize them in a hierarchical way.&lt;BR&gt;This software also includes WINetwork, a Team System Alert Web Service that is aware of Work Item changes, and update related ones using predefined schemas.&lt;/P&gt;
&lt;P&gt;Here's the screenshot of the &lt;A class="" href="http://www.codeplex.com/wicreator" mce_href="http://www.codeplex.com/wicreator"&gt;&lt;STRONG&gt;tool&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG src="http://blogs.msdn.com/photos/srikanthr/images/2690229/original.aspx" mce_src="http://blogs.msdn.com/photos/srikanthr/images/2690229/original.aspx"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2690172" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>How Tos (Visual Studio Team System) </title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/14/how-tos-visual-studio-team-system.aspx</link><pubDate>Mon, 14 May 2007 11:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2620133</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2620133.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2620133</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2620133</wfw:comment><description>&lt;P&gt;Find the answers for the below questions &lt;A class="" href="http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20Tos&amp;amp;referringTitle=Home" mce_href="http://www.codeplex.com/VSTSGuidance/Wiki/View.aspx?title=How%20Tos&amp;amp;referringTitle=Home"&gt;&lt;STRONG&gt;here&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;How To: Perform a Baseless Merge in Team Foundation Server &lt;BR&gt;How To: Step Through Creating a Custom Check-in Policy for Team Foundation Server 2005 &lt;BR&gt;How To: Step Through Creating Your Source Tree in Team Foundation Server 2005 &lt;BR&gt;How To: Structure Your ASP.NET Applications for Team Foundation Server &lt;BR&gt;How To: Structure Your Source Control Folders in Team Foundation Server &lt;BR&gt;How To: Structure Your Windows Applications for Team Foundation Server &lt;/P&gt;
&lt;P&gt;Happy Reading !&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2620133" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Visual Studio Code Metrics</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/12/visual-studio-code-metrics.aspx</link><pubDate>Sat, 12 May 2007 12:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2567911</guid><dc:creator>srikanth_r</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2567911.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2567911</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2567911</wfw:comment><description>&lt;P&gt;The new Code Metrics feature for Visual Studio ‘Orcas’! Available in Visual Studio Team Developer and Team Suite, this new feature allows&amp;nbsp;users to generate code metrics for projects and solutions and displays the results in the Code Metrics Results tool window. An example Code metrics Results window is shown below&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 871px; HEIGHT: 417px" height=417 src="http://blogs.msdn.com/photos/srikanthr/images/2567957/original.aspx" width=871 align=middle mce_src="http://blogs.msdn.com/photos/srikanthr/images/2567957/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;This feature&amp;nbsp;can generate five different metrics: &amp;nbsp;Maintainability Index, Cyclomatic Complexity, Depth of Inheritance, Class Coupling, and Lines of Code. &lt;/P&gt;
&lt;P&gt;Maintainability Index - Measures ease of code Maintanance and higher values for this is better&lt;/P&gt;
&lt;P&gt;Cyclomatic Complexity - Measures the number of branches and lower values for this is better&lt;/P&gt;
&lt;P&gt;Depth of Inheritance - This measures the lenght of object inheritance hierarchy and lower values for this is better&lt;/P&gt;
&lt;P&gt;Class Coupling - Measures number of classes that are referenced and lower values are better&lt;/P&gt;
&lt;P&gt;Lines of Code - Measures lines of executable code and lower values are better&lt;/P&gt;
&lt;P&gt;&amp;nbsp;All metrics are averaged at the type, namespace, and assembly levels with the exception of Class Coupling. The Class Coupling metric displays the total number of distinct types referenced at the method and type levels rather than the total number of type references.&lt;/P&gt;
&lt;P&gt;As you can see in the figure Visual Studio gives Red or Green icon for the index based on which you can change your code to improve code quality.&lt;/P&gt;
&lt;P&gt;Users will&amp;nbsp;are able&amp;nbsp;to sort the results in the window by column. For example, above the results are sorted by the Maintainability Index column. Note that the proper hierarchy is maintained after sorting&lt;/P&gt;
&lt;P&gt;Users can also filter the results from a particular metric for values between a specified minimum and maximum value. As you can see in&amp;nbsp;below the results of filtering out any results with a Maintainability Index greater than&amp;nbsp;100 are displayed. &lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/srikanthr/images/2567977/original.aspx" mce_src="http://blogs.msdn.com/photos/srikanthr/images/2567977/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Users can also export these results into Excel where they can perform their own calculations and transformations.&lt;/P&gt;
&lt;P&gt;To generate code metrics, simply do the following:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In &lt;STRONG&gt;Solution Explorer&lt;/STRONG&gt;, right-click on&amp;nbsp;your solution/project and choose &lt;STRONG&gt;Generate Code Metrics&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 449px; HEIGHT: 480px" height=480 src="http://blogs.msdn.com/photos/srikanthr/images/2567987/449x480.aspx" width=449 mce_src="http://blogs.msdn.com/photos/srikanthr/images/2567987/449x480.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Download &lt;A class="" href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx" mce_href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;Orcas&lt;/A&gt; and try it out !!!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2567911" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Teamprise Announces Java SDK for Visual Studio Team Foundation Server</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/09/teamprise-announces-java-sdk-for-visual-studio-team-foundation-server.aspx</link><pubDate>Wed, 09 May 2007 03:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2490808</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2490808.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2490808</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2490808</wfw:comment><description>&lt;P&gt;Teamprise today announced plans for the creation of a Java Software Development Kit (SDK) for Microsoft Visual Studio 2005 Team Foundation Server. The Teamprise Java SDK for Team Foundation Server will enable software developers to create custom applications in the Java programming language that have access to the full set of features in Team Foundation Server, including source code control and work item tracking.&lt;/P&gt;
&lt;P&gt;Check out for more information &lt;A class="" href="http://www.teamprise.com/news/2007/05/teamprise_announces_java_sdk_f.html" mce_href="http://www.teamprise.com/news/2007/05/teamprise_announces_java_sdk_f.html"&gt;here&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2490808" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Advanced Load Testing Features of Visual Studio Team System</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/08/advanced-load-testing-features-of-visual-studio-team-system.aspx</link><pubDate>Tue, 08 May 2007 12:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2477124</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2477124.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2477124</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2477124</wfw:comment><description>&lt;P minmax_bound="true"&gt;Visual Studio Team Test Edition provides two capabilities that can allow users to create load tests of web sites quickly and easily: the Web Test recorder and the Load Test wizard.&amp;nbsp;&amp;nbsp;&amp;nbsp; In fact, these tools make this process so easy that it is tempting to use the web tests and the load tests that result from using these tools without much modification.&amp;nbsp;&amp;nbsp; However, to use the web testing and load testing capability most effectively it is beneficial to understand how to use other web test and load test properties that are not set by these tools.&amp;nbsp;&amp;nbsp;&amp;nbsp; This note describes some of the most important considerations for load testing with Visual Studio Team System that are not addressed by the web test recorder and the load test wizard.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;For an excellent description of the process of effective web site load testing that is not specific to Visual Studio Team System, see the paper &lt;STRONG minmax_bound="true"&gt;&lt;EM minmax_bound="true"&gt;The&amp;nbsp;Science of Web site Load Testing&lt;/EM&gt;&lt;/STRONG&gt; by Alberto Savoia at &lt;A href="http://www.cmgitalia.it/download/seminario_marzo_2004/scienze_web_site_load_testing_savoia.pdf" minmax_bound="true"&gt;&lt;FONT color=#0033cc&gt;http://www.cmgitalia.it/download/seminario_marzo_2004/scienze_web_site_load_testing_savoia.pdf&lt;/FONT&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Verify web tests and unit tests&lt;/FONT&gt;&lt;/P&gt;
&lt;P minmax_bound="true"&gt;Before running a load test, it is a good idea to make sure that all of the tests contained in the load test will pass when run by themselves by running them from either the Test Explorer or Test View windows, or from the Web Test editor in the case of a web test.&amp;nbsp;&amp;nbsp;&amp;nbsp; For data bound web tests, run through all of the data values. &lt;/P&gt;
&lt;P minmax_bound="true"&gt;See Josh Christie’s excellent paper &lt;STRONG minmax_bound="true"&gt;&lt;EM minmax_bound="true"&gt;Web Test Authoring and Debugging Techniques&lt;/EM&gt;&lt;/STRONG&gt; at &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/WTAuthDebug.asp" minmax_bound="true"&gt;&lt;FONT color=#0033cc&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/WTAuthDebug.asp&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;for more details on creating and verify web tests.&amp;nbsp;&amp;nbsp; Some additional web test properties that are useful when running load test are described later in this document.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Choose an appropriate load profile&lt;/FONT&gt;&lt;/P&gt;
&lt;P minmax_bound="true"&gt;Choose a load profile for each Scenario in your load test that is appropriate for your test goals.&amp;nbsp;&amp;nbsp;&amp;nbsp; Here is a summary of the three choices for load profile.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;STRONG minmax_bound="true"&gt;Using a Constant Profile&lt;BR minmax_bound="true"&gt;&lt;/STRONG&gt;A Constant Load Profile can be used to run the same user load throughout a load test.&amp;nbsp;&amp;nbsp; Be careful about using a Constant Load Profile with a high user count; doing so may place an unreasonable and unrealistic demand on your server(s) at the beginning of the load test.&amp;nbsp;&amp;nbsp; For example, if your load test contains a web test that starts with a request to a home page, and you set up the load test with a constant load of 1,000 users, the load test will submit the first 1,000 requests to the home page as fast as possible.&amp;nbsp;&amp;nbsp; This may not be a realistic simulation of real-world access to your web site.&amp;nbsp;&amp;nbsp;&amp;nbsp; To mitigate this, consider using a Step Load Profile that ramps up gradually to 1,000 users, or specify a warm-up period in the Load Test Run Settings.&amp;nbsp;&amp;nbsp; If a warm-up period is specified, the load test will automatically increase the load gradually during the warm-up period.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;STRONG minmax_bound="true"&gt;Using a Step Load Profile&lt;/STRONG&gt;&lt;BR minmax_bound="true"&gt;A Step Load Profile can be used to increase the load on the server(s) as the load test runs so that you can see how performance varies as the user load increases.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For example, to see how your server(s) perform as the user load increasing to 2,000 users, you might run a 10-hour load test using a Step Load Profile with the following properties:&lt;BR minmax_bound="true"&gt;Initial User Count: 100&lt;BR minmax_bound="true"&gt;Maximum User Count: 2000&lt;BR minmax_bound="true"&gt;Step Duration (seconds): 1800&lt;BR minmax_bound="true"&gt;Step Ramp Time (seconds): 20&lt;BR minmax_bound="true"&gt;Step User Count: 100&lt;BR minmax_bound="true"&gt;These settings have the load test running for 30 minutes (1800 seconds) at user loads of 100, 200, 300, up to 2,000 users.&amp;nbsp;&amp;nbsp; The Step Ramp Time property is worth special mention here because it is the only one of these properties that is not available to choose in the Load Test Wizard.&amp;nbsp;&amp;nbsp; This property allows the increase from one step to the next (for example from 100 to 200 users) to be gradual rather than immediate.&amp;nbsp;&amp;nbsp; In this example, the user load would be increased from 100 to 200 users over a 20 second period (an increase of 5 users every second).&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;STRONG minmax_bound="true"&gt;Using a Goal-Based Load Profile&lt;BR minmax_bound="true"&gt;&lt;/STRONG&gt;A Goal Based Load Profile is useful when you want to determine the number of users that your system can support before reaching some level of resource utilization.&amp;nbsp;&amp;nbsp;&amp;nbsp; This option works best when you have already identified the limiting resource (i.e. the bottleneck) in your system.&amp;nbsp;&amp;nbsp; For example, if you know that the limiting resource in your system is the CPU on your database server, and you want to see how many users can be supported when the CPU on the database server is approximately 75% busy, you could use a Goal Based Load Profile with the goal of keeping the value of the performance counter “%Processor Time” between 70% and 80%.&amp;nbsp;&amp;nbsp;&amp;nbsp; One thing to watch out for is that if some other resource is limiting the throughput of the system, the goal specified by the Goal Based Load Profile may never be reached, and the user load will continue to rise until the value specified for the Maximum User Count is reached.&amp;nbsp; This is usually not the desired load, so be careful about the choice of the performance counter in the Goal Based Load Profile, and also make a conscious decision about the value for the Maximum User Count to place an upper bound on the user load.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Choosing the location of the Load Test Results Store&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;When the Visual Studio Team Test Controller is installed, the Load Test Results Store is set up to use an instance of SQL Express that is installed on the controller computer.&amp;nbsp;&amp;nbsp;&amp;nbsp; SQL Express is limited to using a maximum of 4 GB of disk space.&amp;nbsp;&amp;nbsp; If you are going to run many load tests and want to keep the results for a while, you should consider configuring the Load Test Results Store to use an instance of the full SQL Server product if available.&amp;nbsp;&amp;nbsp;&amp;nbsp; See the Visual Studio Team Test documentation for instructions on setting up the database to be used as the Load Test Results Store.&lt;BR minmax_bound="true"&gt;Increase the performance counter sampling interval for longer tests&lt;BR minmax_bound="true"&gt;Choose an appropriate value for the “Sample Rate” property in the Load Test Run Settings based on the length of your load test.&amp;nbsp; A smaller sample rate, such as the default value of five seconds, requires more space in the load test results database.&amp;nbsp; For longer load tests, increasing the sample rate reduces the amount of data collected.&lt;BR minmax_bound="true"&gt;Here are some guidelines for sample rates:&lt;/P&gt;
&lt;P minmax_bound="true"&gt;Load Test Duration&amp;nbsp;Recommended Sample Rate&lt;BR minmax_bound="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt; 1 Hour&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5 seconds&lt;BR minmax_bound="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 - 8 Hours&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15 seconds&lt;BR minmax_bound="true"&gt;&amp;nbsp;&amp;nbsp; 8 - 24 Hours&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30 seconds&lt;BR minmax_bound="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt; 24 Hours&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 60 seconds&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Consider including Timing Details to collect percentile data&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;There is a property on the Run Settings in the Load Test Editor named "Timing Details Storage".&amp;nbsp; If Timing Details Storage is enabled, then the time to execute each individual test, transaction, and page during the load test will be stored in the load test results repository.&amp;nbsp;&amp;nbsp; This allows 90th and 95th percentile data to be shown in the load test analyzer in the Tests, Transactions, and Pages tables.&amp;nbsp;&amp;nbsp; The amount of space required in the load test results repository to store the Timing Details data may be very large, especially for longer running load tests.&amp;nbsp; Also, the time to store this data in the load test results repository at the end of the load test is longer because this data is stored on the load test agents until the load test has finished executing at which time the data is stored into the repository.&amp;nbsp;&amp;nbsp; For these reasons, Timing Details is disabled by default.&amp;nbsp; However if sufficient disk space is available in the load test results repository, you may wish to enable Timing Details to get the percentile data.&amp;nbsp; Note that there are two choices for enabling Timing Details in the Run Settings properties named "StatisticsOnly" and "AllIndividualDetails".&amp;nbsp; With either option, all of the individual tests, pages, and transactions are timed, and percentile data is calculated from the individual timing data.&amp;nbsp;&amp;nbsp; The difference is that with the StatisticsOnly option, once the percentile data has been calculated, the individual timing data is deleted from the repository.&amp;nbsp;&amp;nbsp; This reduces the amount of space required in the repository when using Timing Details.&amp;nbsp;&amp;nbsp; However, advanced users may want to process the timing detail data in other way using SQL tools, in which case the AllIndividualDetails option should be used so that the timing detail data is available for that processing.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Consider enabling SQL Tracing&lt;BR minmax_bound="true"&gt;&lt;/FONT&gt;There is a set of properties on the Run Settings in the Load Test Editor that allow the SQL tracing feature of Microsoft SQL Server to be enabled for the duration of the load test.&amp;nbsp;&amp;nbsp; If enabled, this allows SQL trace data to be displayed in the load test analyzer on the "SQL Trace" table available in the Tables dropdown.&amp;nbsp;&amp;nbsp; This is a fairly easy-to-use alternative to starting a separate SQL Profiler session while the load test is running to diagnose SQL performance problems.&amp;nbsp; To enable this feature, the user running the load test (or the controller user in the case of a load test run on a rig) must have the SQL privileges needed to perform SQL tracing, and a directory (usually a share) where the trace file will be written must be specified.&amp;nbsp;&amp;nbsp; At the completion of the load test, the trace file data is imported into the load test repository and associated with the load test that was run so that it can be viewed at any later time using the load test analyzer. &lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Don’t Overload the Agent(s)&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;If an agent machine has more than 75% CPU utilization or has less than 10% of physical memory available, add more agents to your test rig to ensure that the agent machine does not become the bottleneck in your load test.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Add an Analysis Comment&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;After the load test is complete and you have spent some time analyzing the results, you can a short one line description and an arbitrarily long analysis comment to be stored permanently with the load test result.&amp;nbsp;&amp;nbsp;&amp;nbsp; To do this, in the load test result viewer, right click and choose the “Analysis” option.&amp;nbsp;&amp;nbsp; This brings up a dialog that allows you to enter your analysis text which is stored in the load test results database you click OK to close the dialog.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=5 minmax_bound="true"&gt;Consideration for Load Tests that contain Web Tests&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;The following considerations apply to load tests that contain web tests, but are not applicable to load tests that contain only unit tests.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Choose the Appropriate Connection Pool Model&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;The property WebTest Connection Model found on the RunSettings property sheet in the Load Test editor allows you to choose between two models for managing the connections that the load test runtime engine uses for connecting to the target web site(s):&lt;/P&gt;
&lt;P minmax_bound="true"&gt;The &lt;STRONG minmax_bound="true"&gt;ConnectionPerUser&lt;/STRONG&gt; model most closely simulates the behavior of a real browser: each virtual user running a web test creates one or two connections to the web server that are dedicated to that virtual user. The first connection is established when the first request in the web test is issued. A second connection may be used when a page contains more than one dependent request; these requests may be issued in parallel using the two connections. These connections are re-used for subsequent requests within the web test, and are closed when the web test completes. The only drawback to the ConnectionPerUser model is that the number of connections held open on the agent machine may be high (as high as 2 times the user load), and the resources required to support this high connection count may limit the user load that can be driven from a single load test agent.&amp;nbsp; The extra resources used are the memory associated with the connection and extra processing time to close and reopen the connections as web tests complete and new web tests are started.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;The &lt;STRONG minmax_bound="true"&gt;ConnectionPool&lt;/STRONG&gt; model conserves the resources on the load test agent by sharing connections to the web server among multiple virtual web test users. When the Connection Model is ConnectionPool, the Connection Pool Size specifies the maximum number of connections to make between the load test agent and the web server. If the user load is larger than the connection pool size, then web tests executing on behalf of different virtual users will share a connection. This means that one web test will need to wait before issuing a request when another web test is using the connection.&amp;nbsp; The average time that a web test waits before submitting a request is tracked by the load test performance counter “Avg. Connection Wait Time”.&amp;nbsp; The value of this performance counter should be very low; if it is not, you need to increase the connection pool size to prevent it from limiting the throughput of your load test.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Consider setting response time goals for web test requests&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;One of the properties of a web test request is a response time goal.&amp;nbsp; If you define response time goals for your web test requests, when the web test is run in a load test, the load test analyzer will report the percentage of the web tests executed within the load test for which the page response time was less than the goal.&amp;nbsp; Note that the response time goal is for the entire page, meaning the time to receive the response for the request specified in the web test including the time to receive the response for any dependent requests.&amp;nbsp; By default there are no response time goals defined.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Consider setting timeouts for web test requests&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;Another property of a web test request is a timeout value.&amp;nbsp; By default there is no timeout value specified on web test requests, so if the web server never responds to the request, the web test request (and the web test) will never complete and no error will be reported.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If a timeout value (even a high one such as 300 seconds) is set, then the web test request will eventually timeout, an error will be reported, and the web test will continue.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Choose a value for the “Percentage of New Users” property&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;There is a property on each scenario in a Load Test named "Percentage of New Users”.&amp;nbsp; This property affects the way in which the load test runtime engine simulates the caching that would be performed by a web browser.&amp;nbsp;&amp;nbsp; The default value for the “Percentage of New Users” property is 100%.&amp;nbsp;&amp;nbsp; This means that each web test run in a load test is treated like a first time user to the web site who doesn't have any content from the web site in their browser cache from previous visits.&amp;nbsp;&amp;nbsp; Thus all requests in the web test (including all dependent requests such as images) are downloaded (except in the case where the same cacheable resource is requested more than once in a web test).&amp;nbsp; If you are load testing a web site that has a significant number of return users who are likely to have images and other cacheable content cached locally, then using the default setting of 100% for “Percentage of New Users” will generate more download requests than would occur in real-world usage.&amp;nbsp;&amp;nbsp; In this case, you should estimate the percentage of visits to your web site that are from first time users of the web site, and set “Percentage of New Users” accordingly.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;&lt;FONT size=4 minmax_bound="true"&gt;Consider setting the “ParseDependentRequests” property of your web test requests to false&lt;/FONT&gt;&lt;BR minmax_bound="true"&gt;By default, when a web test is executed, HTML responses received from the web server are parsed and any dependent requests such as images or style sheets are automatically submitted.&amp;nbsp;&amp;nbsp; This is usually desirable as it places the most realistic load on the server.&amp;nbsp;&amp;nbsp;&amp;nbsp; However, if the goal of your load test is to place the maximum load on your application server as opposed to your web server, you may wish to disable this behavior by setting the ParseDependentRequests on all of your web test requests to false.&lt;/P&gt;
&lt;P minmax_bound="true"&gt;For more information please visit &lt;A class="" href="http://blogs.msdn.com/billbar/articles/517081.aspx" mce_href="http://blogs.msdn.com/billbar/articles/517081.aspx"&gt;here&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true" minmax_bound="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2477124" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Running Tests with Code Coverage</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/08/running-tests-with-code-coverage.aspx</link><pubDate>Tue, 08 May 2007 12:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2477648</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2477648.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2477648</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2477648</wfw:comment><description>Three common work flow situations with steps to successfully collect code coverage data.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;These scenarios were built around different models of access to source code because that seems to be the underlying issue customers experience. 
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Every scenario minimally requires product binaries, product &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/_core_the_..pdb_files.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/_core_the_..pdb_files.asp" minmax_bound="true"&gt;PDBs&lt;/A&gt;, test binaries, and Visual Studio Team System.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;For better, richer, and more flexible experiences you’ll need more, like access to test and/or product source code.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;In the end, you just want code coverage data so it doesn’t matter how you go about it.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;Pick a method that works for your setup and enjoy what VS Team System has to offer..&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN minmax_bound="true"&gt;
&lt;H2 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;EM minmax_bound="true"&gt;Scenario 1: Local Product and Test Sources&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;This is the most ideal scenario.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;One has the product and test projects loaded in VS.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;One has full ability to build both which provides the most flexible experience.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;This is probably a developer or a tester who work directly on the product.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;They are trusted to and it is logistically possible to have full access.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Gathering Steps&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Load the product and test sources in a single solution in Visual Studio Team System 2005.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Perform a full build.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Open the Run Configuration you intend to use for this run (‘localtestrun.tesrunconfig’ is the default)&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Select the Code coverage page in the resulting Dialog&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Check the Binaries you wish to be instrumented&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Execute the tests you desire to run, either through Test Manager or Test View. &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Review Code Coverage data&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;When tests are finished, open the Code Coverage window and review the results.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;EM minmax_bound="true"&gt;Scenario 2: Product Binaries and Test Sources&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;This is probably the most likely scenario.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;One has product binaries (&lt;B minmax_bound="true"&gt;and&lt;/B&gt; PDB files!) from a daily build.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;One has access to the test sources and can build test binaries.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;This nearly provides the same flexibility as Scenario 1.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;In this model, the user may be the same developer or tester as in Scenario 1, but they may be encouraged to only test against “official” builds from a common source.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;This could also be a person testing offsite from core development who receives regular drops of builds from the development team.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;They may be interested in gauging the comprehensiveness of their testing as measured by code coverage, or this activity may have been requested by the development team.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;In the latter case, the code coverage results file will be sent to the development team for analysis.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Gathering Steps&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Load the test sources in Visual Studio Team System 2005.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Copy the desired product binaries and PDB files locally.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Build the test sources.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Open the Run Configuration you intend to use for this run (‘localtestrun.tesrunconfig’ is the default)&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Select the Code coverage page in the resulting Dialog&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Check the Binaries you wish to be instrumented&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Execute the tests you desire to run, either through Test Manager or Test View.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Review Code Coverage data&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;When tests are finished, open the Code Coverage window and review the results. If you don’t have access the source code, you will only be able to see the blocks covered etc., rather than full detail and coloring of the source code. &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;EM minmax_bound="true"&gt;Scenario 3: Product and Test Binaries Only&lt;/EM&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;This scenario requires the most work and provides the least amount of benefit, but unfortunately it is all too common.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;All the great work VS does for you when you have your own test project is gone because you only have test binaries now.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;Additionally, this could include running manual tests so there might be no automation to run at all.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;That said the scenario still works.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;You can get code coverage data.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;Also, if that data is shared with someone who has access to source code, then they will get full benefit from the results as they can see code coverage detail and line coloring.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Gathering Steps&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Copy the desired product binaries, product PDBs, and test binaries files locally.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Instrument the product binaries:&lt;/SPAN&gt; 
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Open up a Visual Studio 2005 Command Prompt (Start | All Programs | Microsoft Visual Studio 2005 | Visual Studio tools | Visual Studio Command Prompt).&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Change to the directory where your binaries are located&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Execute “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;vsinstr –coverage &amp;lt;assemblyname&amp;gt;&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;” for all your binaries.&lt;SPAN minmax_bound="true"&gt;&amp;nbsp; &lt;/SPAN&gt;e.g. If your binary name is ‘coolproduct.dll’, then type “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;vsinstr –coverage coolproduct.dll&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;”.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&amp;nbsp;&lt;/SPAN&gt;Start the Code Coverage monitoring process&lt;/SPAN&gt; 
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Return to the previous command prompt&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Type “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;vsperfcmd –start:coverage –output:outputFilename.coverage&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;”.&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Execute your tests&lt;/SPAN&gt; 
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;For automated tests, navigate to the directory where your test binaries are located and execute “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;mstest /testcontainer:TestDll.dll&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;”.&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Run manual tests, if you have them&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;End the Code Coverage monitoring process&lt;/SPAN&gt; 
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;In the command prompt opened earlier, type “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;vsperfcmd –shutdown&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;”. &lt;SPAN minmax_bound="true"&gt;&amp;nbsp;&lt;/SPAN&gt;This shuts down the coverage monitor and saves the coverage data to disk.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Note: There are alternatives to manually executing these commands, but they are slightly more complex.&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Start VS and create a test project&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Add your production DLLs as references to the project&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Open the Run Configuration you intend to use for this run (‘localtestrun.tesrunconfig’ is the default)&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Select the Code coverage page in the resulting Dialog&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Check the Binaries you wish to be instrumented&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Save the runconfig file&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Exit the IDE&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Copy the Product DLLs and Test DLLs into to the correct place along with the runconfig&lt;/SPAN&gt; 
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Execute “&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;mstest /testcontainer:testdll.dll /runconfig:runconfig.testrunconfig&lt;/SPAN&gt;&lt;SPAN minmax_bound="true"&gt;”&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;This will instrument and execute the tests, while correctly starting &amp;amp; shutting down the coverage collector. &lt;SPAN minmax_bound="true"&gt;&amp;nbsp;&lt;/SPAN&gt;If you still wish to instrument the binaries yourself, then you still need a dummy-dll to be instrumented. &lt;SPAN minmax_bound="true"&gt;&amp;nbsp;&lt;/SPAN&gt;The tools do not start the coverage monitor unless the tool itself has instrumented a DLL.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Review Code Coverage data&lt;/SPAN&gt;&lt;/H3&gt;
&lt;OL minmax_bound="true"&gt;
&lt;LI class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Open the .coverage file in Visual Studio.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal minmax_bound="true"&gt;&lt;SPAN minmax_bound="true"&gt;Got this information &lt;A class="" href="http://blogs.msdn.com/vstsqualitytools/archive/2005/06/08/426979.aspx" mce_href="http://blogs.msdn.com/vstsqualitytools/archive/2005/06/08/426979.aspx"&gt;here&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2477648" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Prescription Guidance for Visual Studio Team System </title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/03/prescription-guidance-for-visual-studio-team-system.aspx</link><pubDate>Thu, 03 May 2007 21:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2397840</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2397840.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2397840</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2397840</wfw:comment><description>&lt;P&gt;Many&amp;nbsp;customers&amp;nbsp;must be looking&amp;nbsp;for&amp;nbsp;more guidance on how best to use our&amp;nbsp;VSTS in the real world, the VSTS product group embarked on a project to&amp;nbsp;build a definitive Body of Guidance (BOG) for VSTS. This includes How Tos, Guidelines, Practices, Q&amp;amp;A, video-based guidance, and more.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The &lt;A class="" title="VSTS Guidance Project" href="http://www.codeplex.com/VSTSGuidance" mce_href="http://www.codeplex.com/VSTSGuidance"&gt;&lt;FONT color=#006ff7&gt;VSTS Guidance Project&lt;/FONT&gt;&lt;/A&gt; contains information on all the latest prescriptive guidance developed by the VSTS Guidance Project team.&lt;/P&gt;
&lt;P&gt;You can also visit&amp;nbsp;&lt;A class="" title="J.D. Meier's" href="http://blogs.msdn.com/jmeier/archive/2007/03/26/vsts-guidance-project-update.aspx" mce_href="http://blogs.msdn.com/jmeier/archive/2007/03/26/vsts-guidance-project-update.aspx"&gt;&lt;FONT color=#006ff7&gt;J.D.Meier's&lt;/FONT&gt;&lt;/A&gt; blog&amp;nbsp;for more information&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2397840" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>VSTS Cool case Studies</title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/03/vsts-cool-case-studies.aspx</link><pubDate>Thu, 03 May 2007 09:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2388189</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2388189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2388189</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2388189</wfw:comment><description>&lt;P&gt;Total number&amp;nbsp;of Case studies for&amp;nbsp;Team System increased to five:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;New! &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201311" target=_blank mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201311" closure_hashCode_="396"&gt;KBC Bank&lt;/A&gt; used Microsoft Visual Studios Team System and Team Foundation Server to improve application-building methodologies, increase productivity, and accelerate application deployment.&lt;/LI&gt;
&lt;LI&gt;New! &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201310" target=_blank mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201310" closure_hashCode_="398"&gt;EDS&lt;/A&gt; used Microsoft Visual Studio Team System to support a more efficient global development strategy, realigning its internal software development assets and improving the productivity of its developers and testers.&lt;/LI&gt;
&lt;LI&gt;New! &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201353" target=_blank mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201353" closure_hashCode_="399"&gt;Dell&lt;/A&gt;: By using Microsoft Visual Studio Team Foundation Server to deploy a global source code management platform, Dell is able maintain a centralized repository for all source code and provide it to developers on a just-in-time basis regardless of their location. Improved source code management has also enabled Dell to consolidate its source code onto fewer servers, redeploy 100 system administrators, and improve the productivity of its developers.&lt;/LI&gt;
&lt;LI&gt;A &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201314" target=_blank mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201314" closure_hashCode_="400"&gt;social networking Web site&lt;/A&gt; used Microsoft Visual Studio Team System to improve the productivity of its developers and project managers as well as to reduce software costs.&lt;/LI&gt;
&lt;LI&gt;A &lt;A href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201315" target=_blank mce_href="http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=201315" closure_hashCode_="401"&gt;global manufacturer&lt;/A&gt; deployed Microsoft Visual Studio Team System to improve the consistency and efficiency of internal software development, enabling it to support adoption of the widely recognized Capability Maturity Model for software development. This enabled the company to increase developer, project manager, and tester productivity while improving software quality.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Each of these presents a compelling case for the benefits of adopting Team System.&amp;nbsp; The most interesting sections are the ROI, key benefits / costs and lessons learned.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Happy Reading !&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2388189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Visual Studio Team System - Future Releases </title><link>http://blogs.msdn.com/srikanthr/archive/2007/05/02/visual-studio-team-system-future-releases.aspx</link><pubDate>Wed, 02 May 2007 18:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2375944</guid><dc:creator>srikanth_r</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/srikanthr/comments/2375944.aspx</comments><wfw:commentRss>http://blogs.msdn.com/srikanthr/commentrss.aspx?PostID=2375944</wfw:commentRss><wfw:comment>http://blogs.msdn.com/srikanthr/rsscomments.aspx?PostID=2375944</wfw:comment><description>&lt;P&gt;A lot of great information about the roadmap for Visual Studio Team System future releases has been posted at &lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx"&gt;Visual Studio Team System Future Releases&lt;/A&gt;&amp;nbsp;. If you're interested in what's coming soon in&amp;nbsp;"Orcas" and&amp;nbsp;after that in "Rosario", check this out.&lt;/P&gt;
&lt;P&gt;This is great information&amp;nbsp;to consider as you are planning your adoption, mapping out deployment,&amp;nbsp;or even evaluating specific functionality.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also included in the list are more details on&amp;nbsp;power tools...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx" mce_href="http://msdn2.microsoft.com/en-us/teamsystem/bb407307.aspx"&gt;Link to Visual Studio Team System - Future Releases&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2375944" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/srikanthr/archive/tags/VSTS/default.aspx">VSTS</category></item></channel></rss>