Ian Cooper

Sponsors

The Lounge

Advertisement

Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Fitnesse and the 3-way meeting

Jeremy posts in his blog about his replacement for StoryTeller about the pain of FIT based tools. We have been using Fitnesse on the current project and while there has certainly been pain, I think that the pain has been that all tests experience when they start to run the system end-to-end. Suddenly all those technology framework concerns we eliminated in TDD so that we could just focus on testing our domain model, come back into play. Once again we are dealing with setting up and tearing down databases, touching the file system etc.

Our decision to use Fitnesse on this project came from two forces. First was the general lack of satisfaction with our functional testing process. Up to now functional testing had been a combination of xUnit integration tests, custom built tools, and manual testing. Previous attempts with FIT has always drawn a blank. The result was that 'release hardening' took a lot longer than we would desire and smelt of waterfall style testing phases. Second, we wanted to have a better way to communicate the acceptance criteria for the story from the users to BAs, testers and developers such that we were doing story test driven development  or customer test driven development and pushing our code from the agreed acceptance criteria.

We got a real lift in this direction from Gojko Adzic. Gojko spoke for us at London .NET User Group. I got answers to a lot of the fixture issues I had had with FIT.  After that talk I read through Gojko's book on Fitnesse, which reinforced and clarified the message, and was re-enthused by this tool. It's far from perfect,  roll on better tools from Jeremy, but it does give us the placeholder for the story acceptance criteria to drive development.

Like everything it is taking a while for us to refine our use of Fitnesse. One key change for us came from internal conversations and discussions with Gojko - the idea of a three-way meeting. Gojko came in to deliver this presentation at my current outfit (worth watching the video) which explains his thinking. To give my understanding of Gojko's point: the important part of using a tool like Fitnesse for story test driven development is the communication that occurs between customer and implementers. In a case where you may have customer -> BA -> developer -> tester in the mix, the potential for lossy information transfer and misunderstandings is large. Remember the classic swing cartoon? While agile provides some relief by making sure that requirements->development->testing all happen together, thus shortening the feedback loop that leads to failed requirements intepretation, simple 'transcription' errors between people can lead to issues. By getting everyone to review an executable form of the specification then the possiblity of one of us going astray is far less. To facilitate this we now begin work on any story within the iteration with a three-way meeting between BA->developer->tester to ensure that everyone agrees on what the acceptance criteria for the story are. Of course if there are more stakeholders, you may need to increase the size of this meeting. The Fitnesse test becomes a record of that conversation that everyone involved can check, but in many ways the fact that using a tool like Fitnesse forces us to have the conversation and reach agreement may be as important as the result - the excutable specification - is.

The result of the three-way has been that we are finding it easier to implement Fitnesse tests. We still have some problems of our own making (related to how we seed data for tests), but this seems to have removed a lot of the pain around these for us. The suggestion might be that a number of our issues with story test tools has been simply a reflection of problems communicating requirements.


Posted Mon, Oct 13 2008 12:37 PM by Ian Cooper

[Advertisement]

Comments

Jeremy D. Miller wrote re: Fitnesse and the 3-way meeting
on Mon, Oct 13 2008 10:00 AM

Ian,

To be very clear, my whole point is that I love the *concept* of Fit and acceptance test driven development, but I've found over the course of 5 years and a half dozen projects that the implementation mechanics of Fit and especially FitNesse are severely flawed.

"The suggestion might be that a number of our issues with story test tools has been simply a reflection of problems communicating requirements."

Yes, but my major concern is the mechanical cost effectiveness of Fit/FitNesse testing.  Yes, the conversation is important, but in the end I want a tool that creates useful automated tests.  I'm not really concerned about my team's ability to work out the correct acceptance criteria.  I'm terrified about the number of acceptance tests that we need to write in order to ship.  For me, the mechanical cost and fragility of Fit testing is the major concern.

Ian Cooper wrote re: Fitnesse and the 3-way meeting
on Mon, Oct 13 2008 11:59 AM

@ Jeremy

I'm enthused about the lower level of friction from a DSL, and I understand that your concerns were mechanical costs.

As a data point though we don't find fixtures to be the chief problem with Fitnesse. Once you embrace flow fixtures they seem to be easier.

That said, capturing acceptance criteria accurately is an issue for us and one of the reasons BDD using xUnit based tools, would not work for us is that it does not allow us to verify the up front definition from the customer.

So my point is more that agreeing the specification with the consumer is important to us. We were noticing a lot of danger around 'developers author acceptance tests'.

Jeremy D. Miller wrote re: Fitnesse and the 3-way meeting
on Mon, Oct 13 2008 12:30 PM

@Ian,

We may have very different tolerances for friction then, because my major beef with Fit is what I perceive to be very poor support for flow based tests.  

Ian Cooper wrote re: Fitnesse and the 3-way meeting
on Tue, Oct 14 2008 3:48 AM

@Jeremy

That's probably a fair observation. My friction threshold can be high. To be clear I would prefer to have a DSL based tool to do this, and really want something better to come out of your StoryTeller replacement. I'd give you a hand if you needed one.

Colin Jack wrote re: Fitnesse and the 3-way meeting
on Mon, Nov 17 2008 3:42 AM

Not sure how it affects the discussion but it looks like an early version of SLIM is now available with the FItnesse download:

fitnesse.org/.FitNesseDevelopment.FitNesseRelease20081115

buy wow gold wrote re: Fitnesse and the 3-way meeting
on Sun, Mar 8 2009 10:50 AM

WoW shares many <a href="www.game4power.com/">wow gold</a> of its features with previously launched games. Essentially, you battle with <a href="www.game4power.com/.../">Cheapest wow gold</a> monsters and traverse the countryside, by yourself or as a <a href="www.game4power.com/.../">buy cheap wow gold</a> team, find challenging tasks, and go on to higher <a href="www.wowgoldone.com/"> Cheap Wow Gold </a> levels as you gain skill and experience. In the course of your journey, you will be gaining new powers that are increased as your skill rating goes up. All the same, in terms of its features and quality, that is a ture stroy for this.WoW is far ahead of all other games of the genre the <A href="www.gamelevelup.com/">wow power leveling</A> game undoubtedly is in a league of its own and <a href="www.wowgoldone.com/">cheapest wow gold </a> playing it is another experience altogether.

Even though WoW is a <a href="www.game4power.com/buy-gold">wow gold cheap </a> rather complicated game, the controls and interface are done in <a href="www.bestwarhammer.com/"> buy warhammer gold</a> such a way that you don't feel the complexity. A good feature of the game is that it <A href="www.itemstores.com/">buy wow items</A> does not put off people with lengthy manuals. The instructions cannot be simpler and the pop up tips can help you start playing the game <a href="www.itemchannel.com/">World Of Warcraft Gold </a> immediately. If on the other hand, you need a detailed manual, the instructions are there for you to access. Buy wow gold in this site,good for you ,<a href=www.meinwowgold.com/>WoW Gold</a>, <a href="www.game4power.com/">BUY WOW GOLD</a>.

Add a Comment

(required)  
(optional)
(required)  
Remember Me?