Error guessing is a software testing technique on guessing the error which can prevail in the code.
It is basically an experience-based testing technique where the test analyst uses his / her experience to guess the problematic areas of the application. This technique necessarily requires gifted and experienced testers.
It is a type of black-box testing technique and can be viewed as an unstructured approach to software testing.
What You Will Learn:
- Error guessing Technique
- Purpose of Error guessing in software testing
- Factors used to Guess the Errors
- When to perform Error Guessing
- Guidelines for Error guessing
- Procedure for Error Guessing Technique
- Error Guessing Example
- Advantages of Error Guessing Technique
- Drawbacks of Error Guessing Technique
- Recommended Reading
Error guessing Technique
The test cases for finding issues in the software are laid down based on the prior testing experience with similar applications. So, the scope of the test cases would generally depend upon the analyst and what kind of testing involvement he had in the past. Error guessing technique does not follow any specific rules.
For example, if the analyst guesses that the login page is error-prone, then the testers write more detailed test cases concentrating on the login page. Testers can think of a variety of combinations of data to test the login page.
To design test cases based on error guessing technique, the analyst can use the past experiences to identify the conditions.
This technique can be used at any level of testing and for testing the common mistakes like:
- Divide by zero
- Entering blank spaces in the text fields
- Pressing the submit button without entering values.
- Uploading files exceeding maximum limits.
- Null pointer exception.
- Invalid parameters
The achievement rate of this technique does mainly depend upon the ability of testers.
Purpose of Error guessing in software testing
- The main purpose of this technique is to make an educated guess about possible bugs in the areas where formal testing would not work.
- It should obtain an all-inclusive set of testing without any skipped areas, and without creating redundant tests.
- This technique compensates for the characteristic incompleteness of boundary value analysis and equivalence portioning techniques.
Factors used to Guess the Errors
Error guessing technique requires skilled and experienced tester. It is mainly based on intuition and experience.
Following factors can be used to guess the errors:
- Lessons learned from past releases
- Tester’s intuition
- Historical learning
- Previous defects
- Production tickets
- Review checklist
- Application UI
- Previous test results
- Risk reports of the application
- Variety of data used for testing.
- General testing rules
- Knowledge about AUT
When to perform Error Guessing
It should be usually performed once most of the formal testing techniques have been applied.
Guidelines for Error guessing
- Remember previously troubled areas: During any of your testing assignment, whenever you come across an interesting bug, note it down for your future reference. There are generally some common errors that happen in a certain specific type of applications. Refer to the list of common errors for the type of application you are working on.
- Improve your technical understanding. Check how the code is written and how the concepts like a null pointer, arrays, indexes, boundaries, loops, etc are implemented in the code.
- Gain knowledge of the technical environment (server, operating system, database) in which the application is hosted.
- Do not just look for errors in the code but also look for errors and ambiguity in requirements, design, build, testing and usage.
- Understand the system under test
- Evaluate historical data and test results
- Keep awareness of typical implementation errors
Procedure for Error Guessing Technique
Error guessing is fundamentally an intuitive and ad hoc process; hence it is very difficult to give a well-defined procedure to this technique. The basic way is to first itemize a list of possible errors or error-prone areas in the application and then create test cases based on that list.
Error Guessing Example
Suppose there is a requirement stating that the mobile number should be numeric and not less than 10 characters.
And, the software application is having a mobile no. field.
Now, below are the error guessing technique:
- What will be the result if the mobile no. is left blank?
- What will be the result if any character other than a numeral is entered?
- What will be the result if less than 10 numerals are entered?
Advantages of Error Guessing Technique
- Proves out to be very effective when used in combination with other formal testing techniques.
- It uncovers those defects which would otherwise be not possible to find out through formal testing. Thus, the experience of the tester saves a lot of time and effort.
- Error guessing supplements the formal test design techniques.
- Very helpful to guess problematic areas of the application.
Drawbacks of Error Guessing Technique
- The focal shortcoming of this technique is that it is person dependent and thus the experience of the tester totally controls the quality of test cases.
- It also cannot guarantee that the software has reached the expected quality benchmark.
- Only experienced testers can perform this testing. You can’t get it done by freshers.
Though Error guessing is one of the key techniques of testing, it does not provide a full coverage of the application. It also cannot guarantee that the software has reached the expected quality benchmark.
This technique should be combined with other techniques to yield better results. For doing this testing, it is essential to have skilled and experienced testers.
The significant thing about this testing technique is that it uncovers the defects in the areas which otherwise remains undetected by other formal testing technique.