Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Heuristics testing is the testing of algorithms, code modules or other kinds of projects where testing strategies rely on past data about probabilities. These targeted types of testing often allow for more intelligent investigation of where any bugs or problems may occur. Heuristics testing is also used in screening technologies such as email filtering.
Heuristics testing is also sometimes called experience-based testing. Developers or others may bring higher-level, experience-based decision making processes into how software testing is done in order to make this testing more efficient.
Heuristics testing is comparable to an educated guess, as opposed purely quantitative software testing that operates relatively blindly, without any higher-level direction. For example, suppose that a developer has to test a project with 10,000 lines of code. Pursuing a generic linear test of those 10,000 lines would constitute purely quantitatve software testing. Heuristics testing, on the other hand, would involve looking at how commonly errors occur in certain parts of code. Using this example, if the developer looks at historical data to realize that a particular code module has been relatively more error-prone in the past, a heuristics testing strategy could involve isolating that module, including, for example, a particular 2,000 lines of code, and directing more testing resources at that section of code, rather than testing all 10,000 lines of code equally.
Heuristics testing involves the philosophy that developers can learn from experience or from non-random tendencies that occur over time. In some cases, heuristics testing can be vastly more effective in solving problems than blind testing.