Error: A discrepancy between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition.
Failure: The inability of a system or component to perform its required functions within specified performance requirements.
Bug: A fault in a program, which causes the program to perform in an unintended or unanticipated manner.
Fault: An incorrect step, process, or data definition in a computer program, which causes the program to perform in an unintended or unanticipated manner.
Defect: Mismatch between the requirements.