Click here to load reader
Upload
software-testing-books
View
77
Download
0
Embed Size (px)
Citation preview
Principles of Software Testing
Principles of Software Testing are as follows :
Testing shows presence of defects : Testing may show the defects are present, but cannot prove
that there are no defects. After testing the system or product thoroughly we cannot say that the
product is complete defect free. Testing always reduces the no of undiscovered defects remaining
in the software.
Exhaustive testing is impossible : Testing everything including all combinations of inputs and
preconditions is not possible.We can use risks and priorities to focus testing efforts. for eg. If we
are checking calculator application, we will check the basic functionality, Avoid to check all the
combinations like 1+2, 1+3, 1+4…. and so on, It will take too much time to test. Hence we have to
test only focus on risks and priorities.
Early testing : In the SDLC (software development life cycle) testing activities should start as early
as possible and should focused on objectives Because defect get early it will cost low to fix and
vice versa.
Defect clustering : A small number of modules contains most of the defects found during pre
release testing or shows the failures.
Pesticide paradox : If the same 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
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.
Testing is context dependent : Testing is context dependent. Different kinds of sites are tested
differently. For eg. safety and critical software is tested differently from an e-commerce site.
Absence of errors fallacy : If you have created software which is not fulfill user’s need or it is not
build as per requirement, then finding and fixing defects does not help.