Fundamental of testing Flashcards
error
mistake
A human action that produces an incorrect result
defect
bug
fault
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
failure
Deviation of the component or system from its expected delivery, service or result.
quality
The degree to which a component, system or process meets specified requirements
and/or user/customer needs and expectations.
risk
A factor that could result in future negative consequences; usually expressed as impact
and likelihood.
software
Computer programs, procedures, and possibly associated documentation and data
pertaining to the operation of a computer system
testing
The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products
to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.
exhaustive testing
complete testing
A test approach in which the test suite comprises all combinations of input values and preconditions.
system
A collection of components organized to accomplish a specific function or set of
functions.
Testing is context dependent (principle)
Testing is done differently in different contexts. For example, safety-critical software is
tested differently from an e-commerce site.
Testing shows presence of defects (principle)
Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness.
Exhaustive testing is impossible (principle)
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.
Early testing (principle)
Testing activities should start as early as possible in the software or system development life cycle and should be focused on defined objectives.
Defect clustering (principle)
A small number of modules contain most of the defects discovered during prerelease testing or show the most operational failures.
Pesticide paradox (principle)
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.
Absence-of-errors fallacy (principle)
Finding and fixing defects does not help if the system built is unusable and does not fulfill the users’ needs and expectations.
code
Computer instructions and data definitions expressed in a programming language or in
a form output by an assembler, compiler or other translator
debugging
The process of finding, analyzing and removing the causes of failures in software.
test objective
A reason or purpose for designing and executing a test.