The initial thread

A reproduction of the original mailing list thread that spawned the idea of this site.


Rather than hijack my own thread I thought I would start a new one. Based on a comment from Olaf I realized that there is a real lack of problems that people use to learn/practice TDD.

Here are the ones I know of:

A list no but I seem remember - that a lot of people like doing a TDD bowling game - Ron has tried a number of different problems overtime on his blog: <>examples seem to include Suduko, … - Brian Marick once proposed a non-trivial example - I think this might be the link: www.exampler.comwriting*tdd*-workbook.pdf

Please let me know what I’m missing and I will find a wiki of putting a list up somewhere accessible.


Hi, Mark,

> Please let me know what I'm missing and I will find a wiki of putting a list
> up somewhere accessible.

Among my favorites are Range (very short and simple; integer range, initially compels you to decide whether it’s half-open, etc.; gets a little interesting when you write overlaps(), which typically provides some opportunities for refactoring) and NaturalSort? (longer, but straightforward and easy to understand, and to appreciate as a real-world problem).

Natural Sort: <>


This is a great idea!

In fact, I had it too :)

So I’ve started a tiddlywiki (a mini-wiki that can be downloaded/modified offline..) here:

Carl, may I add NaturalSort? and Range as problems on ?


Hi, Olaf,

On Thu, Sep 11, 2008 at 12:36 PM, Olof Bjarnason <> wrote:

> Carl, may I add NaturalSort and Range as problems on
> ?

Of course. Thanks for asking, but - I don’t own these problems; have at ‘em!

Here’s a link to slides & code I wrote at a presentation for Natural Sort, if you’d like to include it:


It wasn’t designed for publication, so there may not be much value in it, but - have a look, see whether there’s anything there.


Thanks! I’ll have a look.

The way I’m thinking now, should be a collaborative collection of “basic” TDD problems, playground problems, still somewhat real-world. Just good examples to learn TDD from.

Your two examples matches that precisely :)

I’ve already added the links, just have to fill in the problem statements.

Since then we’ve moved to !