Friday, 14 October 2011

Principles of Software testing

1.Testing shows presence of defects: Every software has defects;even after testing you cannot guarantee that your software is 100% bug free.
2.Exhaustive Testing is impossible: Testing with all possible combination of inputs is time consuming and cannot fit in the project schedule.
3.Early testing: Testing at early stage like requirement gathering and analysis helps prevent errors from entering into the code.
4.Defect Clustering: A small number of modules usually contains most of the defects discovered during pre-release testing or is responsible for most of the operational failures.
5.Pesticide Paradox: .If the same tests are repeated over and over again,eventually the same set of test cases will no longer find any new defects.To overcome 'Pesticide Paradox',test cases need to be regularly reviewed and revised.
6.Testing is context dependent: Testing is done differently in different contexts. For example,Safety-critical software is tested differently from an e-commerce site.
7.Absence of errors-fallacy: Finding and fixing defects does not help if the system built is unusable and does not fulfill the user's needs and expectations.

No comments:

Post a Comment