There are seven Principles of Testing. They are as follows
Testing Shows presence of defects.
Testing software is exhaustive.
Clustering the defects.
Testing is context dependent.
Absence of Errors – fallacy
1.Testing shows presence of defects : Testing an application can show us that defects are available in the product. However, it cannot gurantee the product is defect free. To ensure defects are less we create test cases and execute the test cases to find as many defects as possible.
2.Testing software is exhaustive : Testing everything including all combinations of inputs and preconditions is not possible. Instead testers need optimum time to test an application. They also consider the risk and priorities regarding the testing.
3.Early Testing : It is always good to start testing software as early as possible. The advantage is the defect can be captured and fixed within the stipulated time frame. Which will inturn give developers a lot of time to fix the issues and deliver product to the client.
4.Clustering the defects : A small number of modules contains most of the defects discovered during testing.
5.Pesticide Paradox : Executing same test cases again and again will not yield the results, like finding more defects. Instead the test cases needs to be reviewed and updated regularly so that more defects can be found.
6.Testing is context dependent : Testing is subjective to context, when we test an Banking application is different from the way you test an movie Ticketing website.
7.Absence of Errors – fallacy : If the system, developed is not stable and have not meet the user expectations then finding and fixing defects does not help.