Errors are mistakes made by people which cause Faults.
Causes of Software Error
- Faulty requirements definition (incorrect, missing, incomplete, unnecessary requirements)
- Client-developer communication failures
- Deliberate deviations from software requirements (improper reuse, omission due to time pressure, gold-plating)
- Logical design errors (problems with algorithms, sequencing of actions, boundary conditions, missing states, how to handle “illegal” input)
- Coding errors
- Non-compliance with documentation and coding instructions (more difficult to deal with team attrition and inspections)
- Shortcomings of the testing process
- Procedure errors (workflow and user interface errors)
- Documentation errors