Error Guessing in Software Testing

Error guessing is a technique based on guessing the errors that prevail in the code. It can help to find numerous faults that systematic techniques may fail to detect. This method mostly depends on the tester’s previous experience and his/her acumen as to where defects can take place in the future.

Error guessing should be used as a 'mopping-up’ technique or as a supplement to systematic techniques, but not as the first choice approach.

The technique does not mean pure guessing with no specified steps and predefined procedures. But it works according to the following main ideas:

  • make a list of likely defects or error-prone situations – test cases
  • identify the test cases associated with assumptions that could have been made when writing the specifications

Despite the fact that it is mostly used as a supplement to systematic techniques, there exist guidings for its better implementation.

error guessing process 1

There exist common mistakes that should be tested primarily:

  • division by zero
  • entering blank spaces into text fields
  • entering invalid values
  • submitting without value specification
  • uploading files that exceed the set limits

See an example: "Binary Sort"

  • only one entry is in table
  • table size is a power of 2
  • table size is (a power of 2) +/- 1

See another example: "Sorting subroutine"

  • input list is empty
  • a single entry in the input list
  • all entries are of the equal value
  • entries have already been sorted

See an example: "Linked list"

  • zero components
  • only one component
  • one less than the max quantity of components
  • max quantity of components

The conclusion is that error guessing is a helping technique for professional testers. Their previous experience forms the base for this testing method together with the prevailing rules and mistakes that we have distinguished in this article.