The Tao Of Testing



Your software is, was, and will be buggy.

Either you believe that or you don’t, but if you do then you probably also think it’s a bad thing, and maybe you already know that one of the best ways to mitigate the effects of bugs is to build tests.

But testing is a laborious, time-consuming and often fruitless exercise. You’ll often end up with more test code than production code, only the test code tends to be less readable, less maintainable and, ironically, more buggy.

Chances are though, you’re probably doing it wrong.

This guide outlines some simple rules to help you make more sense of testing, and ultimately spend less time writing tests and much less time finding or fixing bugs in your production code.

The guide is designed to take you through both the arguments for testing (if you need to convince someone), as well as step-by-step instructions on how to write more effective, accurate and efficient tests.

A great place to start is the beginning:

Start at the Beginning

If you prefer to skip all the meta-information, you can jump straight to the good stuff:

Skip to the Good Stuff

To see the entire document structure, check out:

The Index