<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Microserf &#187; Test-Driven Development</title>
	<atom:link href="http://microserf.wordpress.com/category/test-driven-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://microserf.wordpress.com</link>
	<description>A humble student of the art of software development</description>
	<lastBuildDate>Mon, 14 Dec 2009 16:22:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='microserf.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/aa8c6dcecdda70a9cb0f44c69df02492?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Microserf &#187; Test-Driven Development</title>
		<link>http://microserf.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://microserf.wordpress.com/osd.xml" title="Microserf" />
		<item>
		<title>Agile conferences in Sweden and Norway</title>
		<link>http://microserf.wordpress.com/2008/03/19/agile-conferences-in-sweden-and-norway/</link>
		<comments>http://microserf.wordpress.com/2008/03/19/agile-conferences-in-sweden-and-norway/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 07:47:22 +0000</pubDate>
		<dc:creator>microserf</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Behavior-Driven Development]]></category>
		<category><![CDATA[Test-Driven Development]]></category>

		<guid isPermaLink="false">http://microserf.wordpress.com/?p=64</guid>
		<description><![CDATA[Yes, this is just an echo post&#8230; but I found it so exciting that I just had to write about it. 
I&#8217;m a member of the Agile Sweden mailing list, and today an interesting electronic letter arrived. There&#8217;s going to be an agile conference in Stockholm in the beginning of June, called Agila Sverige. It&#8217;s inspired by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=64&subd=microserf&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yes, this is just an echo post&#8230; but I found it so exciting that I just had to write about it. </p>
<p>I&#8217;m a member of the <a href="http://www.agilesweden.org/">Agile Sweden </a>mailing list, and today an interesting electronic letter arrived. There&#8217;s going to be an agile conference in Stockholm in the beginning of June, called <a href="http://agilasverige.se/">Agila Sverige</a>. It&#8217;s inspired by the norwegian initiative <a href="http://smidig.no/smidig2007">Smidig 2007</a>, which focused on <em>lightning talks</em> (a presentation being at most 10 minutes long) and open space discussions. It&#8217;s also super cheap, hopefully I can go.</p>
<p><a href="http://smidig.no/smidig2007/talks/37">I recommend you to watch one of the lightning talks</a> from Smidig last year, given by the swedish <a href="http://niclasnilsson.se/">Niclas Nilsson </a>of <a href="http://factor10.com/">factor10</a> on the meaning of words when you&#8217;re dealing with TDD/BDD. You can find more videos at the <a href="http://smidig.no/smidig2007">Smidig site</a>, and they&#8217;re all released under the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-Share Alike license</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/microserf.wordpress.com/64/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/microserf.wordpress.com/64/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/microserf.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/microserf.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/microserf.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/microserf.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/microserf.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/microserf.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/microserf.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/microserf.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/microserf.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/microserf.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=64&subd=microserf&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://microserf.wordpress.com/2008/03/19/agile-conferences-in-sweden-and-norway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd36ec7f184adfb371f9738da5b53e6d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">microserf</media:title>
		</media:content>
	</item>
		<item>
		<title>Behavior-Driven Development</title>
		<link>http://microserf.wordpress.com/2007/11/23/behavior-driven-development/</link>
		<comments>http://microserf.wordpress.com/2007/11/23/behavior-driven-development/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 07:09:40 +0000</pubDate>
		<dc:creator>microserf</dc:creator>
				<category><![CDATA[Behavior-Driven Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Test-Driven Development]]></category>

		<guid isPermaLink="false">http://microserf.wordpress.com/2007/11/23/behavior-driven-development/</guid>
		<description><![CDATA[I&#8217;ve started looking at Behavior-Driven Development (BDD) and more specifically RSpec for Ruby. BDD is an evolution of Test-Driven Development (TDD) which aims to make developers look at it from another perspective and not regard it as testing in a sense. So it&#8217;s more of a new way of expressing your intent rather than an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=48&subd=microserf&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve started looking at Behavior-Driven Development (BDD) and more specifically <a href="http://rspec.rubyforge.org/">RSpec</a> for Ruby. BDD is an evolution of Test-Driven Development (TDD) which aims to make developers look at it from another perspective and not regard it as testing in a sense. So it&#8217;s more of a new way of expressing your intent rather than an entirely new approach to tests (or <em>specs</em> as the BDD community calls it).</p>
<p>You divide your code into small pieces of behavior, rather than the more abstract term <em>units</em> and write what it should do.</p>
<p>Here are two examples of the difference:</p>
<table style="border-collapse:collapse;" border="0">
<tr style="background:#d9d9d9 none repeat scroll 0 50%;">
<td style="border:0.5pt solid black;padding-left:7px;padding-right:7px;"><strong>NUnit (C#)</strong></td>
<td style="padding-left:7px;padding-right:7px;border-color:black black black #000000;border-style:solid solid solid none;border-width:0.5pt 0.5pt 0.5pt medium;"><strong>RSpec</strong></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-color:#000000 black black;border-style:none solid solid;border-width:medium 0.5pt 0.5pt;">Assert.AreEqual(<em>expected</em>, <em>actual</em>)</td>
<td style="padding-left:7px;padding-right:7px;border-style:none solid solid none;border-width:medium 0.5pt 0.5pt medium;"><em>actual</em>.should equal <em>expected</em></td>
</tr>
<tr>
<td style="padding-left:7px;padding-right:7px;border-color:#000000 black black;border-style:none solid solid;border-width:medium 0.5pt 0.5pt;">Assert.IsTrue(<em>bool</em>)</td>
<td style="padding-left:7px;padding-right:7px;border-style:none solid solid none;border-width:medium 0.5pt 0.5pt medium;"><em>Bool</em>.should be_true</td>
</tr>
</table>
<p><em>Edit: I tried pasting some code I&#8217;d written here, but the wordpress editor sucks when it comes to formatting code. But you can find great examples <a href="http://rspec.rubyforge.org/documentation/index.html">here</a> and <a href="http://www.oreillynet.com/pub/a/ruby/2007/08/09/behavior-driven-development-using-ruby-part-1.html">here</a>.</em></p>
<p>I just watched a <a href="http://video.google.com/videoplay?docid=8135690990081075324">video</a> where <a href="http://daveastels.com/">Dave Astels</a> (one of the guys behind RSpec) explains why you should take a look at BDD if you&#8217;re into TDD. To quote him: &#8220;Behaviour Driven Development is what you were doing already if you were doing Test Driven Development very well&#8221;. You can also read his PDF <a href="http://blog.daveastels.com/files/BDD_Intro.pdf">A new look at test-driven development</a> (8 pages) where he explains his views and why too few people &#8220;really understand what it&#8217;s really about. That means that many people who practice TDD are not getting the full benefit from it&#8221;.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/microserf.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/microserf.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/microserf.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/microserf.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/microserf.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/microserf.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/microserf.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/microserf.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/microserf.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/microserf.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/microserf.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/microserf.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=48&subd=microserf&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://microserf.wordpress.com/2007/11/23/behavior-driven-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd36ec7f184adfb371f9738da5b53e6d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">microserf</media:title>
		</media:content>
	</item>
		<item>
		<title>Learning Ruby through unit testing</title>
		<link>http://microserf.wordpress.com/2007/11/06/learning-ruby-through-unit-testing/</link>
		<comments>http://microserf.wordpress.com/2007/11/06/learning-ruby-through-unit-testing/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 16:21:38 +0000</pubDate>
		<dc:creator>microserf</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Test-Driven Development]]></category>

		<guid isPermaLink="false">http://microserf.wordpress.com/2007/11/06/learning-ruby-through-unit-testing/</guid>
		<description><![CDATA[Oh yeah, my Ruby skills are progressing much slower than I&#8217;d like. But I&#8217;ve found a cool little text that explains how the author learned Ruby through unit tests. That&#8217;s pretty cool, and sound just as backwards-yet-making-a-hell-of-a-lot-of-sense as test-driven development. Using the language to learn the language, fun-kee!
So I&#8217;m currently reading a little in Programming [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=45&subd=microserf&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Oh yeah, my Ruby skills are progressing much slower than I&#8217;d like. But I&#8217;ve found <a href="http://ruby.about.com/gi/dynamic/offsite.htm?zi=1/XJ&amp;sdn=ruby&amp;zu=http%3A%2F%2Fclarkware.com%2Fcgi%2Fblosxom%2F2005%2F03%2F18">a cool little text</a> that explains how the author learned Ruby through unit tests. That&#8217;s pretty cool, and sound just as backwards-yet-making-a-hell-of-a-lot-of-sense as <a href="http://en.wikipedia.org/wiki/Test-driven_development">test-driven development</a>. Using the language to learn the language, fun-kee!</p>
<p>So I&#8217;m currently reading a little in <a href="http://www.rubycentral.com/pickaxe/">Programming Ruby</a> and testing my way through the framework. Thank God/Buddha/Vishnu etc. that I don&#8217;t have a PC at home (just a white apple), so it&#8217;s much more difficult for me to revert to ASP.NET when the new language becomes too complicated.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/microserf.wordpress.com/45/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/microserf.wordpress.com/45/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/microserf.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/microserf.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/microserf.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/microserf.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/microserf.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/microserf.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/microserf.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/microserf.wordpress.com/45/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/microserf.wordpress.com/45/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/microserf.wordpress.com/45/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=microserf.wordpress.com&blog=488283&post=45&subd=microserf&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://microserf.wordpress.com/2007/11/06/learning-ruby-through-unit-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bd36ec7f184adfb371f9738da5b53e6d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">microserf</media:title>
		</media:content>
	</item>
	</channel>
</rss>