Errors, Defects, Failures, and Root Causes
Errors
Mistakes made during the development process.
Remember that everyone is doing their best. Errors are unintentional. Everyone is human. Everyone makes mistakes. We can help them.
Defects
Flaws or malfunctions that deviate from the intended behavior or design.
Failures
Failures occur when the software does not perform its intended functions.
Root Cause
Identifies the underlying reason or source of a defect or failure.
Causes of software defects
- Humans are fallible
- Pressure
- Complexity
An error (mistake by human)
⬇️
Causes a defect/fault/bug (result of an error, e.g. someone coded it incorrectly)
⬇️
Causes a failure (system does not perform as expected, e.g. wages aren’t paid in 4 decimal places)
Other causes of failure
Failures can occur under environmental conditions (physical, not just infra).
Review Questions
What is the difference between a defect and failure?
Failure is identifying the software fails to meet it’s requirements.
A defect is is what was responsible for causing the failure.