Final answer:
Exhaustive testing is not considered a testing principle. It refers to the impractical approach of testing all possible inputs which is not a principle followed in software testing due to its infeasibility.
Step-by-step explanation:
The question "Which is not a testing principle?" refers to common principles that are followed in software testing to ensure a product's quality and reliability. The testing principles mentioned are as follows:
- Early testing - This principle suggests that testing should start as early as possible in the software development lifecycle.
- Defect clustering - This principle states that a small number of modules usually contain most of the defects detected.
- Pesticide paradox - This principle reflects the diminishing effectiveness of the same set of test cases over time; therefore, test cases need to be regularly reviewed and revised.
- Exhaustive testing - This is not actually a testing principle but rather a concept in software testing that suggests testing all possible inputs and combinations, which is theoretically impossible given infinite or very large input spaces.
Based on these principles, Exhaustive testing is not a testing principle but an approach that is largely impractical and not recommended due to the vast number of possible inputs to a system.