principles of software testing

  1. Testing shows presents of defects
  2. Exhaustive testing is not possible
  3. Early testing
  4. Defects clustering
  5. Pesticide paradox
  6. Testing of content depend
  7. Absence of error in fallacy

Testing shows presence of defects:

Testing an application can only reveal that one or more defects exist in the application. Even after testing the application or product thoroughly we cannot say that the product is 100% defect tree. Testing always reduces the number of undiscovered defects remaining in the software. Therefore it is importance to design test cases which find as many defects as possible.

Exhaustive testing is impossible:

It is not possible to test all possible combinations of data and test scenarios as it will take to much time. Accessing and managing risks is one of the most important activities and reason for testing in any project.

Early testing:

In the software development life cycle testing activities should start early a focus on defined objectives. By starting testing early, test can be prepared for each level of the development life cycle.

Another important point about early testing is that when defects are found earlier in the life cycle, they are much easier and cheaper to fix.

Defect clustering:

During testing it can be observed that most of the reported defects are related to small number of modules within a system. By identifying and focusing on these clusters’ testers can efficiently test the sensitive areas while concurrently testing the remaining “non - sensitive” areas.

Pesticide paradox:

Pesticide paradox means that is very important to review the test cases regularly. New and different tests need to be written to cover different parts of the software or system to find more defects

Testing is context depending:

The same tests should not be applied across the board because different software products have varying requirements functions and purpose.

Absence of error fallacy:

If the system built is unusable and does not fulfil the user needs and expectations then finding and fixing defects will not help.