Testing principles (K2) Flashcards
Testing shows the presence, not the absence of defects - explain
Testing can show that defects are present in test object, but cannot prove that there are no defects.
Testing reduces the probability of defects remaining undiscovered in the test object.
Even if no defects are found, testing cannot prove test object correctness.
Exhaustive testing is impossible - explain
Testing everything is not feasible except in trivial cases. Rather than attempting to test exhaustively, test techniques, test case prioritization, and risk-based testing should be used to focus test efforts.
Early testing saves time and money - explain
Defects that are removed early in the process will not cause subsequent defects in derived work products. The cost of quality will be reduced since fewer failures will occur later in the SDLC.
To find defects early, both static and dynamic testing should be started as early as possible.
Defects cluster together - explain
A small number of system components usually contain most of the defects discovered or are responsible for most of the operational failures. The phenomenon is an illustration of the Pareto priciple.
Important input for risk-based testing.
Tests wear out - explain
If same tests are repeated many times, they become increasingly ineffective in detecting new defects.
To overcome this effect, existing tests and data may need to be modified.
Repeating the same tests in some cases may be beneficial - e.g., in automated testing.
Testing is context dependant - explain
There is no single universally applicable approach to testing. Testing is done differently in different contexts.
Absence-of-defects fallacy - explain
It is a fallacy to expect that software verification will ensure the success of a system - testing all the specified requirements and fixing all the defects found could still produce a system that does not fulfill the users’ needs and expectations