There are seven general principles of testing that are as under:
1) Testing shows the presence but not the absence of defects;
2) Exhaustive testing will not yield a defect free system;
3) Testing should begin as early as possible in the system development life cycle;
4) A small number of modules contain most of the defects detected during pre release testing, or show the most of the operational failures;
5) Overcome the pesticide paradox i.e. if the same tests are performed frequently using the same test cases, we shall not be able to detect any defects;
6) Testing is done differently for every different context;
7) Absence of errors does not guarantee that the system is usable & users requirements are met & fulfilled.