<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>ScottD&amp;#39;s Musings : Automated Unit Testing &amp;amp; TDD</title><link>http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx</link><description>Tags: Automated Unit Testing &amp;amp; TDD</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Visual Studio 2005 Code Snippets for NUnit Developers!</title><link>http://weblogs.asp.net/scottdockendorf/archive/2006/03/06/439650.aspx</link><pubDate>Mon, 06 Mar 2006 12:51:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:439650</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=439650</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2006/03/06/439650.aspx#comments</comments><description>&lt;p&gt;Oh this rocks - wanted to share with everyone else.&lt;/p&gt; &lt;p&gt;Scott Bellware, TDD stud, Microsoft C# MVP, and active community member, created some awesome code snippets for developers interested in writing NUnit test classes.&lt;/p&gt; &lt;p&gt;&lt;a href="http://codebetter.com/blogs/scott.bellware/archive/2006/02/28/139446.aspx"&gt;http://codebetter.com/blogs/scott.bellware/archive/2006/02/28/139446.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439650" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>MSDN Article Published - Team System Automated Unit Testing &amp; Code Generation</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/11/19/430972.aspx</link><pubDate>Sat, 19 Nov 2005 22:15:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:430972</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=430972</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/11/19/430972.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Yes, I have been a blog-slacker for quite some time now - and I apologize.&amp;nbsp; We're closing down on a huge project at work, and I should pickup my activities in the coming weeks.&amp;nbsp; &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;em&gt;Shameless plug alert…&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Thanks to Rob Caron, who &lt;/font&gt;&lt;a href="http://blogs.msdn.com/robcaron/archive/2005/09/23/473503.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;pointed out&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt; that a number of Team System-related articles were published to MSDN Online, including one of mine titled:&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Unit Testing and Generating Source Code for Unit Test Frameworks Using Visual Studio 2005 Team System&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;&lt;a title="http" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/UTFwVS05TmSys.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/UTFwVS05TmSys.asp&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"&gt;This article covers an introduction to automated unit testing, and provides an insight into setting up a new Unit Test project, and what code is automatically generated for you.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=430972" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/_26002300_187_3B00_telligent/default.aspx">&amp;#187;telligent</category></item><item><title>Automated Unit Testing for the BizTalk Developer!</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/07/17/419715.aspx</link><pubDate>Sun, 17 Jul 2005 13:54:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:419715</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=419715</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/07/17/419715.aspx#comments</comments><description>&lt;p&gt;Thought this was very cool, and wanted to share.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Check out &lt;a href="http://blogs.msdn.com/kevinsmi/archive/2005/07/17/439728.aspx"&gt;Kevin B. Smith's post &lt;/a&gt;on &lt;a href="http://blogs.msdn.com/kevinsmi/archive/2005/07/17/439728.aspx"&gt;BizUnit 2.0&lt;/a&gt;, an &lt;strong&gt;automated unit testing framework&lt;/strong&gt; for &lt;strong&gt;BizTalk solutions&lt;/strong&gt;!&amp;nbsp; His post offers a link to download the binaries, great detail on the framework, how it works.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;Does anyone have experience with BizUnit 1 or 2?&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=419715" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Cool+Developer+Tools/default.aspx">Cool Developer Tools</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Development+Methodologies/default.aspx">Development Methodologies</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>VSTS Unit Testing &amp; Microsoft AntiSpyware Beta </title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/05/09/406213.aspx</link><pubDate>Mon, 09 May 2005 11:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:406213</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=406213</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/05/09/406213.aspx#comments</comments><description>&lt;p&gt;Thanks to &lt;a href="http://davebost.com/blog/"&gt;Dave Bost &lt;/a&gt;AGAIN, for saving us developers precious time.&amp;nbsp;:)&amp;nbsp; First he published a GREAT MSDN article on &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vstsinstallguide.asp"&gt;installing VSTS&lt;/a&gt;.&amp;nbsp; Recently he resolved something that I ran into last week on a new machine build&amp;nbsp;-&amp;nbsp;the fact that the &lt;a href="http://www.microsoft.com/athome/security/spyware/software/default.mspx"&gt;Microsoft AntiSpyware Beta &lt;/a&gt;effectively kills Unit Testing with Visual Studio 2005 Beta 2 by blocking the resulting scripts from executing.&amp;nbsp; When you execute your tests, the Unit Testing Framework will generate dynamic scripts (with dynamic filenames), and attempt to execute them - but the&amp;nbsp;AntiSpyware app blocks execution, and asks you for approval to execute.&amp;nbsp;&amp;nbsp; The first problem is that VS 2005 completes execution and returns you to source view quicker than you can click the "Approve" button.&amp;nbsp; In addition, because the filenames are dynamically generated, each subsequent execution creates a new script, and each are blocked in succession.&amp;nbsp;&lt;/p&gt; &lt;p&gt;Dave's post with resolution instructions (turn off AntiSpyware's Script Blocking component) are located &lt;a href="http://davebost.com/blog/archive/2005/04/18/473.aspx"&gt;in his blog post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Thanks Dave - You da man!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=406213" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>June 16, 2005 Presentation: Writing Quality Code with Visual Studio 2005 Team System</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404029.aspx</link><pubDate>Sun, 24 Apr 2005 06:34:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:404029</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=404029</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404029.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;If you live in the &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;Dallas&lt;/st1:City&gt;, &lt;st1:PlaceType w:st="on"&gt;Ft.&lt;/st1:PlaceType&gt; &lt;st1:PlaceName w:st="on"&gt;Worth&lt;/st1:PlaceName&gt; metroplex, or plan to be in town on June 16&lt;sup&gt;th&lt;/sup&gt;, please join us at the &lt;b style="mso-bidi-font-weight: normal"&gt;Visual Studio 2005 Dev Con&lt;/b&gt; on June 16, 2005 at the Hotel Intercontinental in &lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Dallas&lt;/st1:place&gt;&lt;/st1:City&gt;, just north of Beltline and the Dallas Tollway.&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;I will be presenting a session in the Visual Studio Team System, entitled “Writing Quality Code”, which will focus on the tools built into Visual Studio 2005 Team System that will make all of us better developers, including Automated Unit Testing, FxCop, PREfast and MSBuild. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;This session will be 4 days after the birth of our second child, so Starbucks will be a big player in my session.&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Here are some links of importance.&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://www.chrysalisevents.com/vs2005devcon/"&gt;Event Site&lt;/a&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://www.chrysalisevents.com/vs2005devcon/select_track.asp?e=164"&gt;Dallas Agenda &amp;amp; Speakers&lt;/a&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="https://www.chrysalisevents.com/vs2005devcon/"&gt;Event Registration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Registration for this event is $99.&amp;nbsp; Everyone who registers will receive VS 2005 Beta 2 DVD, SQLServer 2005 Beta 3, and an Visual Studio / MSDN Transition Guide.&amp;nbsp; &lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;BONUS:&amp;nbsp; If you register before May 1, you receive two books, including:&amp;nbsp; &lt;u&gt;Introducing Microsoft ASP.NET 2.0&lt;/u&gt; (MS Press) and &lt;u&gt;Introducing Visual Basic 2005 for Developers&lt;/u&gt; (MS Press), a $60 value!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;I hope to see everyone there!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=404029" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>May 12, 2005 Presentation: TDD &amp; Unit Testing with Visual Studio 2005 Team System</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404027.aspx</link><pubDate>Sun, 24 Apr 2005 06:11:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:404027</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=404027</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404027.aspx#comments</comments><description>&lt;p&gt;Interested in Test-Driven Development?&amp;nbsp; Live in the Dallas Ft. Worth Metroplex?&amp;nbsp; Well, &lt;a href="http://www.geekswithblogs.com/sbellware"&gt;Scott Bellware&lt;/a&gt;&amp;nbsp;(MVP From Austin, TX) has prepared an AWESOME (&amp;amp; FREE) day-long event that is open to the public.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.bellware.net/Events/TddDallas.aspx"&gt;TDD Workshop - Dallas, Texas - May 12, 2005 - Microsoft Las Colinas&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.elysiumsystems.com/News.html#TDD"&gt;&lt;font color="#ff0000"&gt;UPDATE:&amp;nbsp; Brian Moore's Writeup On The Event&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;ScottB has produced some GREAT content about TDD, and if you have any interest in implementing this approach at work - please join us.&amp;nbsp; This isn't just a 1 hour overview and light demos, it will include presentations and demos in the 1st half of the day, followed up with a 4 hour hands-on&amp;nbsp;workshop using such tools as NUnit, NCover, TestDriven.net &lt;/p&gt; &lt;p&gt;Registration will be on the &lt;a href="http://www.ddnug.net/"&gt;Dallas .NET User Group website&lt;/a&gt; soon. Attendees will receive a copy of James Newkirk's Test-Driven Development book and prizes include a SPOT Watch, 2 Licenses of Clover.NET, and a Microsoft Fingerprint reader.&amp;nbsp; Also included is the Attendee CD, which will contain a copy of all the slides, demo code, labs, and software needed to get started with TDD.&lt;/p&gt; &lt;p&gt;Fellow DGC-er and Regional Director &lt;A href="http://weblogs.asp.net/cmenegay/archive/2005/04/10/399744.aspx"&gt;Chris Menegay&lt;/a&gt;&amp;nbsp;will present an overview of Visual Studio Team System, and I will present an demo-featured overview of Unit Testing, Code Generation, and Code Coverage&amp;nbsp;using&amp;nbsp;Team Sytem.&lt;/p&gt; &lt;p&gt;Planning on attending?&amp;nbsp; Make sure to bring your laptop (if you have one).&amp;nbsp; It's not required, but recommended for the afternoon lab sessions.&amp;nbsp; If not, you can still follow along with ScottB.&lt;/p&gt; &lt;p&gt;After the event, please join the &lt;a title="" href="http://www.ddnug.net/" target="_blank"&gt;Dallas .NET User Group&lt;/a&gt; as they present INETA speaker Dan Whalin who will cover Xml &amp;amp; .NET 2.0.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=404027" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>May 2, 2005 Presentation: Test-Driven Development &amp; .NET TODAY! at Oklahoma City .NET Developers Group</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404026.aspx</link><pubDate>Sun, 24 Apr 2005 06:07:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:404026</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=404026</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/04/24/404026.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;If you are in the &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;Oklahoma City&lt;/st1:City&gt; area on May 2, 2005, please join me during either the lunch or dinner sessions of the &lt;a href="http://www.okcpro.net/"&gt;Oklahoma City .NET Developers Group&lt;/a&gt;, where I will present “Test-Driven Development &amp;amp; .NET Today!” &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;This session will focus on automated unit testing, driving better software through Test-Driven Development’s unique approach, and some round-table discussions on lessons learned &amp;amp; recommended practices. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I can’t wait to hear how the adoption of automated unit testing &amp;amp; TDD in the OKC marketplace.&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;The lunch session will be at the Hometown Buffet-North and will begin at 11:30.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The evening session will be held at the Oklahoma City Downtown Library, and will begin at 6:00pm. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://www.okcpro.net/Events/412.aspx"&gt;OKCPRO.NET’s Event Listing&lt;/a&gt;&lt;/li&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://www.codebetter.com/blogs/raymond.lewallen/archive/2005/04/20/62234.aspx"&gt;Raymond Lewallen’s blog post&lt;/a&gt; on the talk (with kudos from TDD/Agile-stud &lt;a href="http://codebetter.com/blogs/darrell.norton/"&gt;Darrell Norton&lt;/a&gt; &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Thanks for the kind words Darrell )&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Thanks to fellow Developer Guidance Council member &lt;a href="http://www.ksdynamics.com/DesktopDefault.aspx"&gt;Keith Nicholson&lt;/a&gt; and the officers at OKCPRO.net for this opportunity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I’m happy to spread the TDD-love &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt; and I hope the session speaks to everyone who attends.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=404026" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>New MSDN Online Article: Install Steps for Team System</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/03/10/392428.aspx</link><pubDate>Thu, 10 Mar 2005 19:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:392428</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=392428</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/03/10/392428.aspx#comments</comments><description>&lt;p&gt;Check out the new MSDN Online article, which provides guidance on how to install Team System (link below)&lt;/p&gt; &lt;p&gt;&lt;!--StartFragment --&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/VSTSInstallGuide.asp"&gt;Installing the December CTP Release of Visual Studio Team System&lt;/a&gt; (by David C. Bost)&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I'm going to read it in detail later tonight (after the premiere of the &lt;a href="http://www.starwars.com/episode-iii/release/theater/news20050228.html"&gt;Star Wars III: The Revenge of the Sith trailer &lt;/a&gt;(Airing on Fox, tonight sometime during "&lt;a href="http://www.fox.com/oc/home.htm"&gt;The O.C.&lt;/a&gt;")&lt;/p&gt; &lt;p&gt;But from my first glance, it appears to be concise and easy to follow!&amp;nbsp; Thanks David for the guidance!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=392428" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Presentations/default.aspx">Presentations</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>Some Great RSS Finds</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/02/02/365240.aspx</link><pubDate>Wed, 02 Feb 2005 08:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:365240</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=365240</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/02/02/365240.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Here are some interesting “finds” from the blogging world over the past week or so (I’m offloading all my saved Favorites here!)&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/p&gt;&lt;o:p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Agile Development&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;Check out&amp;nbsp;&lt;a href="http://www.xpstorystudio.com"&gt;www.xpstorystudio.com&lt;/a&gt;, &lt;A href="http://weblogs.asp.net/jsgreenwood/"&gt;JSGreenwood&lt;/a&gt;'s free-Project&amp;nbsp;Management portal for Agile teams!&amp;nbsp;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;/o:p&gt;Community Sites&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;&lt;a href="http://www.larkware.com/"&gt;www.Larkware.com&lt;/a&gt; (from &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName w:st="on"&gt;Scott Hanselman&lt;/st1:PersonName&gt;) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;&lt;a href="http://blogs.geekdojo.net/pdbartlett/archive/2004/07/30/WikisGalore.aspx"&gt;List of Interesting Wiki’s&lt;/a&gt; (from &lt;a href="http://blogs.geekdojo.net/pdbartlett/"&gt;Paul Bartlett&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;.NET Open Source Software Projects:&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Mvp.Xml Library v1.0 Released (&lt;a href="http://www.tkachenko.com/blog/archives/000382.html"&gt;News&lt;/a&gt;, &lt;a href="http://mvp-xml.sourceforge.net/"&gt;Project Site&lt;/a&gt;) (from &lt;A href="http://weblogs.asp.net/rosherove/archive/2005/01/22/358644.aspx"&gt;Roy Osherove&lt;/a&gt;) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Check out Roy Osherove’s &lt;A href="http://weblogs.asp.net/rosherove/archive/2005/01/23/358940.aspx"&gt;Xtunit, Interception Block, &amp;amp; Extensibility Application Block&lt;/a&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Newly-released Enterprise Library &lt;br /&gt;(&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/entlib.asp"&gt;More Info&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0325B97A-9534-4349-8038-D56B38EC394C&amp;amp;displaylang=en"&gt;Download&lt;/a&gt;, &lt;a href="http://www.gotdotnet.com/workspaces/customization/uploadedhtmlpage.aspx?FileID=ce8995d5-c163-4cd2-a09d-637fa50d30bd&amp;amp;id=295a464a-6072-4e25-94e2-91be63527327"&gt;Online Tutorials&lt;/a&gt;, &lt;a href="http://www.gotdotnet.com/community/usersamples/Default.aspx?query=enterprise%20library"&gt;Community Extensions&lt;/a&gt;) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Wintellect’s &lt;a href="http://www.wintellect.com/powercollections/"&gt;Power Collections&lt;/a&gt; (Generics for .net 2.0)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;ASP.NET&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://www.asp.net/MemberRoles/memberroles.htm"&gt;Use ASP.NET 2.0’s Member Management Component in ASP.NET 1.1&lt;/a&gt; (From &lt;A href="http://weblogs.asp.net/britchie/archive/2005/01/24/359446.aspx"&gt;Brian Ritchie&lt;/a&gt; &amp;amp; Telligent’s own, &lt;a href="http://scottwater.com/blog/archive/2004/12/10/MemberRole_Prototype"&gt;Scott Watermasysk&lt;/a&gt;) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;New &lt;a href="http://metasapiens.com/sharpUrls/"&gt;sharpUrls&lt;/a&gt; Library (from &lt;A href="http://weblogs.asp.net/fmarguerie/archive/2005/01/24/359481.aspx"&gt;Fabrice’s blog&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;.NET Framework&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo3; tab-stops: list .5in"&gt;Fredrick’s Post about the &lt;a href="http://fredrik.nsquared2.com/viewpost.aspx?PostID=252&amp;amp;showfeedback=true"&gt;new ConfigurationManager Class&lt;/a&gt; in .NET v2.0 &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo3; tab-stops: list .5in"&gt;&lt;A href="http://weblogs.asp.net/DavidWaddleton/archive/2005/01/22/358821.aspx"&gt;David Waddleton’s 5-part webcast series over Debugging &amp;amp; Tweaking&lt;/a&gt; starts on February 14&lt;sup&gt;th&lt;/sup&gt;. &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo3; tab-stops: list .5in"&gt;An interesting look at the &lt;a href="http://dotnetjunkies.com/WebLog/jpalermo/archive/2005/01/31/49465.aspx"&gt;StringBuilder vs String Concatenation&lt;/a&gt; (I haven’t tried it myself, yet)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;VSTS&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;MSDN Universal &amp;amp; VSTS, How Will It Work? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Clarification on pricing (from &lt;A href="http://weblogs.asp.net/buckh/archive/2005/01/24/359459.aspx"&gt;Buck Hodges&lt;/a&gt;) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;&lt;a href="http://blogs.msdn.com/buckh/archive/2004/06/04/148835.aspx"&gt;VSTS Newsgroups&lt;/a&gt; (also from Buck) &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Ohad’s &lt;A href="http://weblogs.asp.net/israelio/archive/2005/01/27/361585.aspx"&gt;Comparing VS 2003 with Visual Studio 2005 Team System Post&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;BizTalk&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;a href="http://www.microsoft.com/biztalk/evaluation/roadmap/"&gt;BizTalk Roadmap&lt;/a&gt; Announced (from &lt;A href="http://weblogs.asp.net/luke/archive/2005/01/21/358254.aspx"&gt;BizTalk ChalkTalk&lt;/a&gt; blog)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;C#&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;New C# Team member Blogs:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;A href="http://weblogs.asp.net/shaykatc/"&gt;Shaykatc&lt;/a&gt; &amp;amp; &lt;a href="http://msdn.microsoft.com/vcsharp/team/blogs/"&gt;MSDN C# Team Blogroll&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Microsoft MVP’s&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;MVP Awards &amp;amp; 2005 MVP Global &lt;st1:place w:st="on"&gt;&lt;st1:City w:st="on"&gt;Summit&lt;/st1:City&gt;&lt;/st1:place&gt; Date Announced (from &lt;A href="http://weblogs.asp.net/jld/archive/2005/01/22/358615.aspx"&gt;Jean-Luc David&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;Smart Client Deplyment&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;MSDN Article:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/smartclient/default.aspx?pull=/library/en-us/dndotnet/html/clickoncevsinstaller.asp"&gt;ClickOnce vs MSI&lt;/a&gt; (from &lt;A href="http://weblogs.asp.net/shawnfa/archive/2005/01/20/357688.aspx"&gt;.NET Security Blog&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;FireFox&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo1; tab-stops: list .5in"&gt;Speed up FireFox (from &lt;a href="http://www.hanselman.com/blog/PermaLink,guid,ce572c82-b129-4033-b32e-99e8a872c28c.aspx"&gt;Scott Hanselman&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=365240" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Cool+Developer+Tools/default.aspx">Cool Developer Tools</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/.NET+Community/default.aspx">.NET Community</category></item><item><title>Reply to Scott Bellware's Review of my Unit Testing with Whidbey article</title><link>http://weblogs.asp.net/scottdockendorf/archive/2005/01/25/360485.aspx</link><pubDate>Tue, 25 Jan 2005 23:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:360485</guid><dc:creator>Scott Dockendorf</dc:creator><author>Scott Dockendorf</author><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/scottdockendorf/rsscomments.aspx?PostID=360485</wfw:commentRss><comments>http://weblogs.asp.net/scottdockendorf/archive/2005/01/25/360485.aspx#comments</comments><description>&lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;a href="http://www.geekswithblogs.com/sbellware"&gt;Scott Bellware&lt;/a&gt;, INETA Speaker Chair, Microsoft MVP, and Austin .NET User Group President recently posted &lt;/font&gt;&lt;a href="http://www.geekswithblogs.com/sbellware/archive/2005/01/21/20643.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;a review &lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;of my .NET Developer’s Journal Article, “Unit Testing with Whidbey”.&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font face="Tahoma" size="2"&gt;The article is located here:&amp;nbsp; (&lt;/font&gt;&lt;a href="http://www.sys-con.com/story/?storyid=47343&amp;amp;DE=1"&gt;&lt;font face="Tahoma" size="2"&gt;Web-based article&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="http://pdf.sys-con.com/Dotnet/DNDJ1204.pdf"&gt;&lt;font face="Tahoma" size="2"&gt;Entire Issue PDF&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt;) &lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;font face="Tahoma" size="2"&gt;Images are located &lt;/font&gt;&lt;A href="http://weblogs.asp.net/scottdockendorf/archive/2004/12/29/343668.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;His review is located &lt;/font&gt;&lt;a href="http://www.geekswithblogs.com/sbellware/archive/2005/01/21/20643.aspx"&gt;&lt;font face="Tahoma" size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;My response is this page&amp;nbsp;:)&lt;/font&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/li&gt; &lt;li&gt; &lt;div class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;Update: His response to my response is &lt;a href="http://www.geekswithblogs.com/sbellware/archive/2005/01/25/21026.aspx"&gt;here&lt;/a&gt;:&lt;/font&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Quite honestly, I truly thought that (a) mentioning TDD in a “Unit Testing with Whidbey” and/or (b) promoting a interface first approach to TDD would cause a stir among those who following the traditional TDD approach (create tests before ever writing a line of TDD code). &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I just wanted to go on the record and help shed light on the article, why I wrote it the way I did, and my intended audience. &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;My response (as posted in his blog here) is as follows:&lt;/font&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt; In reading and re-reading the article, I'm left feeling quite unsure whether I know where Scott is coming from, and I find it hard to distinguish when he's talking about plain old unit testing and Test-Driven Development.It's a good overview of VS 2005's support for unit testing, and it harkens the coming focus that will be given to unit testing in the next generation of .NET development.&amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Hey Scott,&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;After talking with &lt;A href="http://weblogs.asp.net/cmenegay"&gt;Chris Menegay&lt;/a&gt;, I had a feeling that it would strike a cord with you. &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Seriously, I appreciate your input, and you made many valid points.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I wanted to help shed some light on the article, and why I wrote it the way I did:&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt; In some cases, I found the TDD moniker used in context in a way that was misleading and adding to TDD misconceptions.&amp;nbsp; I fear that I might just be reading the article from the wrong perspective and not seeing some of the points being made, but I fear even more that others might misread the article as well, and make their first forays into TDD on shaky conceptual footing. &amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br /&gt;The focus of this article was to &lt;b style="mso-bidi-font-weight: normal"&gt;highlight the new Unit Testing Features of Whidbey (Visual Studio 2005).&lt;/b&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It was &lt;b style="mso-bidi-font-weight: normal"&gt;not&lt;/b&gt; intended to be a comprehensive review of TDD, nor mention current open-source applications available today, including TestDriven.net, NUnit, csUnit.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Also, I only had 1,500-2,000 words to work with, which forced me to summarize where necessary.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I had to remove almost all my Refactoring content due to this reason (yes, it made me sad too).&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Why Mention TDD Approach?&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;There were 2 reasons that I mentioned TDD in the article. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;First, I too (along with you) am fond of the TDD methodology.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I’ve been using it for a few years now (using NUnit), and love it. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Through my “giving back to the community” interests, &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I wanted to introduce TDD to those who are new to the methodology. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;To me, it makes sense to at least mention TDD when it pertains to Unit Testing. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;For the second reason, let’s compare and contrast the two common TDD approaches&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt; &lt;tbody&gt; &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Approach #1:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Test-First&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Approach #2: Code/Interface First&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 1"&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Description:&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Born from Extreme Programming methodology, was the initial implementation. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;This is the traditional approach&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Evolved after birth of Test-First, where Interfaces are created before the tests&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 2"&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Where does the “Design” occur&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;During TDD cycle&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Up-front, when designing the solution.&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes"&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Steps:&lt;/font&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;ol style="MARGIN-TOP: 0in" type="1"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Design&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Code your Tests&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Run Your Test – (.NET Compiler won’t let you continue, because you’re referencing objects that don’t exist yet&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Fix Compile Errors by creating object with public interfaces (as defined in your test)&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Rerun Test – Watch them fail “Red”&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Complete Implementation Code&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Rerun Tests – Watch them pass&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Review Code / Refactor as necessary&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Go Onto The Next Test&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt; &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 2.05in; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="197"&gt; &lt;ol style="MARGIN-TOP: 0in" type="1"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Design&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Code your Interfaces based on your design&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Code your Tests &lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Run Test – Watch them fail “Red”&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Complete Implementation Code&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Rerun Tests – Watch them pass&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Review Code / Refactor as necessary&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo3; tab-stops: list .5in"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Go Onto The Next Test&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Now, let’s look at the “selling points” for using Whidbey as your Unit Testing engine (at least with Beta 1 Refresh as I used for the article)&lt;/font&gt;&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo1; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Integrated UI (Test Management, Categories, UI to select individual tests) – These are nice features, really independent of which TDD approach you use&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo1; tab-stops: list .5in"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Code Generation (from Object Interfaces)– This is impossible to “sell the concept” to individuals following the test/code/refactor approach, because you have no object interfaces to generate code from – the tests come first. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo1; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Integrated Access To Code Coverage – This is a nice feature, but independent of which TDD approach you use.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Thus - you might agree that “Code Generation” isn’t a benefit for Approach #1 – Test First Developers, because the interfaces come from the tests, not from the project design (i.e. you don’t have an object interface to generate code from). &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Thus, I couldn’t write an article based on the Test-First approach. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;It is, however a big benefit for people who follow Approach #2, which is why I chose to use that approach in the article. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;My personal beliefs is that TDD can benefit any development environment using any approach. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I know there are those who only recognize Approach #1, and I respect that. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;My experience in consulting has led me to believe that any approach/methodology needs to be flexible, support team development, and conducive to change.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;IMO (which is all it really is), Approach #2 offers that. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;During my TDD talks that I’ve presented at our local .NET User Groups, I was always asked with the same concern = “all that extra code!” &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I agree that this is a misperception, and wanted to discuss my ideas on that topic.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I thought that people who follow Approach #2 might benefit greatly from Code Generation, which is why I decided to include it in the article. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;For those who don’t recognize Approach #2 as a valid methodlogy, I completely understand why the article might be confusing. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I stated at the beginning of the article that &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;the article focuses on Approach #2, and not Approach #1.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;However, based on your review, I don’t think I made the point clear enough. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;(In fact, I had to remove the comparison table for space considerations). &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Thank you for that, and I will clarify that stance in further articles and presentations.&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt; 1. Thoroughly design your software. Know exactly what the software must accomplish before writing a single test. &lt;br /&gt;Point number one gave me pause.&amp;nbsp; It may just be the way Scott chose to word this point, but it can be taken to mean something that couldn’t be more at odds with TDD and XP.&amp;nbsp; TDD process helps achieve good design (good and simple is the goal), but it doesn’t necessarilly start with good design, and certainly not often with thorough design.&amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;You bring up a great point in Approach #1 vs. Approach #2. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Using Approach #1, the design starts and ends with your TDD cycle. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Using this approach, you have a basic idea on how you want your code to perform, and use the multiple test iterations to refine your design. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Environments that use Approach #2, tend to design their projects up front, possibly because those shops follow traditional waterfall project management and need to show a design before obtaining the resources to staff the project. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;In this case, the design could be close to completion before development begins.&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Why do I feel this way? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;My consulting experiences include many different types of industries and different functioning development shops. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I’m not bragging, but just to drive home the point that, only a few of these shops use Extreme Programming – many use traditional waterfall approaches – which require LOTS of documentation and planning before development begins. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;In addition, from a consulting standpoint, especially during the .com bust, many of our clients would have not supported XP (dual programming model, lack of documentation, etc..). &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;IMO – TDD still works for these shops, just using Approach #2. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt;That said, having solid requirements and writing low-level stories is good and desired, so I'm confused.&amp;nbsp; I don’t know if Scott is saying do detailed design up front, or have good requirements up front.&amp;nbsp;&amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;Very good assessment on my choice of wording.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I should have mentioned solid requirements in addition to design. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt;In point three, Scott confuses me with the use of the plural "tests" in "Use design requirements to build and execute tests", and the use of "them" in "and watch them fail".&amp;nbsp;&amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;I should have asked you to tech review the article before going to print &lt;span style="FONT-FAMILY: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Another great point, that could present a grey cloud above those new to TDD. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;This statement should have been reworded to talk about executing the process for each individual test.&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt;In point number five, Scott seems to suggest that code tweaks and refactoring are one and the same.&amp;nbsp; I not sure that I would personally wholeheartedly agree with the equivocation of refactoring and tweaking for performance or even structure.&amp;nbsp; Although Scott references Fowler's refactoring catalog, so I guess he's just kinda using some jargon when making this point.&amp;nbsp; And in truth, I guess it's the jargonizing of agile approaches that I'm trying to shed some light on.&amp;nbsp; In this particular case, I would want to stand up (and I guess I am) and say that tweaking and refactoring are not equivalent.&amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;LOL – no I didn’t throw in Fowler reference to give the paragraph validity. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;As mentioned earlier, I had to cut out all my refactoring examples due to space constraints. And I couldn’t agree more – tweaking &amp;amp; refactoring are not one in the same. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Tweaking is just that, resolving small issues. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Refactoring is much more involved and could be a whole article/book in itself.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My initial cut was 3,600 words (way over the limit), and since I committed the article to focus on the new features of the Whidbey Unit Testing engine, I had to cut it out of the article. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;blockquote&gt;&amp;lt;&amp;lt; Test-Driven Development is a design discipline.&amp;nbsp; TDD is a rigorous programming methodology that brings the levels of formalism previously only found in OO analysis and design methods down to the level of designing and constructing code and into the hands of the programmer.&amp;nbsp; Unit tests are a side effect of TDD. If you're generating tests from pre-coded classes, chances are you're not doing TDD.&amp;nbsp; If you're generating tests from pre-coded classes, and you've never really done any unit testing before, and you assume that you're doing TDD, chances are that TDD is going to go sailing right over your head, maybe never to be seen or heard from again. &amp;gt;&amp;gt; &lt;/blockquote&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;Another great point, and something that shouldn’t have been cut out of the article. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I had 3 or so paragraphs on this point, stating that simply having LoadTest &amp;amp; SaveTest methods on an object that has Load &amp;amp; Save methods is not sufficient. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;As a TDD developer, you MUST think outside the box, figure out every conceivable way that your object will be called, used, destroyed, etc…&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You will end up with MANY more tests than methods on your object – if not, then you’re doing something wrong. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Take for example a Load method on a CRUD object. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;You’ll want (at the bare minimum) tests for &lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;ul style="MARGIN-TOP: 0in" type="disc"&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Postive Scalar Load&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Negative Scalar Load&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Postive Multiple Load&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Negative Multiple Load&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;Security Tests (to test for SQL Injection, etc..)&lt;/font&gt; &lt;li class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo4; tab-stops: list .5in"&gt;&lt;font face="Tahoma" size="2"&gt;TearDown Tests (if the objects plan to do any COM interaction, or have Dispose logic that you want to test)&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma"&gt;&lt;font size="2"&gt;While we might “agree to disagree” on the benefits on Approach #2, I hope this post helps clarify my approach, and that we’re not really that far off, from a TDD evangelism standpoint. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;font face="Tahoma" size="2"&gt;I appreciate your honest review.&lt;/font&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face="Tahoma" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=360485" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Automated+Unit+Testing+_2600_amp_3B00_+TDD/default.aspx">Automated Unit Testing &amp;amp; TDD</category><category domain="http://weblogs.asp.net/scottdockendorf/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category></item></channel></rss>