Software Testing focuses on ensuring the quality of the
software. Software not tested properly can cause many problems including financial
losses, reputation loss and at times injury or even death. How much testing is
required depends on the risks associated with the software as well as time
constraints. There are few principles of testing that can help to better
understand the process of testing and define testing process
The principles of testing are as follows:
1. Testing shows presence of defect
Testing helps in uncovering defects although we can never be sure that that there are no defects in the software even after testing. So the focus of testing is to find as many defects in the system.2. Exhaustive Testing is not feasible
Going by the first principle, tester can never be sure that there are no defects in the system, One of the reason for first principle is exhaustive testing is impossible. We can test all the scenarios related to software but the time and resource cost for testing exhaustively will be so huge, it will not bring any value and will not be able to deliver software. Due to this proper risk analysis and priorities of scenarios should be taken care of in testing for balanced and timely testing completion. Test cases should be prepared based on the functional specification, as test cases for high priority scenario should be executed first.
3. Testing should start as early as possible
Catching defects early in the Software development life cycle reduces the cost of fixing of defect. For e.g. Testing should start as early as possible, Reviews should take place to identify gaps in requirements understanding, and identify code issues early. Also test designing should start as soon as possible.