<?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>Object Mentor Blog: Scenario Tables for FitNesse</title>
    <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>Scenario Tables for FitNesse</title>
      <description>&lt;p&gt;Scenario Tables are a very powerful new feature of &lt;em&gt;FitNesse&lt;/em&gt;, allowing a whole new level of abstraction in the specification of tests.  Scenario tables can be used on any page that uses the &lt;em&gt;Slim&lt;/em&gt; test system.&lt;/p&gt;


	&lt;p&gt;One of the tests among the many acceptance tests for FitNesse itself ensures that certain operations require authentication.  For example, if you declare a page to be read-locked, then you should not be able to read that page unless you have logged in.&lt;/p&gt;


	&lt;p&gt;Here is an example of an old-style FitNesse test that ensures that you can not save a page that is write-locked unless you log in.&lt;/p&gt;


	&lt;p&gt;&lt;img src=http://butunclebob.com/files/images/AuthenticationScenarios/initialAuthenticationTest.gif width=100%&gt;&lt;/p&gt;


	&lt;p&gt;Notice the detailed, step by step, &lt;em&gt;programmerish&lt;/em&gt; nature of the test.  
1. It creates a user with a password.  
2. It creates a page that is write-locked.
3. It requests the page without any authentication and expects a 401.
4. It requests the page with bad authentication and expects a 401.
5. It requests the page with good authentication and expects a 303.&lt;/p&gt;


	&lt;p&gt;This test is not too hard to understand, and any good QA/BA ought to be able to grasp what it is doing.  But it is certainly circuitous and indirect.  Worse, this algorithm is repeated on a new page for each of fifteen other secure operations, creating a suite of very similar pages.  In other words, lots of &lt;em&gt;duplication&lt;/em&gt;.&lt;/p&gt;


	&lt;p&gt;In sweeping through the acceptance tests of FitNesse, I decided to use scenarios to simplify them.  My first attempt at this was to adopt a Given/When/Then (BDD) approach.  The same kind of approach that you might use with Cucumber of JBehave.&lt;/p&gt;


	&lt;p&gt;&lt;img src=http://butunclebob.com/files/images/AuthenticationScenarios/intermediateAuthenticationTest.gif width=70%&gt;&lt;/p&gt;


	&lt;p&gt;This test is much shorter, easier to read, and gets right to the point.  It&amp;#8217;s also much less &lt;em&gt;programmerish&lt;/em&gt; since it doesn&amp;#8217;t mention 401s or 303s.  I was able to accomplish this by creating a set of scenarios that look something like the ones below.  (They aren&amp;#8217;t the exact ones, but you get the idea.)&lt;/p&gt;


	&lt;p&gt;&lt;img src=http://butunclebob.com/files/images/AuthenticationScenarios/intermediateScenarios.gif width=100%&gt;&lt;/p&gt;


	&lt;p&gt;All the &lt;em&gt;programmerish&lt;/em&gt; stuff is hidden in the scenarios!  That&amp;#8217;s nice.  If you look closely at the scenarios and substitute them into the test, you can see that the whole test simply turns into something very much like the original test.&lt;/p&gt;


	&lt;p&gt;Though this is better, we still have a lot of similar pages. The duplication has not been removed.&lt;/p&gt;


	&lt;p&gt;So then I added a third level of indirection.  This one solves all the problems.&lt;/p&gt;


	&lt;p&gt;&lt;img src=http://butunclebob.com/files/images/AuthenticationScenarios/finalAuthenticationTest.gif width=60%&gt;&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s hard to imagine a simpler test than this.  Instead of a suite of sixteen different tests, I have one single test.  The scenario is simply executed once of reach row of the &amp;#8220;Operation is authenticated&amp;#8221; table.&lt;/p&gt;


	&lt;p&gt;Here are the scenarios that allowed me to do this.&lt;/p&gt;


	&lt;p&gt;&lt;img src=http://butunclebob.com/files/images/AuthenticationScenarios/finalScenarios.gif width=100%&gt;&lt;/p&gt;


	&lt;p&gt;Once again, if you simply replace the scenarios in each row of the table, you&amp;#8217;ll wind up with sixteen tests that look a lot like the original test.  But now they are very direct, absurdly simple to read, and are virtually free of &lt;em&gt;programmerish&lt;/em&gt; gobblety-gook.&lt;/p&gt;


	&lt;p&gt;Critics may rightly point out that you can get the same results by simply writing a &lt;em&gt;ColumnFixture&lt;/em&gt; that interprets the final table.  True, but then you put the burden of test-abstraction on the programmers.  What is interesting about the scenario approach is that I was able to reduce the &lt;em&gt;programmerish&lt;/em&gt; and highly duplicated tests into a single simple test table &lt;em&gt;without writing any new fixtures&lt;/em&gt;!&lt;/p&gt;


	&lt;p&gt;In other words, programmers can supply a set of APIs, in the form of fixtures, and then competent test engineers can shape the tests appropriately with scenario tables that eventually call the low level fixture APIs while keeping the tests readable and free of duplication.&lt;/p&gt;</description>
      <pubDate>Tue, 04 Aug 2009 15:00:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:1c68a78e-b297-4c81-b6d4-2321e492d902</guid>
      <author>Uncle Bob</author>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse</link>
      <category>Uncle Bob's Blatherings</category>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Discount Louboutin Shoes</title>
      <description>&lt;p&gt;Every women always has Christian Louboutins Wedding Shoes turn of fame but it also has its own goodbyes.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Jan 2012 20:31:21 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:7033eed9-5ed8-4290-98f8-49b8116221fb</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-197169</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Womens Moncler Jackets</title>
      <description>&lt;p&gt;Everyone should have a Mens Moncler Jackets as it is the best outwear against the cold season and is also comfortable and light to wear.&lt;/p&gt;</description>
      <pubDate>Mon, 02 Jan 2012 03:27:17 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:8f0017b8-ca6d-4abe-9c41-05bf78028d4c</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-194246</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by gianmarco lorenzi</title>
      <description>&lt;p&gt;or walk, t&lt;/p&gt;</description>
      <pubDate>Sun, 01 Jan 2012 21:03:49 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:6b5d947b-2b48-41dd-b3c6-739ca4417022</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-194068</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by north face khumbu</title>
      <description>&lt;p&gt;This article is impressive,I hope that you will continue doing nice article like this.&lt;/p&gt;</description>
      <pubDate>Sat, 24 Dec 2011 07:35:51 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:8cd5e30b-ae4c-4ba6-928c-830056c32cd6</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-191274</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by hair supplies</title>
      <description>&lt;p&gt;like that much&lt;/p&gt;</description>
      <pubDate>Thu, 22 Dec 2011 08:45:19 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:722ca579-2dc6-454f-bde8-a05c73a451de</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-190438</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by hair suppliers</title>
      <description>&lt;p&gt;design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Thu, 22 Dec 2011 08:44:06 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:4f2265a7-4f3d-4864-b056-7f81caf35751</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-190437</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Detective Philippines</title>
      <description>&lt;p&gt;Scenario Tables are indeed a very powerful new feature of FitNesse&lt;/p&gt;</description>
      <pubDate>Fri, 25 Nov 2011 08:01:54 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:9763392b-bd67-4735-9ead-79d28f42fe40</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-178065</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by immigration New Zealand</title>
      <description>&lt;p&gt;I really enjoyed your blog. I just bookmarked it. I am a regular visitor of your website I will share It with my friends .Thanks.&lt;/p&gt;</description>
      <pubDate>Tue, 15 Nov 2011 01:55:09 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:aa8cffea-2fa4-493f-b5af-38fe2915bbad</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-172950</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by christian louboutin</title>
      <description>&lt;p&gt;The professional design make you foot more comfortable. Even more tantalizing,this pattern make your legs look as long as you can,it will make you looked more attractive.Moveover,it has reasonable price.If you are a popular woman,do not miss it.&lt;/p&gt;


	&lt;p&gt;Technical details of Christian Louboutin Velours Scrunch Suede Boots Coffee:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;Color: Coffee
