Principle
1: Testing shows presence of defects
Principle 2: Exhaustive testing is impossible
Testing everything (all combinations of inputs and preconditions)
is not feasible except for trivial cases. Instead of exhaustive testing, we use
risks and priorities to focus testing efforts.
Principle 3: Early testing
Testing activities should start as early as
possible in the software or system development life cycle and should be focused
on defined objectives.
Principle 4: Defect clustering
A small number of modules contain most of the
defects discovered during pre-release testing or show the most operational
failures.
Principle 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 bugs.
To overcome this 'pesticide paradox', the test cases need to be regularly
reviewed and revised, and new and different tests need to be written to
exercise different parts of the software or system to potentially find more
defects.
Principle 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
Principle 7:
Absence-of-errors fallacy
No comments:
Post a Comment