<?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>Extra Thimian &#187; User story</title>
	<atom:link href="http://blog.thimian.com/category/user-story/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.thimian.com</link>
	<description>Suddenly Fiction</description>
	<lastBuildDate>Sun, 14 Feb 2010 04:03:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>It&#8217;s not plain text, okay?</title>
		<link>http://blog.thimian.com/2009/02/21/its-not-plain-text-okay/</link>
		<comments>http://blog.thimian.com/2009/02/21/its-not-plain-text-okay/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 00:26:54 +0000</pubDate>
		<dc:creator>Phill</dc:creator>
				<category><![CDATA[Development Tools]]></category>
		<category><![CDATA[English Language Posts]]></category>
		<category><![CDATA[Rantings]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[User story]]></category>
		<category><![CDATA[[R|T]DD]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://blog.thimian.com/?p=82</guid>
		<description><![CDATA[I just read an article about a testing framework called &#8220;Cucumber&#8221; (In moments like this I hate the creativity of the Ruby community. Explain this to your boss, sometime..), on the Giant Robots Smashing into Giant Robots blog.
The article, which is un-surprising good in the technical aspect, claimed that the testing framework is able to [...]]]></description>
			<content:encoded><![CDATA[<p>I just read an article about a testing framework called &#8220;<a title="Cucumber website" href="http://cukes.info/">Cucumber</a>&#8221; (In moments like this I hate the creativity of the <a class="zem_slink" title="Ruby (programming language)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29">Ruby</a> community. Explain this to your boss, sometime..), on the <a title="Mixing Cucumber with Test::Unit/Shoulda" href="http://giantrobots.thoughtbot.com/2009/2/20/mixing-cucumber-with-test-unit" target="_self">Giant Robots Smashing into Giant Robots</a> blog.</p>
<p>The article, which is un-surprising good in the technical aspect, claimed that the testing framework is able to process your testing scenario in plain text, from the user&#8217;s perspective. Without having looked at Cucumber: This is wrong.</p>
<p>&#8220;But wait,&#8221; you say, &#8220;you haven&#8217;t looked at Cucumber.&#8221; True. However, I bet you dollars to donoughts, that, just as with <a class="zem_slink" title="RSpec" rel="wikipedia" href="http://en.wikipedia.org/wiki/RSpec">RSpec</a>, Shoulda, and any other testing frame work, you&#8217;ll have to learn a vocabulary to express your thoughts, so that the tool understands what you want. Just because computers can&#8217;t do natural language processing. Yet, anyway.</p>
<p>Let&#8217;s stop misleading ourselves, in implying that &#8220;plain text&#8221; means &#8220;natural and intuitive&#8221;. It isn&#8217;t. If I wouldn&#8217;t know that Cucumber is doing <a class="zem_slink" title="Behavior Driven Development" rel="wikipedia" href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">Behavior Driven Development</a>, I&#8217;d have no idea what &#8220;Given a&#8230;&#8221; meant in this context.</p>
<p>For us humans, text needs context, and that has to be provided somehow. This is even worse with computers: We can derive context from content, computers are too stupid to do that. Accordingly, Cucumber needs you to write the test parser (judging by the most curious look I gave it. It&#8217;s probably just fine tuning the actual testing and mock ups). Using Regular Expressions, too (just to add insult to injury <img src='http://blog.thimian.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>How about we call &#8220;plain text&#8221; and similar things &#8220;understandable&#8221;, instead? After all, while these tools don&#8217;t live up to what is implied, they are able to make a key point of (agile) development accessible to the most important stakeholder: The customer, while giving us, the developers, a basic template for sanity checks. This is more than important, it is an absolute necessity for our survival as business entities, and in part even as hobbyists! Cucumber&#8217;s BDD tests probably don&#8217;t need an understanding of the programming language you happen to use, but abstract this away, since it is, in general, not needed at this stage.</p>
<p>Just remember <a title="Joel on Software: The Law of Leaky Abstractions" href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html" target="_self">The Law of Leaky Abstractions</a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/0d3a9796-7bcc-4240-91b6-d26207e8eed6/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=0d3a9796-7bcc-4240-91b6-d26207e8eed6" alt="Reblog this post [with Zemanta]" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.thimian.com/2009/02/21/its-not-plain-text-okay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.389 seconds -->