Material: Suede
4(100mm) heel
Signature red sole x&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Fashion, delicate, luxurious Christian louboutins shoes on sale, one of its series is Christian Louboutin Tall Boots, is urbanism collocation. This Christian louboutins shoes design makes people new and refreshing. Red soles shoes is personality, your charm will be wonderful performance.&lt;/p&gt;</description>
      <pubDate>Wed, 09 Nov 2011 09:04:52 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a1f35008-97a8-476d-8140-9a7f0c65848c</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-170594</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Tips For Bowling</title>
      <description>&lt;p&gt;Greetings! This is my 1st comment here so I just wanted to give a quick shout out and tell you I really enjoy reading through your blog posts.&lt;/p&gt;</description>
      <pubDate>Tue, 18 Oct 2011 12:12:26 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3419b4f5-bb53-465d-9607-36fdb5844881</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-159086</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by bagsupplyer</title>
      <description>&lt;p&gt;I really enjoy your articles. Very well written. &lt;a href="http://www.bagsupplyer.com/Backpacks-s1212/" rel="nofollow"&gt;wholesale brand women replicate backpacks more order,more discount&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 06 Sep 2011 03:56:53 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:092321af-1b8d-4bf4-83e7-fdc0f538117d</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-137418</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by beats by dre store</title>
      <description>&lt;p&gt;s or guestbook to make my website appear in search engine.&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;high quality headphones&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;new design headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 03:17:51 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:441d422e-dc47-4379-b0b6-71d9f93de4e7</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-131671</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by John Doe</title>
      <description>&lt;p&gt;It&#8217;s so hard to get backlinks these days, honestly i need a backlink by comments on your blog / forums or guestbook to make my website appear in search engine. I am getting desperate Now! I know you&#8217;ll laugh while reading this comment !!! Here is my website &lt;a href="http://cileungsi.net" rel="nofollow"&gt;Cileungsi&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 21 Aug 2011 08:34:59 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3d9fd6dc-b59d-4320-87f3-58e0ada71153</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-130298</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by provillus</title>
      <description>&lt;p&gt;Blog posts about wedding and bridal are always rare to find , at least with great quality,you qualify for a great blog post writer title,kep the great job happening&lt;/p&gt;</description>
      <pubDate>Thu, 28 Jul 2011 16:50:17 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:9e974522-7e37-44d1-8fc0-2d19dfae779b</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-121450</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Logo Design Competition</title>
      <description>&lt;p&gt;Nicely explained. It&amp;#8217;s indeed an art to stop new visitors with your attractive writing style. Truly impressive and nice information. Thanks for sharing.&lt;/p&gt;</description>
      <pubDate>Mon, 25 Jul 2011 15:04:08 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f0ab24cd-52c7-4fc2-b346-d221bc0b44fe</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-120085</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by koko</title>
      <description>&lt;p&gt;grateful to get discovered the webpage and appear ahead to a lot of additional entertaining moments reading right here.&lt;/p&gt;</description>
      <pubDate>Fri, 08 Jul 2011 06:16:05 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:0e07af69-886f-4dd0-a0d9-12f2201f98f6</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-116260</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by san antonio dentist</title>
      <description>&lt;p&gt;I have already gone through your article and it is really understandable and informative.I would say it is great work.&lt;/p&gt;</description>
      <pubDate>Thu, 07 Jul 2011 01:11:42 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:8a4a155a-2a5e-4fc0-b7f4-7bec62c8a54d</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-115574</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Cookies Gift</title>
      <description>&lt;p&gt;Blog posts about wedding and bridal are always rare to find , at least with great quality,you qualify for a great blog post writer title,kep the great job happening&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 12:05:23 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:df193493-c345-4e0c-a70b-06b3b66a640a</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-112565</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by graham texas</title>
      <description>&lt;p&gt;I definitely desired to deliver a quick concept to thank you for the nice tips and hints you&#8217;re posting on this website. My time-consuming internet appear up has now been rewarded with helpful strategies to exchange with my family and friends. I ?d claim that we readers fact are truly blessed to dwell in a helpful community with incredibly some great individuals with insightful points. I really feel really grateful to get discovered the webpage and appear ahead to a lot of additional entertaining moments reading right here. Thanks a good deal again for a good deal of things.&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 03:48:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:874cc7e6-1410-42bf-97b4-6588a4490342</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-112383</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by graham texas</title>
      <description>&lt;p&gt;Really impressed! Everything is very open and very clear explanation of issues. It contains truly information. Your website is very useful. Big buddy in the picture.Thanks for sharing. Looking forward to more!&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 03:45:49 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f97b8c82-1e77-4ac0-84e0-2a27f8ed00c5</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-112382</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by graham texas</title>
      <description>&lt;p&gt;It is nice to find a site about my interest. My first visit to your site is been a big help. Thank you for the efforts you been putting on making your site such an interesting and informative place to browse through. I&amp;#8217;ll be visiting your site again to gather some more valuable information. You truly did a good job.&lt;strong&gt;&lt;a href="http://www.grahamlocal.com" rel="nofollow"&gt;graham texas&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 19 Jun 2011 03:42:27 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4bd3a74d-a42d-45bd-ab04-71e0aa757a5b</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-112380</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by houston dentist</title>
      <description>&lt;p&gt;Scenario Tables for FitNesse is the topics which is focused on that article.Thanks to Bob for his work.&lt;/p&gt;</description>
      <pubDate>Fri, 17 Jun 2011 05:47:01 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:514b7046-f086-4d86-ac09-60661f8a2089</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-111716</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by San Diego Attorney</title>
      <description>&lt;p&gt;Nice blog.The article is well written.Learn a lot from blog.I would like to appreciate your work.&lt;/p&gt;</description>
      <pubDate>Wed, 15 Jun 2011 10:21:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:700832af-3b9e-4072-b9a6-1ee8e53861e6</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-111159</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Jewellery</title>
      <description>&lt;p&gt;Online UK costume and fashion jewellery shop with,
g&lt;/p&gt;</description>
      <pubDate>Mon, 06 Jun 2011 00:48:35 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d9da429f-de2f-41bb-80ac-ad23b06635b7</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-108449</link>
    </item>
    <item>
      <title>"Scenario Tables for FitNesse" by Golf Simulators</title>
      <description>&lt;p&gt;Its is good but a bit complex if you want to modify it in a different way.&lt;/p&gt;</description>
      <pubDate>Fri, 27 May 2011 01:18:05 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:315c92e3-038e-4fdf-9df9-cc8757a1c7ec</guid>
      <link>http://blog.objectmentor.com/articles/2009/08/04/scenario-tables-for-fitnesse#comment-103704</link>
    </item>
  </channel>
</rss>

