Saved by Fitnesse

08 Feb, 2011

We’ve been busy for a couple of weeks now refactoring a fairly complex code base of just under 500 classes. None of us really knew all the details about this part of the system, but we didn’t let that stop us of course. After some regrouping/-shuffling/-factoring/*ing, the whole thing built OK and all unit tests were green again. All that was left to do was fix the Fitnesse tests. I remember thinking this should be easy since we had all those green unit test.
Evil laughter sounds.

We rely heavily on Fitnesse because it allows us to write specifications for our code in a way that is executable as well as understandable for others. You can even finish test cases before the coding is done so the tests work as part of the definition of done for a user story during a Sprint. The tests helped us to understand what the code was supposed to do, on a much higher level of abstraction than a unit test. This made it easier to find out what should be happening and fix the errors that were introduced by our refactoring. Because the Fitnesse tests make about 20,000 assertions we’re pretty confident the code still does what it did before.

Developing software and infrastructure in teams, doing whatever it takes to get stable, safe and efficient systems in production.
Newest Most Voted
Inline Feedbacks
View all comments
Marcello Leonardi
Marcello Leonardi
11 years ago

Could you please explain a little bit you set up how you use fitness.
What kind of project did you?
How you integrate fitness?
Does in work as part of the continous integration, like other unit tests?
Did you do unit testing?
What was the major part more unit test or more fitness?
I tried in my project twice to introduce fitness, but the team does not adpoted it. I don’t know what they don’t like. They sad that the Idea is cool, but we never really start to write a lots of test suites…so after the first tests with fitness we give up. At the end we had only Unit Tests on Classes and for Services, but no Fitness Tests wich really would make visible which logic would be tested.
So I would appreciate some more details about your work with fitness.
Thank you in advance.

Explore related posts