Error - The difference between a computed,
observed, or measured value or condition and the true, specified, or
theoretically correct value or condition.
Fault - An incorrect step, process, or data
definition in a computer program.
Debug - To detect, locate, and correct faults in a
computer program.
Failure - The inability of a system or component to
perform its required functions within specified performance requirements. It is
manifested as a fault.
Testing - The process of analyzing a software item
to detect the differences between existing and required conditions (that is,
bugs) and to evaluate the features of the software items.
Static analysis - The process of evaluating a
system or component based on its form, structure, content, or documentation.
Dynamic analysis - The process of evaluating a
system or component based on its behavior during execution.
Correctness - The degree to which a system or
component is free from faults in its specification, design, and implementation.
The degree to which software, documentation, or other items meet specified
requirements. The degree to which software, documentation, or other items meet
user needs and expectations, whether specified or not.
Verification - The process of evaluating a system
or component to determine whether the products of a given development phase
satisfy the conditions imposed at the start of that phase. Formal proof of
program correctness.
Validation - The process of evaluating a system or
component during or at the end of the development process to determine whether
it satisfies specified requirements.