Seven Principles of Software Testing:
1 1. Testing shows the presence of defects
Can show
defects are present but cannot prove that there are no defects.
Software Testing reduces the possibility of undetected bugs remaining in the
software but even if no bugs are found, it is not a proof of correctness.
2 2. Exhaustive testing is impossible
We can’t
test everything –use risk analysis and priorities to focus testing.
If you were testing an application, you will see that bugs
are likely to be found in login/Registration module and you need to be tested
thoroughly.
3 3. Early testing
Start as
early as possible in development life-cycle and should be focused on defined
objectives.
Any Bug/Error/Defect in the requirements or design phase are taken
in early phases. The cost and effort will be low to fix a Defect in the early
stages of testing.
4. Defect clustering
A small
number of modules contain most of the defects.
5. Pesticide paradox
Repeat the
same tests and eventually they will no longer find any new bugs.
If the same tests are conducted
repeatedly, this will be useless for finding any new bugs. For avoiding this,
the test cases need to be reviewed, revised, adding new test cases on daily basis.
6. Testing is context dependent
Testing is
done differently in different contexts.
Its means
that to test finance technology application is different from to test
e-commerce application.
7 7. Absence-of-errors fallacy
Finding and
fixing defects does not help if the system built is unusable and does not
fulfill the users’ needs and expectations