<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Developer Testing: Test Driven Development</title>
<link>http://www.developertesting.com/</link>
<description>Developer Testing - A place to gain and share knowledge.</description>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Fri, 26 Jan 2007 10:42:08 -0800</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.16</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

" lastn="15">
<item>
<title>Mocks Aren&apos;t Stubs by Fowler</title>
<description><![CDATA[<p><a href="http://martinfowler.com/articles/mocksArentStubs.html">Mocks Aren't Stubs</a> by Martin Fowler, is a very comprehensive look at two pairs of issues in testing: state-based verification vs behavior verification, and classical TDD vs Mockist TDD.</p>

]]></description>
<link>http://www.developertesting.com/archives/month200701/20070126-000390.html</link>
<guid>http://www.developertesting.com/archives/month200701/20070126-000390.html</guid>
<category>Bob Evans</category>
<pubDate>Fri, 26 Jan 2007 10:42:08 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Floyd&apos;s Turing Lecture on Paradigms in Software</title>
<description><![CDATA[<p>In light of the recent conversations about the adoption of developer testing on the junit list and <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=192781">Artima</a>, this <a href="http://www.ias.ac.in/resonance/May2005/pdf/May2005Classics.pdf">Turing Award lecture by Robert Floyd</a> seems particularly appropriate. There's a particularly good quote where he is discussing a quote from Thomas Kuhn in <a href="http://en.wikipedia.org/wiki/The_Structure_of_Scientific_Revolutions">"The Structure of Scientific Revolutions."</a></p>

<blockquote>
"Again from Kuhn:
    <blockquote>
    "The older schools gradually disappear. In part their disappearance is
    caused by their members&rsquo; conversion to the new paradigm. But there are
    always some men who cling to one or another of the older views, and they
    are simply read out of the profession, which thereafter ignores their work."
	</blockquote>
In computing, there is no mechanism for reading such men out of the profession. I
suspect they mainly become managers of software development. "
</blockquote>

I suspect a large number of the adoption problems for developer testing are in organizations where the old boy at the helm is clinging to an outmoded paradigm of software development. Perhaps those guys would listen to Floyd -- (Robert, not Pink.)

]]></description>
<link>http://www.developertesting.com/archives/month200701/20070125-000388.html</link>
<guid>http://www.developertesting.com/archives/month200701/20070125-000388.html</guid>
<category>Bob Evans</category>
<pubDate>Thu, 25 Jan 2007 11:48:45 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Webinar: Test-Driven Development in J2EE, with J.B. Rainsberger</title>
<description><![CDATA[<p>In early August J.B. Rainsberger gave a webinar on TDD for J2EE:</p>

<blockquote>Test-Driven Development is often introduced through simple examples, but many developers would rather dive into the deep end. This free webinar is for those people. J. B. Rainsberger, author of "JUnit Recipes," will show you architecture and design strategies to make it easier to "test-drive" J2EE components. You'll learn how to build a J2EE application while following the cardinal rule of Test-Driven Development: Never write a line of production code unless somewhere, a test has failed.</blockquote>

<p>The recorded webinar is up on the Agitar website linked from <a href="http://www.agitar.com/events/20060808-webinar_-_test-driven_development_in_j2ee_with.html">this page</a>.  Registration is required but if you'd rather not register try out <a href="http://www.bugmenot.com/view/www.agitar.com">bugmenot.com</a>.</p>]]></description>
<link>http://www.developertesting.com/archives/month200608/20060821-WebinarTestDrivenDevelopmentInJ2eeWithJBRainsberger.html</link>
<guid>http://www.developertesting.com/archives/month200608/20060821-WebinarTestDrivenDevelopmentInJ2eeWithJBRainsberger.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Mon, 21 Aug 2006 10:18:18 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Dos Equis Driven Design is Not About Beer</title>
<description><![CDATA[<p>It is critical to remember that <a href="http://alistair.cockburn.us/index.php/Dos_equis_driven_design">Dos Equis Driven Design</a> (XXD) is not about the beer. (I'm not saying there was no beer involved, but that isn't the point...)</p>]]></description>
<link>http://www.developertesting.com/archives/month200607/20060721-XXDisNotAboutBeer.html</link>
<guid>http://www.developertesting.com/archives/month200607/20060721-XXDisNotAboutBeer.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Fri, 21 Jul 2006 19:45:39 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Mocking a Singleton</title>
<description><![CDATA[Over on the <a href="http://groups.yahoo.com/group/testdrivendevelopment/">TDD mailing list</a> there is <a href="http://groups.yahoo.com/group/testdrivendevelopment/messagesearch?query=Mocking+a+singleton&amp;submit=Search&amp;charset=ISO-8859-1">a thread about mocking a singleton</a>. There are a few good suggestions given but the best answer (imho) is that provided by <a href="http://www.industriallogic.com/company/coaches/">Michael Hill</a>:

<blockquote>
Mocking a singleton is relatively easy.<br/>
<br/>
To begin with, singleton's are all alone in the world;  don't be afraid to point this out. Also, most singletons are created, get this, not even in a factory, but merely in a factory method.  Finally there is the point that they are little more than dressed-up globals, and IME experience cause more heartache than they're worth.  You can point to the many nasty screeds about singletons there are out on the net.  All in all, mocking it shouldn't be too hard.  A word:  if your singleton has unusually large body parts, stoop to insulting that.  Sometimes, to be kind, you have to be cruel.
</blockquote>]]></description>
<link>http://www.developertesting.com/archives/month200604/20060430-MockingASingleton.html</link>
<guid>http://www.developertesting.com/archives/month200604/20060430-MockingASingleton.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Sun, 30 Apr 2006 13:59:21 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Refrigerator Code or Girl Code or ...</title>
<description><![CDATA[<p>It doesn't matter if you call it <a href="http://www.developertesting.com/archives/month200511/20051117-NewGoalRefigeratorCode.html">Refrigerator Code</a> or <a href="http://headrush.typepad.com/creating_passionate_users/2006/03/code_like_a_gir.html">Girl Code</a> or <a href="http://37signals.com/svn/archives2/beautiful_code_testfirst.php">Beautiful Code</a> or simply <a href="http://butunclebob.com/ArticleS.UncleBob.CleanCodeArgs">Clean Code</a>, the meme is out there that is isn't enough to say the code works and then leave it at that. Even if you find yourself unmoved by Kathy's aesthetic arguments you should weigh Uncle Bob's assertion that "keeping your code clean is not just cost effective; it’s a matter of professional survival."</p>]]></description>
<link>http://www.developertesting.com/archives/month200604/20060401-RefigeratorCodeOrGirlCode.html</link>
<guid>http://www.developertesting.com/archives/month200604/20060401-RefigeratorCodeOrGirlCode.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Sat, 01 Apr 2006 06:44:28 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>...The Simplest Thing That Could Possibly Work Is An Object</title>
<description><![CDATA[<p>If you ever feel yourself drawn toward writing a static method, obey <a href="http://www.developertesting.com/archives/individual_weblogs-kevin_lawrence-index.html">Kevin</a>'s Maxim: "in an object-oriented language the simplest thing that could possibly work is an object."</p>]]></description>
<link>http://www.developertesting.com/archives/month200603/20060331-TheSimplestThingThatCouldPossiblyWorkIsAnObject.html</link>
<guid>http://www.developertesting.com/archives/month200603/20060331-TheSimplestThingThatCouldPossiblyWorkIsAnObject.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Fri, 31 Mar 2006 14:28:11 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Utility Functions as a Code Smell</title>
<description><![CDATA[<p>Keith Ray says <a href="http://homepage.mac.com/keithray/blog/2005/12/01/#UtilityFunctionsCodeSmell">utility functions are a code smell</a> and <a href="http://www.developertesting.com/archives/month200403/20040308-FightComplexityWithComplexity.html">I wholeheartedly agree</a>.</p>

<p><br />
BTW I often use the Adapter Pattern to wrap a class that seems to need utils until eventually the Adapter grows into a whole new class of its own. I have done this to add utility functions for parsing and xpath querying to org.w3c.Document for example.</p>]]></description>
<link>http://www.developertesting.com/archives/month200512/20051201-UtilityFunctions.html</link>
<guid>http://www.developertesting.com/archives/month200512/20051201-UtilityFunctions.html</guid>
<category>Kevin Lawrence</category>
<pubDate>Thu, 01 Dec 2005 09:48:53 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>New Goal: Refigerator Code</title>
<description><![CDATA[<a href="http://bloggingabout.net/blogs/dennis/default.aspx">Dennis van der Stelt</a> <a href="http://bloggingabout.net/blogs/dennis/archive/2005/10/24/9972.aspx">lead me</a> to <a href="http://www.butunclebob.com/ArticleS.BobKoss.RefrigeratorCode">this article</a> by <a href="http://www.butunclebob.com/ArticleS.BobKoss">Bob Koss</a> where he defined Refigerator Code:
<blockquote>What’s that? It’s code that you’re so proud of that you want to take it home and hang it on the refrigerator, right alongside of your children’s drawings.</blockquote>]]></description>
<link>http://www.developertesting.com/archives/month200511/20051117-NewGoalRefigeratorCode.html</link>
<guid>http://www.developertesting.com/archives/month200511/20051117-NewGoalRefigeratorCode.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Thu, 17 Nov 2005 09:20:54 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>TDD is about Testing?</title>
<description><![CDATA[<a href="http://blog.alancfrancis.com/">Alan Francis</a> makes the bizare claim that <a href="http://blog.alancfrancis.com/2005/10/tdd_is_so_about.html">TDD is about testing</a>:
<blockquote>...one major advantage of TDD is the ability to answer the question "how will I know I am done?". We can aswer that question because we have a test that will fail if we are not done and pass if we are.</blockquote>
Of course this is exactly what I was on about when <a href="http://www.developertesting.com/archives/month200509/20050927-StopTheBarIsGreen.html">I wrote</a> about why I like the Continuous Testing plug-in so much.
(Thanks to <a href="http://jchyip.blogspot.com/">Jason Yip</a> for the <a href="http://jchyip.blogspot.com/2005/10/test-driven-development-is-about.html">pointer</a>.)]]></description>
<link>http://www.developertesting.com/archives/month200510/20051019-TddIsAboutTestingQuestionMark.html</link>
<guid>http://www.developertesting.com/archives/month200510/20051019-TddIsAboutTestingQuestionMark.html</guid>
<category>Jeffrey Fredrick</category>
<pubDate>Wed, 19 Oct 2005 20:58:16 -0800</pubDate>

</item>
" lastn="15">
<item>
<title>Test Driven Life</title>
<description><![CDATA[Test Driven Development isn't just for software anymore. It's for hacking your life.
<br/><br/>
I noticed recently that I tend to live my life outside of software development test-first. The idea originally came to me from a friend, Russ Rufer, founder of the <a href="http://www.siliconvalleypatterns.org/">Silicon Valley Patterns Group</a>. I forget the circumstance, but nonetheless the practice stuck. 
]]></description>
<link>http://www.developertesting.com/archives/month200509/20050902-TestDrivenLife.html</link>
<guid>http://www.developertesting.com/archives/month200509/20050902-TestDrivenLife.html</guid>
<category>Bob Evans</category>
<pubDate>Fri, 02 Sep 2005 09:32:26 -0800</pubDate>

</item>


</channel>
</rss>