Software Errors

Failure, fault and error

  • Failure
    • Observable incorrect behaviour of a program. Related to the behaviour of the program rather than its code.
  • Fault (bug)
    • Necessary (not sufficient) condition for the occurrence of a failure. Related to the code.
  • Error
    • A mistake usually made by people. Cause of a fault.

9 Causes of Software Errors

  1. Faulty requirements definition (incorrect, missing, incomplete, unnecessary requirements)
  2. Client-developer communication failures
  3. Deliberate deviations from software requirements (improper reuse, omission due to time pressure, gold-plating)
  4. Logical design errors (problems with algorithms, sequencing of actions, boundary conditions, missing states, how to handle “illegal” input)
  5. Coding errors
  6. Non-compliance with documentation and coding instructions (more difficult to deal with team attrition and inspections)
  7. Shortcomings of the testing process
  8. Procedure errors (workflow and user interface errors)
  9. Documentation errors