Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
Exhaustive testing is a testing or quality assurance approach in which all possible combinations of scenarios and use/test cases are used for testing.
In testing software, it is all the possible combinations of every type of input as well as every permutation and variation of how the input is carried out to ensure that everything works as expected. This goes the same for hardware testing—pressing any and all combinations of buttons and switches to determine which ones expose a bug so that it can be fixed.
Exhaustive testing is the process of testing for absolutely everything just to make sure that the product cannot be destroyed or crashed by some random happenstance. It takes into consideration all possible combinations of inputs, usage scenarios as well as random situations and inputs.
When a software or hardware product has passed exhaustive testing, then that product can be considered perfect and robust for its application. However, it is almost impossible to perform true exhaustive testing, as it is extremely difficult and time consuming to do, not to mention almost impossible to find out all possible testing scenarios.
It is very rare for products to completely pass exhaustive testing. There are always a few things that fail, but it may be for a very rare and unlikely scenario, so it is labeled as a low-priority bug that is very unlikely to occur, and may occur for only a very small population of users. This would be something that customer service is usually briefed about so that they can pinpoint it immediately if those bugs occur.