What is a defect?
For a test engineer, a defect is:
• Any deviation from a given specification.
• Anything that causes user dissatisfaction
• Incorrect output
• Software is not behaving the way it should behave.
Difference between bug, defect and error:-
• Software is said to have a bug if the features deviate from the specifications.
• Software is said to have a defect if it is having some unwanted side effects.
• Software is said to have an error if it is giving an incorrect output.
When you look at categorizing software defects, they fall into the below categories:
• Errors of Commission : when something wrong is done.
• Errors of Omission : when something is left out by accident.
• Errors of Clarity & Ambiguity : when there are different interpretations.
• Errors of speed & capacity.
• Conceptual or Design bugs.
• Coding bugs
• Integration bugs.
• User interface errors.
• Functional errors.
• Communication errors.
• Missing commands
• Error handling errors.
• Boundary related errors
• Calculation errors
• Control flow errors.
• Race condition errors.
• Load condition errors.
• Hardware errors.
• Source & Version control errors.
• Documentation errors.
• Testing errors.