<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Writing tests first</title>
	<atom:link href="http://eli.thegreenplace.net/2008/10/10/writing-tests-first/feed/" rel="self" type="application/rss+xml" />
	<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/</link>
	<description>Eli Bendersky's personal website</description>
	<lastBuildDate>Wed, 10 Mar 2010 17:32:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: G Barr</title>
		<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/comment-page-1/#comment-153864</link>
		<dc:creator>G Barr</dc:creator>
		<pubDate>Fri, 30 Jan 2009 16:06:09 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=1016#comment-153864</guid>
		<description>Hi, 

I am an old analyst/programmer now converted to a web designer/developer. I came from and still adhere to the sequence of analyse, test plan, design, code and test. This is not a rule in concrete as programming is now modular within a an individual program and each module can be selectively tested, much like program testing before system testing of old, but in a more code precise fashion. It is dangerous to develop a test plan after coding as often the plan will by then be driven by what has been coded rather than what should have been coded. By defnition if a requirement creates the code then the test plan has to come from the requirement. Yes, it would be expected that some tests would fail, but many failures indicate bad programming; ah! for the days of coding sheets,when you had to wait up to a week for the punch cards be submitted for compiling (another few days wait).

regards
George</description>
		<content:encoded><![CDATA[<p>Hi, </p>
<p>I am an old analyst/programmer now converted to a web designer/developer. I came from and still adhere to the sequence of analyse, test plan, design, code and test. This is not a rule in concrete as programming is now modular within a an individual program and each module can be selectively tested, much like program testing before system testing of old, but in a more code precise fashion. It is dangerous to develop a test plan after coding as often the plan will by then be driven by what has been coded rather than what should have been coded. By defnition if a requirement creates the code then the test plan has to come from the requirement. Yes, it would be expected that some tests would fail, but many failures indicate bad programming; ah! for the days of coding sheets,when you had to wait up to a week for the punch cards be submitted for compiling (another few days wait).</p>
<p>regards<br />
George</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: abel</title>
		<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/comment-page-1/#comment-134311</link>
		<dc:creator>abel</dc:creator>
		<pubDate>Fri, 17 Oct 2008 03:42:22 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=1016#comment-134311</guid>
		<description>One way to make TDD easy on a developer is to use a powerful IDE. Java/junit TDD, with the eclipse framework, from my experience is fluid, fast and fun.

For instance, while writing your unit tests, declaring a non existing object, will give an on the fly error, where the developer can test-fail and then correct immediately by allowing eclipse to auto generate the object. this applies to other properties of the object as well.</description>
		<content:encoded><![CDATA[<p>One way to make TDD easy on a developer is to use a powerful IDE. Java/junit TDD, with the eclipse framework, from my experience is fluid, fast and fun.</p>
<p>For instance, while writing your unit tests, declaring a non existing object, will give an on the fly error, where the developer can test-fail and then correct immediately by allowing eclipse to auto generate the object. this applies to other properties of the object as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sumerc</title>
		<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/comment-page-1/#comment-134206</link>
		<dc:creator>sumerc</dc:creator>
		<pubDate>Wed, 15 Oct 2008 19:13:59 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=1016#comment-134206</guid>
		<description>I think you are making a serious error. If you wait for bugs to appear for writing tests then refactoring will be hard. When people feel that writing a unit test boring, IMHO, there are two possbilities:

1) Code is really a one-man project,
2) It is really redundant, see tips for writing good unit tests, you don&#039;t have to test everthing, you have to test cleverly.

There is a very good tutorial on Micoroft site, named Unit Testing Tips.</description>
		<content:encoded><![CDATA[<p>I think you are making a serious error. If you wait for bugs to appear for writing tests then refactoring will be hard. When people feel that writing a unit test boring, IMHO, there are two possbilities:</p>
<p>1) Code is really a one-man project,<br />
2) It is really redundant, see tips for writing good unit tests, you don&#8217;t have to test everthing, you have to test cleverly.</p>
<p>There is a very good tutorial on Micoroft site, named Unit Testing Tips.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ripper234</title>
		<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/comment-page-1/#comment-134199</link>
		<dc:creator>ripper234</dc:creator>
		<pubDate>Wed, 15 Oct 2008 17:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=1016#comment-134199</guid>
		<description>Yeah, Mike made the exact point I wanted to make in his quote - people should make sure to precede every bug fix with a test. The order of things should be:

1. Discover a bug
2. Write a test, make sure it fails (and actually catches the bug)
3. Fix, watch things turn green.
4. Rejoice.

Making sure the test fails is crucial here, otherwise you could be testing the wrong thing.</description>
		<content:encoded><![CDATA[<p>Yeah, Mike made the exact point I wanted to make in his quote &#8211; people should make sure to precede every bug fix with a test. The order of things should be:</p>
<p>1. Discover a bug<br />
2. Write a test, make sure it fails (and actually catches the bug)<br />
3. Fix, watch things turn green.<br />
4. Rejoice.</p>
<p>Making sure the test fails is crucial here, otherwise you could be testing the wrong thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Pirnat</title>
		<link>http://eli.thegreenplace.net/2008/10/10/writing-tests-first/comment-page-1/#comment-133504</link>
		<dc:creator>Mike Pirnat</dc:creator>
		<pubDate>Fri, 10 Oct 2008 17:54:58 +0000</pubDate>
		<guid isPermaLink="false">http://eli.thegreenplace.net/?p=1016#comment-133504</guid>
		<description>I have some kind of mental block against true TDD.  I find that I really prefer to code something before I feel I can write initial tests for it.

For new code, I try to write tests and code simultaneously rather than before or after.  My typical setup has 3 terminal sessions side by side:  one for code, one for the tests for that code, and one for running tests and keeping test output visible while I tinker.  Writing the test as immediately as possible means I can run it immediately and know that I&#039;ve left myself in good shape before moving on to writing the next piece of code.

For changes to code that&#039;s already well-covered, I focus on always updating the test (or adding new tests) first, as test failures make a nice to-do list.  Once the tests are passing again, I&#039;m confident that I&#039;m done and can move on.

And of course Titus Brown&#039;s (in)famous remark about TDD comes to mind -- &quot;I don&#039;t do test-driven development.  I do stupidity-driven development.  I wait until I do something stupid, and then write tests to avoid doing it again.&quot;</description>
		<content:encoded><![CDATA[<p>I have some kind of mental block against true TDD.  I find that I really prefer to code something before I feel I can write initial tests for it.</p>
<p>For new code, I try to write tests and code simultaneously rather than before or after.  My typical setup has 3 terminal sessions side by side:  one for code, one for the tests for that code, and one for running tests and keeping test output visible while I tinker.  Writing the test as immediately as possible means I can run it immediately and know that I&#8217;ve left myself in good shape before moving on to writing the next piece of code.</p>
<p>For changes to code that&#8217;s already well-covered, I focus on always updating the test (or adding new tests) first, as test failures make a nice to-do list.  Once the tests are passing again, I&#8217;m confident that I&#8217;m done and can move on.</p>
<p>And of course Titus Brown&#8217;s (in)famous remark about TDD comes to mind &#8212; &#8220;I don&#8217;t do test-driven development.  I do stupidity-driven development.  I wait until I do something stupid, and then write tests to avoid doing it again.&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
