With Draven & Judge
Don’t write a line of new code unless you first have a failing automated test
Eliminate duplication
Write a test…
Make it run…
Make it right…
You are not allowed to write any production code unless it is to make a failing unit test pass.
You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
Write a test for the next bit of functionality you want to add
Write the functional code until the test passes
Refactor both new and old code to make it well structured
Strictly follow TDD rules and do fast cycles
Don't forget refactoring
As delivery doesn't matter, focus on readable Clean Code
Test names and bodies must document the implementation
Test naming
Include the method under testing
Add context, preconditions
Write what will happen, the expected behaviour
Test cases against behaviour