<?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>Espresso Fueled Agile Development : Testing</title><link>http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx</link><description>Tags: Testing</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>If you missed the patterns &amp; practices summit....</title><link>http://blogs.msdn.com/mpuleio/archive/2008/12/04/if-you-missed-the-patterns-practices-summit.aspx</link><pubDate>Thu, 04 Dec 2008 12:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9174526</guid><dc:creator>mpuleio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/9174526.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=9174526</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=9174526</wfw:comment><description>&lt;P&gt;&lt;A target=_blank href="http://blogs.msdn.com/ajoyk" mce_href="http://blogs.msdn.com/ajoyk"&gt;Ajoy&lt;/A&gt; has posted that three of the sessions have been made available online at &lt;A target=_blank href="http://blogs.msdn.com/ajoyk/archive/2008/12/03/pnp-summit-videos-online.aspx" mce_href="http://blogs.msdn.com/ajoyk/archive/2008/12/03/pnp-summit-videos-online.aspx"&gt;pnp Summit videos online&lt;/A&gt;.&amp;nbsp; Since one of the three sessions is one that Grigori and I did about the Acceptance Testing Guide, &lt;A target=_blank href="http://wm.microsoft.com/ms/patterns-and-practices/2008-11-pnp-summit/acceptance-testing.wmv" mce_href="http://wm.microsoft.com/ms/patterns-and-practices/2008-11-pnp-summit/acceptance-testing.wmv"&gt;Driving Development with Acceptance Testing&lt;/A&gt;, I figured I'd share the information.&amp;nbsp; The other two sessions are Ade talking about distributed agile development, and a discussion with Ajoy on the new SharePoint guidance from p&amp;amp;p that I have mentioned before (&lt;A id=bp___ctl00___RecentPosts___postlist___EntryItems_ctl08_PostTitle href="http://blogs.msdn.com/mpuleio/archive/2008/08/13/guidance-on-sharepoint.aspx"&gt;&lt;FONT color=#006bad&gt;Guidance on SharePoint&lt;/FONT&gt;&lt;/A&gt;, &lt;A id=bp___ctl00___RecentPosts___postlist___EntryItems_ctl07_PostTitle href="http://blogs.msdn.com/mpuleio/archive/2008/08/22/unit-testing-sharepoint.aspx"&gt;&lt;FONT color=#006bad&gt;Unit testing SharePoint&lt;/FONT&gt;&lt;/A&gt;).&amp;nbsp; If you missed the Summit and want to attend next year in Redmond (or elsewhere), keep an eye on &lt;A href="http://www.pnpsummit.com/"&gt;http://www.pnpsummit.com/&lt;/A&gt;, which will eventually be updated with information on the next conference.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9174526" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Testing/default.aspx">Acceptance Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Acceptance Test Engineering guide Alpha Available</title><link>http://blogs.msdn.com/mpuleio/archive/2008/08/27/acceptance-test-engineering-guide-alpha-available.aspx</link><pubDate>Wed, 27 Aug 2008 21:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8900963</guid><dc:creator>mpuleio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8900963.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8900963</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8900963</wfw:comment><description>&lt;p&gt;Last night I posted the &lt;a href="http://www.codeplex.com/TestingGuidance/Release/ProjectReleases.aspx?ReleaseId=16696" target="_blank"&gt;Alpha version of &lt;em&gt;Acceptance Test Engineering guide - How to Decide if Software is Ready for You or Your Customer&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;to the &lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;Acceptance Test Engineering CodePlex community site&lt;/a&gt;.&amp;nbsp; There are 300+ pages of content.&amp;nbsp; It is still a bit rough, has some gaps in it, and needs some work, but there is a lot of good information too.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I would ask for some help from the public (developers, testers, PMs, and folks who act as customers or sponsor software projects): Read the &lt;a href="http://www.codeplex.com/TestingGuidance/Release/ProjectReleases.aspx?ReleaseId=16696" target="_blank"&gt;Alpha&lt;/a&gt; (or just part of it) and reply to the &lt;a href="http://www.codeplex.com/TestingGuidance/Thread/View.aspx?ThreadId=34340" target="_blank"&gt;Feedback Discussion&lt;/a&gt; with anything you think we got wrong, anything we got right, or anything we missed entirely.&amp;nbsp; Thanks.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8900963" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category></item><item><title>Unit testing SharePoint</title><link>http://blogs.msdn.com/mpuleio/archive/2008/08/22/unit-testing-sharepoint.aspx</link><pubDate>Sat, 23 Aug 2008 00:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8888899</guid><dc:creator>mpuleio</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8888899.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8888899</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8888899</wfw:comment><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/francischeung" target="_blank"&gt;Francis&lt;/a&gt; has an article on &lt;a href="http://blogs.msdn.com/francischeung/archive/2008/08/22/unit-testing-sharepoint-2007-applications.aspx" target="_blank"&gt;Unit Testing SharePoint 2007 Applications&lt;/a&gt;&lt;/p&gt; &lt;p&gt;He also did a brownbag talk on this yesterday, which was very interesting and brought up a few big challenges and ways to work around them.&lt;/p&gt; &lt;p&gt;Enjoy&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8888899" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Example+Driven+Design+_2800_Formerly+TDD_2900_/default.aspx">Example Driven Design (Formerly TDD)</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Acceptance Testing Guide Community Preview 2 Available!</title><link>http://blogs.msdn.com/mpuleio/archive/2008/08/04/acceptance-testing-guide-community-preview-2-available.aspx</link><pubDate>Mon, 04 Aug 2008 20:16:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8831602</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8831602.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8831602</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8831602</wfw:comment><description>&lt;p&gt;As I have mentioned before in a few posts (&lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/04/18/acceptance-test-engineering-guidance.aspx"&gt;Acceptance Test Engineering Guidance&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/05/18/acceptance-testing-guidance-survey.aspx"&gt;Acceptance Testing Guidance Survey&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/07/10/acceptance-testing-guide-update.aspx"&gt;Acceptance Testing Guide Update&lt;/a&gt;), I am working with a team on &lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;guidance around acceptance testing&lt;/a&gt;.&amp;nbsp; We still have a lot of work to do our the guide, but we have made available a &lt;a href="http://www.codeplex.com/TestingGuidance/Release/ProjectReleases.aspx?ReleaseId=15941" target="_blank"&gt;second community preview&lt;/a&gt; to show you how things are shaping up and to give you a chance to provide feedback.&lt;/p&gt; &lt;p&gt;Check these out:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;The Acceptance Test Engineering Guidance community site on CodePlex&lt;/a&gt; (so you can follow the project)&lt;/li&gt; &lt;li&gt;&lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=TestingGuidance&amp;amp;DownloadId=40458';" target="_blank"&gt;An announcement about the guide&lt;/a&gt; (which is being handed out at the Agile 2008 conference this week)&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/TestingGuidance/Release/ProjectReleases.aspx?ReleaseId=15941" target="_blank"&gt;The second community preview of the guide&lt;/a&gt; (it is a bit rough, but you should be able to see where we are headed with it)&lt;/li&gt; &lt;li&gt;Provide &lt;a href="http://www.codeplex.com/TestingGuidance/Thread/View.aspx?ThreadId=32829" target="_blank"&gt;Feedback on Community Preview Aug 4, 2008&lt;/a&gt; (so we can make changes, add topics we missed, etc).&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8831602" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Testing/default.aspx">Acceptance Testing</category></item><item><title>Acceptance Testing Guide Update</title><link>http://blogs.msdn.com/mpuleio/archive/2008/07/10/acceptance-testing-guide-update.aspx</link><pubDate>Fri, 11 Jul 2008 03:27:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8719337</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8719337.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8719337</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8719337</wfw:comment><description>&lt;p&gt;The team has been writing, editing, re-writing, and working hard on putting together a guide on Acceptance Testing.&amp;nbsp; We have made quite a bit of progress, decided on an organization scheme, the basic format of how we want to write each chapter, and have re-worked a lot of content to fit this model.&amp;nbsp; We recently posted two things on the &lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;Acceptance Testing Guidance CodePlex site&lt;/a&gt;: &lt;/p&gt; &lt;ul&gt; &lt;li&gt;A survey on &lt;a href="http://www.zoomerang.com/Survey/survey-intro.zgi?p=WEB227YRCP7C6S" target="_blank"&gt;What is Hard To Test?&lt;/a&gt;&lt;/li&gt; &lt;li&gt;A &lt;a href="http://www.codeplex.com/TestingGuidance/Release/ProjectReleases.aspx?ReleaseId=15101" target="_blank"&gt;preview release of a few chapters/snippets/etc&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;So, please answer our survey.&amp;nbsp; It only has &lt;em&gt;&lt;strong&gt;ONE &lt;/strong&gt;&lt;/em&gt;question.&lt;/p&gt; &lt;p&gt;Also, send us feedback on the draft sections of the guide we posted by starting up some discussions in the &lt;a href="http://www.codeplex.com/TestingGuidance/Thread/List.aspx" target="_blank"&gt;Acceptance Testing Guide Discussions group&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8719337" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category></item><item><title>Acceptance Testing Guidance Survey</title><link>http://blogs.msdn.com/mpuleio/archive/2008/05/18/acceptance-testing-guidance-survey.aspx</link><pubDate>Sun, 18 May 2008 21:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8518399</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8518399.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8518399</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8518399</wfw:comment><description>&lt;P&gt;We have put together a survey to get a bit more input from the community about Acceptance Testing.&amp;nbsp; If you are at all involved in software development, deployment, or operations acceptance testing proabably impacts you in some way, shape, or form, so you may want to add your insight to what we are working on.&lt;/P&gt;
&lt;P&gt;You can find it here: &lt;A class="" href="http://www.zoomerang.com/Survey/survey-intro.zgi?p=WEB227T7LBST2T" target=_blank mce_href="http://www.zoomerang.com/Survey/survey-intro.zgi?p=WEB227T7LBST2T"&gt;Acceptance Testing Survey&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Thanks for the feedback and input.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8518399" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Testing/default.aspx">Acceptance Testing</category></item><item><title>Acceptance Test Engineering Guidance</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/18/acceptance-test-engineering-guidance.aspx</link><pubDate>Sat, 19 Apr 2008 00:48:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409159</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8409159.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8409159</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8409159</wfw:comment><description>&lt;p&gt;As I mentioned before (&lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/04/03/acceptance-testing-guidance.aspx"&gt;Acceptance Testing Guidance&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/04/08/grigori-s-take-on-the-acceptance-testing-project.aspx"&gt;Grigori's Take on the Acceptance Testing Project&lt;/a&gt;), I am working on guidance around acceptance testing with &lt;a href="http://blogs.msdn.com/agile" target="_blank"&gt;Grigori&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;We now have alive CodePlex site that we can work from: &lt;a href="http://www.codeplex.com/TestingGuidance" target="_blank"&gt;patterns &amp;amp; practices: Acceptance Test Engineering Guidance&lt;/a&gt;&lt;/p&gt; &lt;p&gt;We will be posting more as we really get ramped up.&amp;nbsp; We have a LOT of ideas that we will post and talk about.&amp;nbsp; We will also post bi-weekly (or close) drops, probably in the form of Word documents, showing what we have so far, and asking for input.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8409159" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Test+Engineering+Guidance/default.aspx">Acceptance Test Engineering Guidance</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Acceptance+Testing/default.aspx">Acceptance Testing</category></item><item><title>Grigori's Take on the Acceptance Testing Project</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/08/grigori-s-take-on-the-acceptance-testing-project.aspx</link><pubDate>Wed, 09 Apr 2008 00:42:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8370093</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8370093.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8370093</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8370093</wfw:comment><description>&lt;p&gt;The other day, I mentioned a new project here at p&amp;amp;p, &lt;a href="http://blogs.msdn.com/mpuleio/archive/2008/04/03/acceptance-testing-guidance.aspx" target="_blank"&gt;Acceptance Testing Guidance&lt;/a&gt;,&lt;/p&gt; &lt;p&gt;Grigori has his own take on the project, &lt;a href="http://blogs.msdn.com/agile/archive/2008/04/08/acceptance-test-engineering-guidance-project-kick-off.aspx" target="_blank"&gt;Acceptance Test Engineering Guidance - project kick-off&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Check it out. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8370093" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>Acceptance Testing Guidance</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/03/acceptance-testing-guidance.aspx</link><pubDate>Fri, 04 Apr 2008 00:52:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8355077</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8355077.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8355077</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8355077</wfw:comment><description>&lt;p&gt;On Monday, &lt;a href="http://blogs.msdn.com/agile/"&gt;Grigori&lt;/a&gt; and I kicked off a new project: Acceptance Testing Guidance &lt;p&gt;Actually, we kicked off a pre-project planning project. In two to three weeks, we need to decide if there is enough demand for guidance on acceptance testing to warrant a real project, determine the scope of the project, generate a preliminary backlog for the project, and a rough release plan, and ensure we understand the space enough to move forward, and estimate a budget and timeframe. &lt;p&gt;We have some ideas, but we are open to input. I have a few questions for the world to help us get started: &lt;ul&gt; &lt;li&gt;What kind of guidance around testing, and particularly acceptance testing, would you like to see? &lt;/li&gt; &lt;li&gt;What questions do you want us to answer around testing and acceptance testing?&lt;/li&gt; &lt;li&gt;Do you think there is a need for guidance in this area?&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Please use the Comments feature to reply, and I will consolidate responses.&amp;nbsp; We will also have a survey (soon I hope) that I will post links to.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8355077" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Extreme+Programming/default.aspx">Extreme Programming</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>Weird COM Exceptions in SCSF/CAB Unit Tests</title><link>http://blogs.msdn.com/mpuleio/archive/2008/03/19/weird-com-exceptions-in-scsf-cab-unit-tests.aspx</link><pubDate>Wed, 19 Mar 2008 22:17:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8326122</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8326122.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8326122</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8326122</wfw:comment><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The SCSF project was getting a weird error with the unit tests that were brought forward from VS2005 to VS2008. &lt;p&gt;All the unit tests would pass, however the test run would fail with the following error in a special log file: &lt;blockquote&gt; &lt;p&gt;&lt;font face="Consolas" color="#ff0000"&gt;One of the background threads threw exception: System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.&lt;br&gt;at System.Windows.Input.TextServicesContext.StopTransitoryExtension()&lt;br&gt;at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown)&lt;br&gt;at System.Windows.Input.TextServicesContext.OnAppDomainUnloaded(Object sender, EventArgs args)&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Of course, we had hundreds of these messages, and no way to correlate them with a specific unit test. &lt;p&gt;After some work, I was able to find a single repro case.&amp;nbsp; After some research, it looks like &lt;b&gt;any&lt;/b&gt; unit test that creates a Window of any type will do this. The fix is to add a TestCleanup method to your fixture like this one: &lt;blockquote&gt; &lt;p&gt;&lt;font face="Consolas" color="#008000"&gt;// Added a TestCleanup method to deal with the fact that the code was throwing an InvalidComObjectException&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000"&gt;// with the information "COM object that has been separated from its underlying RCW cannot be used."&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000"&gt;// Fix is based on this bug logged on Connect.Microsoft.Com:&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#008000"&gt;// &lt;/font&gt;&lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=318333"&gt;&lt;font color="#008000"&gt;http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=318333&lt;/font&gt;&lt;/a&gt;&lt;font color="#008000"&gt;&amp;nbsp;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;[TestCleanup]&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#0000ff"&gt;public void&lt;/font&gt; CleanUp()&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&amp;nbsp;&amp;nbsp; System.Windows.Threading.Dispatcher.CurrentDispatcher.InvokeShutdown();&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I know that unit tests that create Windows are not ideal, but for things like CAB and SCSF ( code bases I inherited) it may be necessary. &lt;p&gt;I hope this helps anyone else who runs into this issue.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8326122" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Web Client Software Factory February 2008 Ships!</title><link>http://blogs.msdn.com/mpuleio/archive/2008/02/28/web-client-software-factory-february-2008-ships.aspx</link><pubDate>Thu, 28 Feb 2008 22:25:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7937016</guid><dc:creator>mpuleio</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/7937016.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=7937016</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=7937016</wfw:comment><description>&lt;p&gt;I know that folks have been reading about the Web Client Software Factory on Blaine's blog and on Glenn's blog.&amp;nbsp; Blaine posted about what we planned to include, back in December with &lt;a href="http://blogs.msdn.com/blaine/archive/2007/12/13/next-version-of-web-client-software-factory-wcsf.aspx"&gt;Next version of Web Client Software Factory (WCSF)&lt;/a&gt;.&amp;nbsp; Glenn had the post at the end of January, &lt;a href="http://blogs.msdn.com/gblock/archive/2008/01/31/web-client-2-0-closer-than-you-think.aspx"&gt;Web Client 2.0 closer than you think&lt;/a&gt;, and &lt;a href="http://blogs.msdn.com/gblock/archive/2008/02/22/web-client-2-0-what-s-the-hold-up.aspx"&gt;Web Client 2.0, what's the hold up?&lt;/a&gt;&amp;nbsp; &lt;/p&gt; &lt;h2&gt;So, what is in the latest version of the Web Client Software Factory?&lt;/h2&gt; &lt;p&gt;Here is a quick blurb from the front page of our docs, with my comments in &lt;font color="#0000ff"&gt;Blue&lt;/font&gt;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The February 2008 release of the Web Client Software Factory is an update to the June 2007 release. The following are the major changes:  &lt;ul&gt; &lt;li&gt;&lt;b&gt;Added user interface responsiveness guidance&lt;/b&gt;. The guidance includes documentation, Web controls, QuickStarts, and a new reference implementation that demonstrate how to incorporate Microsoft ASP.NET AJAX technologies in your Web applications to provide a richer user interface experience.  &lt;li&gt;&lt;b&gt;Added support for &lt;/b&gt;&lt;b&gt;the &lt;/b&gt;&lt;b&gt;Model-View-Presenter pattern &lt;/b&gt;&lt;b&gt;in&lt;/b&gt; &lt;b&gt;user controls and master pages&lt;/b&gt;. The Composite Web Application Block includes a new Dependency Injection mechanism that facilitates the implementation of the Model-View-Presenter pattern in Web controls and master pages. The guidance package also includes new recipes that help developers create master pages and user controls that implement the Model-View-Presenter pattern. By using the Model-View-Presenter, developers can extend the testability surface to user controls and master pages. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;Dependency Injection also works in ASMX Web Services hosted in a WCSF web application project&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;User controls can be&lt;/b&gt; &lt;b&gt;reused across modules&lt;/b&gt;. Developers can build Web pages made up of user controls from different modules. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;There is an example of this in the Order Management Reference Implementation&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Updated the Composite Web Application Block&lt;/b&gt;. The main changes include the following:  &lt;ul&gt; &lt;li&gt;Improved performance  &lt;li&gt;Support for services registration through configuration  &lt;li&gt;Support for type mapping for dependency injection &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;Type mapping was a no-brainer to add.&amp;nbsp; We also needed it to show a few of the deeper concepts around MVP.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;The performance improvements are the part of how the new &lt;a href="http://www.codeplex.com/unity"&gt;Unity project&lt;/a&gt; works &lt;em&gt;deep&lt;/em&gt; under the hood.&amp;nbsp; &lt;a href="http://www.tavaresstudios.com/Blog/"&gt;Chris Tavares&lt;/a&gt; and worked with the WCSF team on the performance enhancements.&amp;nbsp; Later, Chris went to start the Unity project, which has evolved into a great tool from what I have seen.&amp;nbsp; I know the next question is "When will WCSF support Unity?"&amp;nbsp; My answer is as soon as we can do a complete re-write.&amp;nbsp; Out of the box, Unity provides a lot of functionality that CWAB provides.&amp;nbsp; To properly use Unity, we would need to throw out a lot of the CWAB code, and re-do it.&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;The ability to add a service via config was requested by the community, and is shown in the Order Management Reference Implementation.&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Updates to the &lt;/b&gt;&lt;b&gt;Add Business Module and Add Foundational Module recipes&lt;/b&gt;. These recipes now include a new option to create a separate project for the modules’ public interface.  &lt;li&gt;&lt;b&gt;Updated the patterns &lt;/b&gt;&lt;b&gt;documentation &lt;/b&gt;&lt;b&gt;topics&lt;/b&gt;. The main changes include two new pattern description topics, Inversion of Control and Module Interface Separation, and it updates to the Model-View-Presenter topic.  &lt;li&gt;&lt;b&gt;Included additional guidance for &lt;/b&gt;&lt;b&gt;several&lt;/b&gt; &lt;b&gt;technical concepts&lt;/b&gt;. The technical concepts covered are views testability, modularity, autocomplete, validation, and search. The guidance consists of documentation, QuickStarts, Web controls, and How-to topics. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;These concepts were shipped previously as "Bundles" on our CodePlex community.&amp;nbsp; We will be releasing new, updated VS2008 versions of these bundles on MSDN in the near future, but all the content is in the factory.&amp;nbsp; The bundles are so folks can get a small taste and look at a single feature or concept in isolation.&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;Added support for Visual Studio 2008 to the guidance package&lt;/b&gt;. &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;VS2008 and and .NET 3.5 support was asked for very loudly by customers.&lt;/font&gt;&lt;/p&gt; &lt;h2&gt;Testing Guidance&lt;/h2&gt; &lt;p&gt;Something we do not talk about enough is the fact that we are releasing some guidance on how to test web applications.&amp;nbsp; First, since we do most development via &lt;strike&gt;TDD&lt;/strike&gt; EDD (Example Driven Development), we have quite a bit in the way of unit tests.&amp;nbsp; There are a few exceptions, where we intentionally do not include unit tests as we do not want to clutter a QuickStart example with another concept that may hinder understanding of what the QuickStart is about. &lt;/p&gt; &lt;p&gt;We are also shipping acceptance tests.&amp;nbsp; In a few projects, these acceptance tests are manual test scripts in the form of a Visual Studio Manual Test.&amp;nbsp; In others, we have completely automated the acceptance tests using &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;&amp;lt;TheLawyersMadeMeSayIt&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;Note: this is a link to an external Web site that provides software that can be used to write acceptance tests. Please note that Microsoft is not responsible for the content of external Internet sites. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#ff0000"&gt;&amp;lt;/TheLawyersMadeMeSayIt&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the &lt;a href="http://watin.sourceforge.net/"&gt;WatiN (Web Application Testing in .NET)&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;p&gt;To compile the test projects and run the tests, you will need VS2008 Professional or Team System, and to download the WatiN binaries, and copy the DLLs to the Lib folder (which our help describes with more info).&amp;nbsp; The upside is that anyone can see how we are doing functional/acceptance testing&amp;nbsp; of our sample applications.&amp;nbsp; Of course, there is a lot more to testing than just acceptance testing, but it is a start.&lt;/p&gt; &lt;h2&gt;Other resources&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;The &lt;a href="http://msdn.com/webclientfactory"&gt;WCSF page on MSDN&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.codeplex.com/websf"&gt;The WCSF Community on CodePlex&lt;/a&gt; &lt;/li&gt; &lt;li&gt;If you just want to peruse the docs, check out the &lt;a href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=websf&amp;amp;ReleaseId=1563"&gt;WCSF Documentation download page&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;You will also want to check out what Blaine and Glenn say about the release:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Blaine's post: &lt;a href="http://blogs.msdn.com/blaine/archive/2008/02/28/web-client-software-factory-shipped.aspx"&gt;Web Client Software Factory Shipped&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Glenn's post: &lt;a href="http://blogs.msdn.com/gblock/archive/2008/02/28/web-client-software-factory-2-0-shipped.aspx"&gt;Web Client Software Factory 2.0 Shipped&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7937016" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Example+Driven+Design+_2800_Formerly+TDD_2900_/default.aspx">Example Driven Design (Formerly TDD)</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Web+Client+Software+Factory/default.aspx">Web Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category></item><item><title>WCSF: Insights and Plans</title><link>http://blogs.msdn.com/mpuleio/archive/2007/10/15/wcsf-insights-and-plans.aspx</link><pubDate>Mon, 15 Oct 2007 21:36:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5463238</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/5463238.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=5463238</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=5463238</wfw:comment><description>&lt;p&gt;There have been a lot of posts recently about WCSF, spurred on by our recent releases.&amp;#xA0; Here are a few highlights with my comments about each:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/blaine/archive/2007/09/05/developer-hands-on-labs-available-for-wcsf-june-2007-release.aspx" target="_blank"&gt;Developer Hands-on Labs available for WCSF June 2007 Release&lt;/a&gt; - Blaine&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;These have been on the back burner.&amp;#xA0; They had been &amp;quot;almost&amp;quot; done for quite a while, and are finally out the door.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/blaine/archive/2007/10/12/web-client-bundle-quality-checkpoints.aspx" target="_blank"&gt;Web Client Bundle Quality Checkpoints&lt;/a&gt; - Blaine&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;I worked with Blaine on drafting this.&amp;#xA0; (I actually threatened to post it if he did not do so soon).&amp;#xA0; It gives some insight into what we do around testing each and every one of our releases. &lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2007/10/12/more-web-client-goodness-shipping-wcsf-2-0.aspx" target="_blank"&gt;More Web Client goodness shipping, WCSF 2.0.&lt;/a&gt; - Glenn&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;A re-cap of what we have shipped recently, as well as future plans for the team.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://staff.southworks.net/blogs/ejadib/archive/2007/10/08/How_2D00_To_3A00_-Web-Client-Software-Factory-_2800_WCSF_2900_-_2600_-Visual-Studio-Orcas-Beta-2.aspx" target="_blank"&gt;How-To: Web Client Software Factory (WCSF) June 2007 &amp;amp; Visual Studio Orcas Beta 2&lt;/a&gt; - Ezequiel&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Necessary reading if you are running Orcas and want WCSF to work.&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5463238" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Web+Client+Software+Factory/default.aspx">Web Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Unit testing is evolving</title><link>http://blogs.msdn.com/mpuleio/archive/2007/09/20/unit-testing-is-evolving.aspx</link><pubDate>Fri, 21 Sep 2007 02:01:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5020589</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/5020589.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=5020589</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=5020589</wfw:comment><description>&lt;p&gt;&lt;a href="http://jamesnewkirk.typepad.com/posts/" target="_blank"&gt;Jim Newkirk&lt;/a&gt; (of nUnit fame and one of the Microsoft folks behind &lt;a href="http://www.CodePlex.com"&gt;www.CodePlex.com&lt;/a&gt; ) has been blogging about unit testing in forever ( most recently: &lt;a href="http://jamesnewkirk.typepad.com/posts/2007/09/why-you-should-.html" target="_blank"&gt;Why you should not use Setup and Teardown in NUnit&lt;/a&gt; ).&amp;nbsp; &lt;/p&gt; &lt;p&gt;Now, Jim and &lt;a href="http://www.agileprogrammer.com/dotnetguy" target="_blank"&gt;Brad Wilson&lt;/a&gt; are putting action to his words and codifying lessons learned over the years by developing &lt;a href="http://www.codeplex.com/xunit" target="_blank"&gt;xUnit.Net&lt;/a&gt;.&amp;nbsp; Check out Jim's intro to this new tool at "&lt;a href="http://jamesnewkirk.typepad.com/posts/2007/09/announcing-xuni.html" target="_blank"&gt;Announcing xUnit.net&lt;/a&gt;".&lt;/p&gt; &lt;p&gt;Personally, I'll try using the shipping version on my own personal projects.&amp;nbsp; At this point, it will probably not effect what I do at p&amp;amp;p.&lt;/p&gt; &lt;p&gt;Check it out and enjoy.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[Note: I added the testing flag since xUnit.NET claims to be extensible into an acceptance testing framework.&amp;nbsp; Not that I consider EDD testing.]&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5020589" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Example+Driven+Design+_2800_Formerly+TDD_2900_/default.aspx">Example Driven Design (Formerly TDD)</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Enterprise Library 3.0 will include a new block</title><link>http://blogs.msdn.com/mpuleio/archive/2007/02/26/enterprise-library-3-0-will-include-a-new-block.aspx</link><pubDate>Tue, 27 Feb 2007 03:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1766430</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/1766430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=1766430</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=1766430</wfw:comment><description>&lt;P&gt;Tom and Ed have complimentary articles on the Policy Injection Application Block:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Tom's &lt;EM&gt;&lt;A class="" href="http://blogs.msdn.com/tomholl/archive/2007/02/23/announcing-the-policy-injection-application-block.aspx" target=_blank mce_href="http://blogs.msdn.com/tomholl/archive/2007/02/23/announcing-the-policy-injection-application-block.aspx"&gt;Announcing the Policy Injection Application Block&lt;/A&gt;&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;Ed's &lt;A class="" href="http://blogs.msdn.com/edjez/archive/2007/02/23/policy-injection-app-block-behind-the-scenes.aspx" target=_blank mce_href="http://blogs.msdn.com/edjez/archive/2007/02/23/policy-injection-app-block-behind-the-scenes.aspx"&gt;&lt;EM&gt;Policy Injection App Block - Behind the Scenes&lt;/EM&gt;&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This block is really impressive.&amp;nbsp; You can do things like: "Every time I call a method on class foo, call this method before hand, invisibly". Very useful if you ever had to add auditing after the fact on a data access layer, or a requirement for perf counters came up at the last minute. (Not that I have ever had to deal with either of those....)&lt;/P&gt;
&lt;P&gt;How could you use this for testing? Create a test interception handler, and :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;mock out (either for acceptance or unit tests) the data acces layer.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;Introduce faults anywhere in the program you want to (I want to throw an OutOfMemoryException .... there, OR no, that file no longer exists.&amp;nbsp; bye bye.)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Another name for this block is the Give-me-enough-rope-to-hang-myself-and-everyone-else-working-on-this-project-Block.&amp;nbsp; It is very powerful, but if you write your own handlers, you must be careful.&amp;nbsp; "With great power, comes great responsibility."&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Check it out in the Enterprise Library CTP and enjoy.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1766430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>Thoughts on Code Coverage</title><link>http://blogs.msdn.com/mpuleio/archive/2007/02/26/thoughts-on-code-coverage.aspx</link><pubDate>Tue, 27 Feb 2007 02:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1766285</guid><dc:creator>mpuleio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/1766285.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=1766285</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=1766285</wfw:comment><description>&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/jamesnewkirk" target=_blank mce_href="http://blogs.msdn.com/jamesnewkirk"&gt;Jim Newkirk&lt;/A&gt; and &lt;A class="" href="http://www.agileprogrammer.com/dotnetguy/" target=_blank mce_href="http://www.agileprogrammer.com/dotnetguy/"&gt;Brad Wilson&lt;/A&gt; have an interesting &lt;A class="" href="http://blogs.msdn.com/jamesnewkirk/archive/2007/02/25/how-to-make-sense-of-code-coverage-metrics.aspx" target=_blank mce_href="http://blogs.msdn.com/jamesnewkirk/archive/2007/02/25/how-to-make-sense-of-code-coverage-metrics.aspx"&gt;blog post on code coverage and what it means&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;They have some interesting ideas to think about.&lt;/P&gt;
&lt;P&gt;On my last project, I ran covereage numbers at fairly regular intervals.&amp;nbsp; At one point, the trend sharpy dropped, and I had a conversation with the dev team, resulting in us fixing the problem.&amp;nbsp; I guess I did what they are advocating, not with intent, but on accident.&lt;/P&gt;
&lt;P&gt;On my current project, I want this reporting to become automatic, and not need to worry about communicating the problems with the team, but have them see the problem and take responsibility without intervention... We'll see how it turns out, if I can get the automation and reporting to work.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[Note: I know that TDD is not testing, and a better description is Example Driven Design.&amp;nbsp; I threw&amp;nbsp;the Testing tag in anyway, because this can apply to acceptance test code coverage as well as unit test coverage.]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1766285" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Example+Driven+Design+_2800_Formerly+TDD_2900_/default.aspx">Example Driven Design (Formerly TDD)</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Agile/default.aspx">Agile</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category></item></channel></rss>