<?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: Benefits of automated functional testing (was: Why unit testing is a waste of time)</title>
	<atom:link href="http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/feed/" rel="self" type="application/rss+xml" />
	<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/</link>
	<description>Software Developers (K)ollaborative</description>
	<lastBuildDate>Fri, 11 Jun 2010 14:40:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: links for 2009-11-24 &#171; Donghai Ma</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-1697</link>
		<dc:creator>links for 2009-11-24 &#171; Donghai Ma</dc:creator>
		<pubDate>Wed, 25 Nov 2009 04:05:14 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-1697</guid>
		<description>[...] Benefits of automated functional testing (was: Why unit testing is a waste of time) » SDK (tags: testing programming development functional unit article tdd) [...]</description>
		<content:encoded><![CDATA[<p>[...] Benefits of automated functional testing (was: Why unit testing is a waste of time) » SDK (tags: testing programming development functional unit article tdd) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Software Quality Digest - 2009-07-13 &#124; No bug left behind</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-167</link>
		<dc:creator>Software Quality Digest - 2009-07-13 &#124; No bug left behind</dc:creator>
		<pubDate>Mon, 13 Jul 2009 19:54:56 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-167</guid>
		<description>[...] Benefits of automated functional testing - &#8220;In the last few years of writing “enterprise” software in Java I’ve created and maintained thousands of unit tests, often working on projects that require 80% or better code coverage. Lots of little automated tests, each mocking out dependencies in order to isolate just one unit of code, ensuring minimal defects and allowing us to confidently refactor code without breaking everything. Ha! I’ve concluded that we’d be better off deleting 90% of these tests and saving a lot of time and money in the process.&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] Benefits of automated functional testing &#8211; &#8220;In the last few years of writing “enterprise” software in Java I’ve created and maintained thousands of unit tests, often working on projects that require 80% or better code coverage. Lots of little automated tests, each mocking out dependencies in order to isolate just one unit of code, ensuring minimal defects and allowing us to confidently refactor code without breaking everything. Ha! I’ve concluded that we’d be better off deleting 90% of these tests and saving a lot of time and money in the process.&#8221; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve C</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-163</link>
		<dc:creator>Steve C</dc:creator>
		<pubDate>Sat, 11 Jul 2009 02:48:44 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-163</guid>
		<description>I find there&#039;s a low-level of unity testing that&#039;s very beneficial, and then I combine that with fast, clear functional tests.  You run into problems every so often...but the trick is to find the right black boxes, to sense what classes and components are cohesive...if something isn&#039;t clearly cohesive I find the tests that get written act as &quot;casts&quot; - code that gets in the way - rather than the really valuable feedback mechanisms that raise the project&#039;s level of agility.</description>
		<content:encoded><![CDATA[<p>I find there&#8217;s a low-level of unity testing that&#8217;s very beneficial, and then I combine that with fast, clear functional tests.  You run into problems every so often&#8230;but the trick is to find the right black boxes, to sense what classes and components are cohesive&#8230;if something isn&#8217;t clearly cohesive I find the tests that get written act as &#8220;casts&#8221; &#8211; code that gets in the way &#8211; rather than the really valuable feedback mechanisms that raise the project&#8217;s level of agility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve C</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-162</link>
		<dc:creator>Steve C</dc:creator>
		<pubDate>Sat, 11 Jul 2009 02:41:12 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-162</guid>
		<description>I happen to be on a project where we&#039;re building an api at the moment, and we have a weird holy-grail situation - automated functional/acceptance tests that are FAST.  You&#039;re right to call out speed as the problem.

It&#039;s &quot;weird&quot; in that, from feature to feature, I&#039;m not sure to what degree I ought to drive out code using just the functional tests.  They&#039;re so fast they feel like unit tests.  You pay some price for only testing this way though: people expect Foo class to have a matching FooTest.

So I&#039;ve been working on Schnauzer (not very actively, I&#039;m ashamed to say).  Were it to get to completion (there are some problems in webkit around Ajax posts, also I have no time), it would be (it *is*) a blazing fast, REAL (i.e. real Safari) end-to-end web functional testing api in ruby, with no traffic going over any wires.  

http://github.com/sconover/schnauzer/tree/master

I&#039;m convinced it (or things like it) would change how we think about these testing problems in ways I can&#039;t predict right now.  I&#039;d love to get schnauzer working in full, maybe with webrat integration, with a simple api that other implementations (Chrome, FF) could conform to.  Sigh.</description>
		<content:encoded><![CDATA[<p>I happen to be on a project where we&#8217;re building an api at the moment, and we have a weird holy-grail situation &#8211; automated functional/acceptance tests that are FAST.  You&#8217;re right to call out speed as the problem.</p>
<p>It&#8217;s &#8220;weird&#8221; in that, from feature to feature, I&#8217;m not sure to what degree I ought to drive out code using just the functional tests.  They&#8217;re so fast they feel like unit tests.  You pay some price for only testing this way though: people expect Foo class to have a matching FooTest.</p>
<p>So I&#8217;ve been working on Schnauzer (not very actively, I&#8217;m ashamed to say).  Were it to get to completion (there are some problems in webkit around Ajax posts, also I have no time), it would be (it *is*) a blazing fast, REAL (i.e. real Safari) end-to-end web functional testing api in ruby, with no traffic going over any wires.  </p>
<p><a href="http://github.com/sconover/schnauzer/tree/master" rel="nofollow">http://github.com/sconover/schnauzer/tree/master</a></p>
<p>I&#8217;m convinced it (or things like it) would change how we think about these testing problems in ways I can&#8217;t predict right now.  I&#8217;d love to get schnauzer working in full, maybe with webrat integration, with a simple api that other implementations (Chrome, FF) could conform to.  Sigh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Heitzenroder</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-160</link>
		<dc:creator>Matt Heitzenroder</dc:creator>
		<pubDate>Wed, 08 Jul 2009 22:21:12 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-160</guid>
		<description>Thanks for stating the obvious... my comrade just did the same and makes a GREAT analogy of why testing is important. http://app.arat.us/blog/?p=159</description>
		<content:encoded><![CDATA[<p>Thanks for stating the obvious&#8230; my comrade just did the same and makes a GREAT analogy of why testing is important. <a href="http://app.arat.us/blog/?p=159" rel="nofollow">http://app.arat.us/blog/?p=159</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Helltime for July 6 &#171; I Built His Cage</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-152</link>
		<dc:creator>Helltime for July 6 &#171; I Built His Cage</dc:creator>
		<pubDate>Tue, 07 Jul 2009 01:38:42 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-152</guid>
		<description>[...] is the perfect place to address flammable jugs of kerosene such as Tim Sutherland taking a dump on unit testing. The Software Developers (K)ollaborative blogger launches:  The stem of the problem is that most [...]</description>
		<content:encoded><![CDATA[<p>[...] is the perfect place to address flammable jugs of kerosene such as Tim Sutherland taking a dump on unit testing. The Software Developers (K)ollaborative blogger launches:  The stem of the problem is that most [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jane</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-115</link>
		<dc:creator>jane</dc:creator>
		<pubDate>Thu, 02 Jul 2009 09:00:50 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-115</guid>
		<description>Chanced upon this site and was truly envious.
I work in an entirely different field and grew
up in the pre computer age. You guys may disagree strongly sometimes, but what fantastic professional development you are making the opportunity of. Fight on and grow!</description>
		<content:encoded><![CDATA[<p>Chanced upon this site and was truly envious.<br />
I work in an entirely different field and grew<br />
up in the pre computer age. You guys may disagree strongly sometimes, but what fantastic professional development you are making the opportunity of. Fight on and grow!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tungano</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-114</link>
		<dc:creator>Tungano</dc:creator>
		<pubDate>Wed, 01 Jul 2009 17:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-114</guid>
		<description>Quote from wikipedia:

&quot;Note that test-driven development is a software design method, not merely a method of testing.&quot;

Read into some of the argumentation around BDD. Various blog posts have take the position that TDD is about design, how it funnels developers into creating quality code and not about testing.

I am not saying TDD holds no value, I think it does. Comparing functional tests to TDD based unit testing is somewhat comparing apples to oranges though.</description>
		<content:encoded><![CDATA[<p>Quote from wikipedia:</p>
<p>&#8220;Note that test-driven development is a software design method, not merely a method of testing.&#8221;</p>
<p>Read into some of the argumentation around BDD. Various blog posts have take the position that TDD is about design, how it funnels developers into creating quality code and not about testing.</p>
<p>I am not saying TDD holds no value, I think it does. Comparing functional tests to TDD based unit testing is somewhat comparing apples to oranges though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick Bauman</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-113</link>
		<dc:creator>Nick Bauman</dc:creator>
		<pubDate>Wed, 01 Jul 2009 16:04:08 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-113</guid>
		<description>I completely apologize for my too polemic response. On balance I think we likely &quot;agree violently&quot; and sometimes the real problem is a kind of weird attachment to what is a &quot;unit test&quot; and what is an &quot;integration test&quot;.

Cheers,

Nick</description>
		<content:encoded><![CDATA[<p>I completely apologize for my too polemic response. On balance I think we likely &#8220;agree violently&#8221; and sometimes the real problem is a kind of weird attachment to what is a &#8220;unit test&#8221; and what is an &#8220;integration test&#8221;.</p>
<p>Cheers,</p>
<p>Nick</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elroy</title>
		<link>http://sdk.org.nz/2009/02/25/why-unit-testing-is-a-waste-of-time/comment-page-1/#comment-112</link>
		<dc:creator>Elroy</dc:creator>
		<pubDate>Wed, 01 Jul 2009 14:19:50 +0000</pubDate>
		<guid isPermaLink="false">http://devtim.wordpress.com/?p=8#comment-112</guid>
		<description>I know a couple of guys who think exactly like you. Their code works completely fine. But, you&#039;d rather commit suicide than maintain that code. It&#039;s B.S. 

That&#039;s where UT helps. Its cool to have a different opinion. Probably your work involves mundane stuff that is quite straightforward and does not require UT that much. Functional tests suffice in that case. But when you&#039;re talking about complex systems involving complex arithmetic and algorithms, proper UT can alone save you.

I&#039;m also sometimes of the opinion that you need not unit test each and every method. There are critical methods in your code that DEMAND unit testing. A method which is at least 10 lines long totally demands a unit test. And that&#039;s when you can be sure that you unit is working completely fine and you&#039;ve set a well defined contract with the method.</description>
		<content:encoded><![CDATA[<p>I know a couple of guys who think exactly like you. Their code works completely fine. But, you&#8217;d rather commit suicide than maintain that code. It&#8217;s B.S. </p>
<p>That&#8217;s where UT helps. Its cool to have a different opinion. Probably your work involves mundane stuff that is quite straightforward and does not require UT that much. Functional tests suffice in that case. But when you&#8217;re talking about complex systems involving complex arithmetic and algorithms, proper UT can alone save you.</p>
<p>I&#8217;m also sometimes of the opinion that you need not unit test each and every method. There are critical methods in your code that DEMAND unit testing. A method which is at least 10 lines long totally demands a unit test. And that&#8217;s when you can be sure that you unit is working completely fine and you&#8217;ve set a well defined contract with the method.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
