<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steve Freeman &#187; Book</title>
	<atom:link href="http://www.higherorderlogic.com/category/things-to-do-with-work/book/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.higherorderlogic.com</link>
	<description>Working software daily</description>
	<lastBuildDate>Mon, 24 Oct 2011 20:24:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Responding to Brian Marick</title>
		<link>http://www.higherorderlogic.com/2010/01/responding-to-brian-marick/</link>
		<comments>http://www.higherorderlogic.com/2010/01/responding-to-brian-marick/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 22:10:39 +0000</pubDate>
		<dc:creator>steve.freeman</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Book]]></category>
		<category><![CDATA[Test-Driven]]></category>

		<guid isPermaLink="false">http://www.m3p.co.uk/?p=385</guid>
		<description><![CDATA[Brian&#8217;s been paying us the compliment of taking our book seriously and working through our extended example, translating it to Ruby. He has a point of contention in that he&#8217;s doubtful about the value of our end-to-end tests. To be more precise, he&#8217;s doubtful about the value of our automated end-to-end tests, a view shared [...]]]></description>
			<content:encoded><![CDATA[<p>Brian&#8217;s been paying us the compliment of taking <a href="http://www.growing-object-oriented-software.com/">our book</a> seriously and working through our extended example, translating it to Ruby. </p>

<p>He has a <a href="http://www.exampler.com/blog/2010/01/08/some-preliminary-thoughts-on-end-to-end-testing-in-growing-object-oriented-software/">point of contention</a> in that he&#8217;s doubtful about the value of our end-to-end tests. To be more precise, he&#8217;s doubtful about the value of our <em>automated</em> end-to-end tests, a view shared by <a href="http://www.jbrains.ca/integration_tests_are_a_scam"><span class="caps">J.B.R</span>ainsberger</a>, and <a href="http://agile2009.agilealliance.org/node/1010">Arlo Belshee and Jim Shore</a>. That&#8217;s a pretty serious group. I think the answer, as always, is &ldquo;it depends&rdquo;. </p>

<p>There are real advantages to writing automated end-to-end tests. As Nat pointed out in <a href="http://groups.google.com/group/growing-object-oriented-software/browse_thread/thread/5525c6acdd143be6">an extended message</a> to the mailing list for the book, </p>

<blockquote>Most significantly to me, however, is the difference between &#8220;testing&#8221; end-to-end or through the <span class="caps">GUI </span>and &#8220;test-driving&#8221;. A lot of people who are evangelical about <span class="caps">TDD </span>for coding do not use end-to-end tests for driving design at the system scale. I have found that writing tests gives useful design feedback, no matter what the scale.</blockquote>

<p>For example, during Arlo and Jim&#8217;s session, I was struck by how many of the &ldquo;failure stories&rdquo; described situations where the acceptance tests were actually doing their job: revealing problems (such as deployment difficulties) that needed to be fixed.</p>

<p>Automating an end-to-end test helps me think more carefully about what <em>exactly</em> I care about in the next feature.  Automating tests for many features encourages me to work out a language to describe them, which clarifies how I describe the system and makes new features easier to test.</p>

<p>And then there&#8217;s scale. Pretty much anything will work for a small system (although Alan Shalloway <a href="http://www.netobjectives.com/blogs/smart-people-xp-scrum-is-there-a-pattern">has a story</a> about how even a quick demonstrator project can get out of hand). For larger systems, things get complicated, people come and go, and the team isn&#8217;t quite as confident as it needs to be about where things are connected. Perhaps these are symptoms of weaknesses in the team culture, but it seems wasteful to me to take the design experience we gained while writing the features not encode it somewhere.</p>

<p>Of course this comes at a price. Effective end-to-end tests take skill, experience, and (most important) commitment. Not every system I&#8217;ve seen has been programmed by people who are as rigorous as Nat about making the test code expressive or allowing testing to drive the design. Worse, a large collection of badly written end-to-end tests (a pattern I&#8217;ve seen a few times) is a huge drag on development. Is that price worth paying? It (ahem) depends, and part of the skill is in finding the right places to test.</p>

<p>So, let me turn Brian&#8217;s final question around. What would it take to make automated end-to-end tests less scary?</p>]]></content:encoded>
			<wfw:commentRss>http://www.higherorderlogic.com/2010/01/responding-to-brian-marick/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Mugged Liberal</title>
		<link>http://www.higherorderlogic.com/2009/10/a-mugged-liberal/</link>
		<comments>http://www.higherorderlogic.com/2009/10/a-mugged-liberal/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 10:01:44 +0000</pubDate>
		<dc:creator>steve.freeman</dc:creator>
				<category><![CDATA[Book]]></category>
		<category><![CDATA[Grumpy Old Man]]></category>

		<guid isPermaLink="false">http://www.m3p.co.uk/?p=307</guid>
		<description><![CDATA[A Liberal is a Conservative Who Hasn&#8217;t Been Mugged I discover that our book Growing Object-Oriented Software, Guided by Tests is already up with the file sharers. This is before Nat and I have even seen a printed copy. I don&#8217;t know whether to be flattered that someone thinks our effort is worth pinching or [...]]]></description>
			<content:encoded><![CDATA[<blockquote>A Liberal is a Conservative Who Hasn&#8217;t Been Mugged</blockquote>

<p>I discover that our book <a href="http://www.growing-object-oriented-software.com/">Growing Object-Oriented Software, Guided by Tests</a> is already up with the file sharers. This is before Nat and I have even seen a printed copy. I don&#8217;t know whether to be flattered that someone thinks our effort is worth pinching or annoyed that the production process has not protected our interests.</p>

<p>If you&#8217;ve downloaded a copy, remember that it took us three years to write, which includes a great deal of lost income. The least you can do is tell the world how good it is so that maybe we sell a few more copies.</p>]]></content:encoded>
			<wfw:commentRss>http://www.higherorderlogic.com/2009/10/a-mugged-liberal/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

