There are seven principles of testing: 1) Testing shows presence of defects but not absence, 2) Exhaustive testing is impossible so prioritization is used, 3) Testing activities should start early in the development lifecycle, 4) A small number of modules contain most defects, 5) Repeating the same tests (pesticide paradox) finds fewer bugs so tests must be reviewed and expanded, 6) Testing depends on the context of the system, and 7) Fixing defects is not enough if the system does not meet user needs.
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
59 views
Principles of Testing
There are seven principles of testing: 1) Testing shows presence of defects but not absence, 2) Exhaustive testing is impossible so prioritization is used, 3) Testing activities should start early in the development lifecycle, 4) A small number of modules contain most defects, 5) Repeating the same tests (pesticide paradox) finds fewer bugs so tests must be reviewed and expanded, 6) Testing depends on the context of the system, and 7) Fixing defects is not enough if the system does not meet user needs.
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1
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: Test the application with 0 to 1000 numbers. In this case we can do the compete testing. But can be performed the testing by using testing techniques 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 ecommerce site. 7) Absence of errors fallacy: If the system built is unusable and does not fulfil the users needs and expectations then finding and fixing defects does not help.