@ploeh Good write-up! Having recently seen a bunch of tests (written by humans) that didn't actually verify anything useful, I'd add heavy reliance on mocking and method call verification as a heuristic for bad tests. While mocking is useful, it can easily lead to tests that only check that a method whose implementation consists of calls to 2 other methods is indeed calling these 2 methods, without this saying anything about the correctness of this implementation.