Guidelines Keep writing tests that could show if your code is broken, until you run out of things that could possibly break When choosing an implementation, be sure to choose the simplest implementation that could possibly work If you are unsure about a piece of code, add a test you think might break it A test is one specific case, for which there is a known answer If all of the tests succeed, but the program doesn t work, add a test Tests should be as small as possible, before testing a requirement that depends on multiple things working, write a test for each thing it depends Tests should not take longer than a day to get working, typical test/code/simplify cycles take around 10 minutes Don t test every single combination of inputs.
{}