<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1642829610264616141</id><updated>2011-12-05T23:59:26.119+09:00</updated><category term='Mobile'/><category term='Prism'/><category term='Testing Tools'/><category term='Visual Studio 2010'/><category term='Christmas'/><title type='text'>Simon</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ssk01.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ssk01.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Simon</name><uri>http://www.blogger.com/profile/02031833511477240719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1642829610264616141.post-7337477377977685259</id><published>2010-03-08T13:23:00.002+09:00</published><updated>2010-03-08T13:35:30.213+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Testing Tools'/><title type='text'>Visual Studio 2010 – Testing Tools Demo with WPF</title><content type='html'>&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;I have been “testing” the new Testing Tools for Visual Studio 2010.&amp;nbsp; This includes the new Lab Management and Test Manager.&amp;nbsp; The Lab Management piece covers the managing of Virtual Environments and Machines for testing.&amp;nbsp; The Test Manager is a GUI interface to Lab Management and a tool to manage test cases, bugs, and run tests.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;In this blog entry, I want to show a demo of using the Testing Tools with a WPF application.&amp;nbsp; I will show creating a test, running the test in a virtual environment, creating a bug, fixing the bug, building and deploying to the virtual environment, and verifying the bug fix.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;OK, here we go.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;0. Introduction of Test Environment.&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh3.ggpht.com/_f8rjlF6IIVY/S5R7gIXOVlI/AAAAAAAAAQc/36zeG2WDwxU/s1600-h/image%5B39%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="Test Environment" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7g8yhHmI/AAAAAAAAAQg/TqkFBAvl7vk/image_thumb%5B13%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="Test Environment" width="597" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;The screen print above is from Test Manager showing the Lab Environment.&amp;nbsp; I have created a Virtual Environment called “Xiptor Demo” and within the environment is one virtual machine, also named “Xiptor Demo”&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;The virtual machine (VM) is running Windows 7 with the test, lab, and build agents running.&amp;nbsp; Also, Test Manager is installed on the VM.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;1. Create Test Case&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh3.ggpht.com/_f8rjlF6IIVY/S5R7hUcpqWI/AAAAAAAAAQo/Lm68Tlh6Gek/s1600-h/image%5B40%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="438" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh3.ggpht.com/_f8rjlF6IIVY/S5R7iJO-qfI/AAAAAAAAAQs/eE2bGCRu518/image_thumb%5B14%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="644" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;Now, in Test Manager, I create a Test Plan and add a new Test Suite as seen in the left side of the UI.&amp;nbsp; Then, I will click on “New” to create a new test case.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh3.ggpht.com/_f8rjlF6IIVY/S5R7igfcCEI/AAAAAAAAAQw/9ibUbBSWDms/s1600-h/image%5B41%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh6.ggpht.com/_f8rjlF6IIVY/S5R7jZiIsJI/AAAAAAAAAQ8/IBPCZYscTzc/image_thumb%5B15%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="571" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;I enter the Title and some steps to run the test case.&amp;nbsp; Then I save the test case to TFS.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;2. Run Test Case from Virtual Machine&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7kBZISGI/AAAAAAAAARE/XoKjEe_5vyw/s1600-h/image%5B42%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7lCPwvuI/AAAAAAAAARI/37dcSR0gD58/image_thumb%5B16%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="633" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;In Test Manager, I want to bring up the VM environment viewer to run the test case and start Test Manager.&amp;nbsp; I will select the test case and run.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh6.ggpht.com/_f8rjlF6IIVY/S5R7ljcvRpI/AAAAAAAAARM/MwwBFc_d764/s1600-h/image%5B43%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh4.ggpht.com/_f8rjlF6IIVY/S5R7nbG-t5I/AAAAAAAAARQ/UwQ6Xt8qTYE/image_thumb%5B17%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="633" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;I will start the test from the Test Runner (on left side of Environment Viewer window) and execute the test steps.&amp;nbsp; I will start the WPF application and specify the test step passed.&amp;nbsp; Then, when I click on a button, the WPF application crashes.&amp;nbsp; So, I create a screen print.&amp;nbsp; Then, I create a bug.&amp;nbsp; The Test Runner will collect all the data to include in the bug and show the New Bug Window.&amp;nbsp; After entering a title for the Bug, I will save the bug information to TFS.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;3. Fix Bug in Visual Studio 2010&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh6.ggpht.com/_f8rjlF6IIVY/S5R7n_A-iTI/AAAAAAAAARY/7YAyWj0dVLc/s1600-h/image%5B44%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7oo6GxsI/AAAAAAAAARg/BbWAipVdZec/image_thumb%5B18%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="460" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;In Visual Studio 2010 using Team Explorer, I look at the bugs and find the bug just created.&amp;nbsp; Here you can the details of the bug and there are links to the screenshot, actions list, System Information, a video recording of the test session, and IntelliTrace information.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7qtWCG7I/AAAAAAAAARo/CVjwG8t_Q48/s1600-h/image%5B45%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh4.ggpht.com/_f8rjlF6IIVY/S5R7rSoup6I/AAAAAAAAARw/5BDM2CccTrA/image_thumb%5B19%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="517" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;If you click on the IntelliTrace link, you can see the IntelliTrace information saved while running the test.&amp;nbsp; Double clicking on the Exception Data will bring me to the line of code where the exception occurred.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;Now, I go ahead and fix the bug.&amp;nbsp; When I check-in the source, I associate to a work item, which is the bug created in Test Manager.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;4. Queue New Build with deploy to Lab Environment&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R8Kglu-AI/AAAAAAAAAR4/SA9IN0cJBTE/s1600-h/image%5B46%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="484" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh3.ggpht.com/_f8rjlF6IIVY/S5R8LREhzOI/AAAAAAAAASA/JDNDmawaNO0/image_thumb%5B20%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="420" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;After making all of the changes, I queue a new Lab build.&amp;nbsp; The lab build will re-build the solution.&amp;nbsp; Then, it will deploy the new version of the application to the Virtual Machine.&amp;nbsp; Some optional items are to create a snapshot or checkpoint of the VM after deploying the build and running tests in the VM.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;5. Verify Bug Fix in VM&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh4.ggpht.com/_f8rjlF6IIVY/S5R7sLhnCdI/AAAAAAAAASE/_smQkbY7HL4/s1600-h/image%5B47%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="457" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7tujC9SI/AAAAAAAAASI/wLYhHvhxbr0/image_thumb%5B21%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="644" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;I go back to the VM through Test Manager’s Environment Viewer to verify the bug fix.&amp;nbsp; This time, instead of clicking on “Run Test”, I click on “Verify Bugs”.&amp;nbsp; I select the “Resolved” bug and verify.&amp;nbsp; This will start the Test Runner and run the “linked” test case.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;6. Pass Test Case and Close Bug&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;a __vstttracked="1" href="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7uSZPOAI/AAAAAAAAASU/J4sF2CM0r9w/s1600-h/image%5B48%5D.png" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;img __vstttracked="1" alt="image" border="0" height="457" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }" src="http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7vDmIlVI/AAAAAAAAASg/ZsOTF3dNivQ/image_thumb%5B22%5D.png?imgmax=800" style="border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline;" title="image" width="644" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;I go through the test case steps and verify the bug was fixed.&amp;nbsp; If everything was successful, I go ahead and Pass the test case and close Test Runner.&amp;nbsp; When I close Test Runner, a window pops up to close the bug.&amp;nbsp; I can enter some comments and click “Save Changes”.&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;&lt;strong __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;Conclusion&lt;/strong&gt;&lt;/div&gt;&lt;div __vstttracked="1" insertadjacenthtml="function (loc, code)                    {                        // HTML Content changing..                        _baseInsertFunction(loc, code);                        try                        {                            vsttTrackHover.NodeAddition();                            vsttTrackHover.OverrideNodes(domElement.parentNode.all, 0);                        }                        catch (ex)                        {                        }                    }"&gt;Here are the basic steps in executing a test case, filing a bug, fixing a bug, build and deploy, and verifying bug fix.&amp;nbsp; You got to see some of the features with the new testing tools, such as IntelliTrace, Managing VM Test environments, integration to TFS and Visual Studio.&amp;nbsp; I hope this gave you a good start into understanding the new testing tools.&amp;nbsp; I will be blogging in the future more about Visual Studio 2010 Testing tools.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1642829610264616141-7337477377977685259?l=ssk01.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ssk01.blogspot.com/feeds/7337477377977685259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ssk01.blogspot.com/2010/03/visual-studio-2010-testing-tools-demo.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/7337477377977685259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/7337477377977685259'/><link rel='alternate' type='text/html' href='http://ssk01.blogspot.com/2010/03/visual-studio-2010-testing-tools-demo.html' title='Visual Studio 2010 – Testing Tools Demo with WPF'/><author><name>Simon</name><uri>http://www.blogger.com/profile/02031833511477240719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_f8rjlF6IIVY/S5R7g8yhHmI/AAAAAAAAAQg/TqkFBAvl7vk/s72-c/image_thumb%5B13%5D.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1642829610264616141.post-1473959927983341086</id><published>2009-12-16T14:27:00.001+09:00</published><updated>2009-12-16T14:27:44.004+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><title type='text'>.NET for iPhone</title><content type='html'>&lt;p&gt;A way to create applications for Windows Mobile is using the .NET Compact Framework.&amp;#160; You can use your experience with .NET applications and languages to create applications for a Windows Mobile phone.&amp;#160; Albeit the .NET Compact Framework has a lot of limitations compared to the full framework for Windows.&amp;#160; That is a long story for another day…&lt;/p&gt;  &lt;p&gt;But what about developing applications for the iPhone?&amp;#160; Until recently the only way to develop iPhone applications is through the iPhone SDK (&lt;a href="http://developer.apple.com/iphone/"&gt;http://developer.apple.com/iphone/&lt;/a&gt;)&amp;#160; There you need to learn Xcode, which is Apple’s Development IDE.&lt;/p&gt;  &lt;p&gt;Now, there is a product for .NET developers to create applications on the iPhone and to release them to the iPhone App Store.&amp;#160; Monotouch (&lt;a title="http://monotouch.net" href="http://monotouch.net"&gt;http://monotouch.net&lt;/a&gt;) is an IDE to develop applications but it uses the C# syntax.&lt;/p&gt;  &lt;p&gt;&lt;img alt="Image:Md_hw_iphone19.png" src="http://www.mono-project.com/files/d/dd/Md_hw_iphone19.png" width="393" height="163" /&gt;&lt;/p&gt;  &lt;p&gt;The Monotouch is only available for a Mac.&amp;#160; Monotouch does include interfaces to iPhone APIs, such as access to GPS, accelerometer, address book, etc.&amp;#160; It also uses the Cocoa Touch (Apple’s UI Framework) so you will have access to the native iPhone controls such as Pickers, Sliders, etc.&lt;/p&gt;  &lt;p&gt;Here is a good article about using Monotouch on InfoQ (&lt;a href="http://www.infoq.com/articles/monotouch-introduction"&gt;http://www.infoq.com/articles/monotouch-introduction&lt;/a&gt;).&amp;#160; Monotouch is expensive, but it is a full development environment with the language syntax C#-like.&amp;#160; If you are familiar with C# and want to develop iPhone applications, this is probably the fastest way to do it.&amp;#160; On the other hand, you can download the iPhone SDK and learn Xcode and the C syntax to create the iPhone applications.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1642829610264616141-1473959927983341086?l=ssk01.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ssk01.blogspot.com/feeds/1473959927983341086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ssk01.blogspot.com/2009/12/net-for-iphone.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/1473959927983341086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/1473959927983341086'/><link rel='alternate' type='text/html' href='http://ssk01.blogspot.com/2009/12/net-for-iphone.html' title='.NET for iPhone'/><author><name>Simon</name><uri>http://www.blogger.com/profile/02031833511477240719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1642829610264616141.post-3417032595840842629</id><published>2009-12-11T10:14:00.002+09:00</published><updated>2009-12-11T10:14:54.077+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Prism'/><title type='text'>Prism 4.0 and MEF</title><content type='html'>&lt;a href="http://blogs.msdn.com/dphill/archive/2009/12/09/prism-and-mef.aspx"&gt;http://blogs.msdn.com/dphill/archive/2009/12/09/prism-and-mef.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Interesting blog article talking about the future of Prism and integrating with MEF. &amp;nbsp;It also touches on points where Prism and MEF overlap.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1642829610264616141-3417032595840842629?l=ssk01.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ssk01.blogspot.com/feeds/3417032595840842629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ssk01.blogspot.com/2009/12/prism-40-and-mef.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/3417032595840842629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/3417032595840842629'/><link rel='alternate' type='text/html' href='http://ssk01.blogspot.com/2009/12/prism-40-and-mef.html' title='Prism 4.0 and MEF'/><author><name>Simon</name><uri>http://www.blogger.com/profile/02031833511477240719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1642829610264616141.post-4308435026507983365</id><published>2009-12-10T15:15:00.000+09:00</published><updated>2009-12-10T15:15:59.586+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Christmas'/><title type='text'>Happy Holidays</title><content type='html'>First post to my new blog. &amp;nbsp;Since it is the holiday season, just would like to wish everyone a Merry Christmas and have a Happy Holidays. &amp;nbsp;Be safe with your Holiday parties and if you are in Korea, don't drink too much soju.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1642829610264616141-4308435026507983365?l=ssk01.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ssk01.blogspot.com/feeds/4308435026507983365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://ssk01.blogspot.com/2009/12/happy-holidays.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/4308435026507983365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1642829610264616141/posts/default/4308435026507983365'/><link rel='alternate' type='text/html' href='http://ssk01.blogspot.com/2009/12/happy-holidays.html' title='Happy Holidays'/><author><name>Simon</name><uri>http://www.blogger.com/profile/02031833511477240719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
