List the Reliability Metrics of Software Products
The reliability of a software product essentially denotes its trustworthiness or dependability. It is defined as the probability of the product working “correctly” over a given period.
The reliability requirements for different categories of software products may be different. For this reason, the level of reliability required for a software product must be specified in the software requirements specification (SRS) document. To be able to do this, we need some metrics to quantitatively express the reliability of a software product. Six metrics correlate with reliability as follows:
Reliability Metrics of Software Products:
1. Rate of occurrence of failure (ROCOF): ROCOF measures the frequency of occurrence of failures. It measures a software product that can be obtained by observing the behaviour of a software product in operation over a specified time interval and then calculating the ROCOF value as the ratio of the total number of failures observed and the duration of observation.
2. Meantime to failure (MTTF): MTTF is the time between two successive failures, averaged over a large number of failures.
3. Meantime to repair (MTTR): Once failure occurs, some time is required to fix the error. MTTR measures the average time it takes to track the errors causing the failure and to fix them.
4. Meantime between failure (MTBF): The MTTF and MTTR metrics can be combined to get the MTBF metric:
5. Probability of failure on demand (POFOD): Unlike the other metrics discussed, this metric does not explicitly involve time measurements. POFOD measures the likelihood of the system failing when a service request is made.
6. Availability: Availability of a system is a measure of how likely would the system be available for use over a given period. This metric not only considers the number of failures occurring during a time interval but also takes into account the repair time (downtime) of a system when a failure occurs. This metric is important for systems such as – telecommunication systems, operating systems, embedded controllers, etc.