This method is used in risk analysis to "guess" where the errors are likely to occur and to assign a higher risk to the error-prone areas. The success of error guessing is very much dependent on the skill of the tester, as good testers know where the defects are most likely to be. Or in other words it is "Ability to guess based on previous experience in Software Testing environment". This error guessing method is to analyze/identify/recognize the tests, to expose errors based on experience/intuition. This skill is totally based on guess like Zero instances, Blank or null characters in strings, Empty or null strings, occurrences, Negative numbers.
The motive of this technique is to focus/center the testing activity or action on areas that have not been handled by the other more formal techniques, such as boundary value analysis & equivalence partitioning. Error guessing is the activity/process/procedure of creating an intelligent guess as to other types of areas to be tested.
What can be done to improve your error guessing techniques?
1.) Improve your memory:
Use existing bugs lists
List interesting error-types you come across
2.) Improve your technical understanding:
Review the specialized context in which the software is functioning, special settings in your OS, DB or web server.
Review the coding, examine that how things are implemented then, find-out the conception like buffer overflow, null pointer assignment, array index boundaries, iterators, etc.
3.) Remember to look for errors not only in the code: