Principle #1 – Testing Shows Presence of Defects. Testing software services can show the presence of defects, but can’t prove it. Testing reduces the likelihood of defects located in the software, but, even if defects were not detected, this does not prove its correctness.
Principle #2 – Exhaustive Testing is Possible. Exhaustive testing with using all combinations of inputs and preconditions is physically impossible, except for trivial cases. Instead of exhaustive testing, dedicated testing teams should also use risk analysis and prioritization in order to focus on testing efforts.
Principle #3 – Early Testing. In order to detect defects much earlier, software tester should start being active early in the software development lifecycle or system, and should be focused on particular aims.
Principle #4 – Defects Clustering. The efforts of software test services should be focused in proportion to the expected defect density by modules. As a rule, the majority of detected defects locate in modules in small amounts.
Principle #5 – Pesticide Paradox. If one and the same tests would be run, eventually this set of test scripts would be able to detect new defects. IN order to overcome Pesticide paradox, test scripts must undergo and adjusted, new tests should be versatile, in order to include all software or system components and detect as many defects.
Principle #6 – Testing is Concept Depending. Testing is performed depending on the contest. For example, the software, which prioritizes security is tested differently, for example, comparing to e-commerce.
Principle #7 – Absence-of-Errors-Fallacy. Detection and elimination of defects won’t be helpful if the created system doesn’t suit the user and doesn’t meet his/her expectations and needs.
Add Comment