1.3 Testing Principles Flashcards
1.
Testing shows the presence, not absence of defects.
Testing reduces the
probability of defects remaining undiscovered in the test object, but even if no defects are found, testing can’t prove test object correctness.
2.
Exhaustive testing is impossible.
Rather than attempting to test exhaustively,
test techniques, test case prioritization, and risk-based testing should be used to focus test efforts.
3.
Early testing saves time and money.
Defects removed early …
Quality cost will be …
To find defects early …
in the process will not cause subsequent defects in derived work products.
reduced since fewer failures will occur later in the SDLC.
Static testing and dynamic testing should be started as soon as possible.
4.
Defects cluster together.
A small number of …
Illustrated example of …
Predicted defect clusters and actual defect clusters observed during …
system components usually contain most of the discovered defects or are responsible for most of the operational failures.
Pareto principle.
testing or in operation are important input for risk-based testing.
5.
Tests wear out.
If the same tests are …
To overcome this effect …
However, in some cases …
repeated many times, they become increasingly ineffective in detecting new defects.
existing tests and test data, may need to be modified and new tests may need to be written.
repeating the same tests can have a beneficial outcome, e.g. in automated regression testing.
6.
Testing is context dependent.
Testing is done
differently in different contexts.
7.
Absence-of-defects fallacy.
It is a fallacy …
Thoroughly testing all the specified requirements and fixing all the defects found could still …
In addition to verification …
(Misconception) to expect that software verification will ensure system success.
produce a system that doesn’t fulfill the users’ needs and expectations, that doesn’t help in achieving the customer’s business goals, and that is inferior to other competing systems.
validation should also be carried out.