There are several testing principles identified by several
parties during past years. Seven are identified as most common among those.
1. Testing shows the presence of defects.
Testing can show the available defects in the software but
cannot prove that there are no defects. Although the tests are concluded with
no errors, cannot guarantee that the software is error free. Testing reduces
the risks that can occur due to undiscovered errors.
2. Testing everything is not feasible
Testing all combinations of pre-conditions and inputs is not
feasible. Simply exhaustive testing cannot be approached. Have to prioritize
the scenarios and risk analysis should be focused.
3. To find defects early, start testing early
If the defects should be found as early as possible, testing
should be started early.
4. Defect Clustering
Testing should be focused on early found defect density and should
be compared with expected results.
5. If the same tests are repeated, there will be no
new defects found
Test cases should be regularly revised and updated. Because,
software changes. If the same sets of test cases are run over and over it will
find no defects. Have to be updated with new scenarios. (pesticide paradox)
6. Testing is done differently in different
contexts
Testing is context dependent.
7. Absence of errors fallacy
Finding and fixing defects will not be helpful if the system
is not usable by the users and if it doesn’t fit to user expectations.
Source - http://www.istqb.org/