Reliability quality in software is value derived from its robustness in always being there when needed and producing consistent results. Reliability can be seen as a sub-dimension of cybersecurity where integrity and availability also come into play, however its useful to separate these threats involving bad actors (security) from those that do not (reliability).
Stakeholders will prioritise reliability when its important that the software product, system or service keeps running when needed or where data accuracy is critical to their clients.
Stability: The ability to handle errors and other interruptions
Integrity: The ability to accurately handle information without loss or corruption
Availability: The ability to be used on-demand whenever needed
Key supporting metrics may include:
- Frequency and length of interruptions or down-time within a time period, particularly when it violates any service-level agreements (SLAs)
- Numerical data offset errors
Frequent interruptions, especially error messages that leave users in the dark about how to proceed, can be annoying for users of any application such as office software errors or being disconnected from online computer games every time there’s a network spike. However interruptions in other software, such as real-time banking, medical monitoring devices and flight software can have huge impacts and must remain working at all costs.
Threats to usability value may include:
- Transient network errors
- Expected internal errors
- Unexpected external influences
- Ambiguous error messages
Famous usability bugs include:
- Service Level Agreements (SLAs)
Heuristics to test for reliability quality may include:
There are currently no posts to show