<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Segment7: BDD vs. TDD</title>
    <link>http://blog.segment7.net/articles/2006/04/24/bdd-vs-tdd</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>The Blog</description>
    <item>
      <title>BDD vs. TDD</title>
      <description>&lt;p&gt;At both Canada on Rails and the Silicon Valley Ruby Conference I watched talks on Behavior Driven Development with &lt;a href="http://rspec.rubyforge.org/"&gt;RSpec&lt;/a&gt;, the former given by &lt;a href="http://blog.daveastels.com/"&gt;Dave Astels&lt;/a&gt; and the latter by &lt;a href="http://blog.lavalamp.ca/"&gt;Steven Baker&lt;/a&gt;.  At &lt;span class="caps"&gt;SVRC&lt;/span&gt; one person asked why we need a new testing framework and Steven replied that &lt;span class="caps"&gt;BDD&lt;/span&gt; changes the way you think about &lt;span class="caps"&gt;TDD&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;As I gained experience with &lt;span class="caps"&gt;TDD&lt;/span&gt; my failing test cases expressed the next piece of behavior I wanted my object to have.  Learning how to do this took me about a year because I didn&amp;#8217;t know how to think properly.  &lt;span class="caps"&gt;BDD&lt;/span&gt; is designed to get you to think correctly about what you are testing, but it is hard to communicate how you should think about writing code.&lt;/p&gt;


	&lt;p&gt;With Test::Unit it is too easy to run off chasing edge cases that typically aren&amp;#8217;t important.  I did this back when I was new to testing and ended up with big, ugly tests that didn&amp;#8217;t make my development much better.  RSpec discourages edge-case chasing by expressing the tests at a higher level.&lt;/p&gt;


	&lt;p&gt;I think the only thing missing from the two presentations was a set of slides that show a small session of &lt;span class="caps"&gt;BDD&lt;/span&gt; like Steven displayed on classic &lt;span class="caps"&gt;TDD&lt;/span&gt; at Canada on Rails.  The examples on the RSpec page are fully formed, so you can&amp;#8217;t see the specification develop over time along with the code.&lt;/p&gt;
</description>
      <pubDate>Mon, 24 Apr 2006 20:41:55 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:ad14b74f-50ab-4a99-8655-325c8d7c6201</guid>
      <author>drbrain@segment7.net (Eric Hodel)</author>
      <link>http://blog.segment7.net/articles/2006/04/24/bdd-vs-tdd</link>
      <category>Testing</category>
    </item>
    <item>
      <title>"BDD vs. TDD" by Pat Eyler</title>
      <description>&lt;p&gt;Cool!   Sean and I are looking at converting checkr over to BDD, Sean&amp;#8217;s got a list of reasons that I think he should blog about.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m doing some playing to get my mind around RSpec right now.&lt;/p&gt;</description>
      <pubDate>Wed, 26 Apr 2006 20:43:52 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:e59c4a72-e592-4be3-a9aa-98118a779d32</guid>
      <link>http://blog.segment7.net/articles/2006/04/24/bdd-vs-tdd#comment-223</link>
    </item>
    <item>
      <title>"BDD vs. TDD" by Eric Hodel</title>
      <description>&lt;p&gt;Absolutely!  We&amp;#8217;ve been talking with Steven about adding RSpec support to ZenTest&amp;#8217;s toolkit.&lt;/p&gt;</description>
      <pubDate>Tue, 25 Apr 2006 19:35:20 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:f803e31d-378e-4fe7-94b8-e0ef051715ad</guid>
      <link>http://blog.segment7.net/articles/2006/04/24/bdd-vs-tdd#comment-217</link>
    </item>
    <item>
      <title>"BDD vs. TDD" by reza</title>
      <description>&lt;p&gt;So, do you plan to add BDD in ZenTest?&lt;/p&gt;</description>
      <pubDate>Tue, 25 Apr 2006 19:24:15 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:27c27308-d828-4ee4-ace5-bf3ee8ddf4c4</guid>
      <link>http://blog.segment7.net/articles/2006/04/24/bdd-vs-tdd#comment-216</link>
    </item>
  </channel>
</rss>
