Error guessing makes use of the knowledge gained by previous testing in order to make educated guesses about the defects that may exist in a system. It requires skill, intuition, and experience in testing to detect errors using error guessing.
The efficacy of error guessing depends entirely on the testers and their skill, because it does not have any formal parameters or guidelines that can be followed.
Reliable approach for detecting problems in the code-base that cannot be found using formal methods of testing.
Highly effective when used in conjunction with other formal methods of software testing.
Very effective in finding bugs that would otherwise take a long time to be disclosed using formal methods of testing.
A lot of the advantages of error guessing rely on the tester’s skill and experience. Since it is not a process-based mechanism, it is unreliable.
May not cover all test cases.
Gives no qualitative metric for determining code quality.