7 Principles of Software Testing

Testing talks about the presence of defects and don’t talk about the absence of defects

Exhaustive testing is not possible. Plan risk-based assessment for optimal testing.

Testing should start as early as possible in the Software Development Life Cycle

Defect Clustering refers to small number of modules contain most of the defects.

Pesticide Paradox indicates that use of same set of repetitive tests will not find new defects

Pesticide Paradox indicates that use of same set of repetitive tests will not find new defects

Testing is context dependent, each type of software system is tested differently

Absence of Error Fallacy states that finding and fixing defects does not help if the system build is unusable

Absence of Error Fallacy states that finding and fixing defects does not help if the system build is unusable