Martin Fowler brings up a point about testing that can't be hammered enough: isolation, isolation, isolation:
If tests sometimes pass and sometimes fail on a run without any code changes, or tests pass when run in some suites but fail when run in others; nine times out of eight the reason is that there is some shared data between tests that isn't being properly reinitialized. When that happens just running a test can be the difference between other tests passing and failing. The result is an intermittent failure - always the worst because you can't reliably reproduce it.
More than once, I've needed a pounding with the cluestick over this sort of thing...