What are the principles of testing?
Principles
of Testing
There are
seven principles of testing.
They are as follows:
1) Testing
shows presence of defects: Testing can
show the defects
are present, but cannot prove that there are no defects. Even after testing the
application or product thoroughly we cannot say that the product is 100% defect
free. Testing always reduces the number of undiscovered defects remaining in
the software but even if no defects are found, it is not a proof of
correctness.
2)
Exhaustive testing is impossible: Testing
everything including all combinations of inputs and preconditions is not
possible. So, instead of doing the exhaustive testing we can use risks and
priorities to focus testing efforts. For example: In an application in one
screen there are 15 input fields, each having 5 possible values, then to test
all the valid combinations you would need 30 517 578
125 (515) tests. This is very unlikely that the project
timescales would allow for this number of tests. So, accessing and managing
risk is one of the most important activities and reason for testing in any
project.
3) Early
testing: In the software development
life cycle testing activities should start as early as possible and
should be focused on defined objectives.
4) Defect
clustering: A small
number of modules contains most of the defects discovered during pre-release
testing or shows the most operational failures.
5) Pesticide
paradox: If the same
kinds of tests are repeated again and again, eventually the same set of test
cases will no longer be able to find any new bugs. To overcome this “Pesticide
Paradox”, it is really very important to review the test cases regularly and
new and different tests need to be written to exercise different parts of the
software or system to potentially find more defects.
6) Testing
is context depending: Testing is
basically context dependent. Different kinds of sites are tested differently.
For example, safety – critical software is tested differently from an
e-commerce site.
7) Absence –
of – errors fallacy: If the
system built is unusable and does not fulfil the user’s needs and expectations
then finding and fixing defects does not help.
Comments
Post a Comment