are you missing a TDD step?

Here's a TDD state diagram.
  • start by writing a test for new functionality
  • see it fail
  • make it pass
  • refactor
  • round and round you go
It looks a bit like an animal. Let's give it some eyes!

But there's something not right!
There's no red-to-red self-transition.
My animal is missing an ear!
I'll add the missing ear.

What is this new ear?
It's for changes made at red.
I see the test fail.
I read the diagnostic.
Then I stay at red and improve the diagnostic.
When I'm happy with diagnostic I get rid of it by making the test pass.

This was part of my lessons from testing presentation which reviews common test anti-patterns I see on cyber-dojo.

Note: I'm being careful not to call this red-to-red transition a refactoring since refactoring is for changes made at green.


  1. Anonymous11:16 am

    Very nice!

  2. Anonymous5:33 pm

    I suppose the "smiling" arrow in the middle should say "see it fail"...