What is a failure and how it differs from defect?

Answer

Fault, or failure, stands for system misbehavior or any situation where the software does not conform to system requirements as a result of error in design or implementation of the system. If failure occurs, there must be a defect associated with it. Quality Assurance main responsibility is to minimize failure risk. In several organizations, fault is referred to specific sort of failures which may cause the whole system to cease operating correctly (crash or other global malfunction), while failure does not necessarily imply such a situation.

Not all defects eventually lead to failure. For example, for a certain defect to render a failure, a very specific conditions may be required. Also, some defects may harm the system functionality in very rare occations (uncommon feature etc.)

It is important to mention, that not all detected defects are going to be fixed on the next software version, either from resource consideration or due to other reasons. However, spotting and localization of the defect by itself is considered a very important task, since it may spare precious time and resources on determining and analysis of product misbehavior during maintenance phase.