What are the software testing principles?
There are seven principles in software testing.
Testing shows presence of of defects.
- Exhaustive testing is impossible - It is the process of testing the performance of software in every possible valid and invalid inputs and the preconditions are known as exhaustive testing.perfect testing is not possible,software never can be tested in every test cases ,assuming the software is correct and it will produce the correct output expected in each test run.and also testing software in every test cases takes more cost,time,effort.etc.
- Pesticide paradox - New errors can not be detected by repeating the same test cases.Therefore it is necessary to review test cases and add or update test cases.
- Defect clustering - A project may contain many flaws in a small number of the modules.Principles of Pareto for software testing state that 80% of software defects comes from 20% of modules.
- Absence of errors fallacy - Although software is 99% flawless, It cannot be used if it does not satisfy the user requirements.So not only is the 99% flawless, it should be meets customer requirements.
- Early testing - Initial testing activities should be initiated in order to find defect in the software.The defect detected in the early stages in the SDLC would be very low cost.For the better performance ,software testing starts at the initial phase of the SDLC,that is the requirements analysis phase.
- Testing is context dependent - Test access depends on context of developed software.Different type of software testing performs different type of software testing.
- Testing shows presence of defects - Testing shows that there are errors.The purpose of testing is to fail the software.It reduce the no of defects. Software testing can ensure that there are flaws, but it can not prove that software is defect free.Testing can reduce the software defects but not all shortcomings.
Comments
Post a Comment