Los requerimientos no funcionales de confiabilidad se refieren a la capacidad de un software para realizar sus tareas de manera fiable y consistente. Esto significa que el software debe ser capaz de funcionar de manera fiable durante un período de tiempo determinado, sin fallar ni producir errores. Los requerimientos no funcionales de confiabilidad también se refieren a la capacidad del software para recuperarse de un fallo y continuar su ejecución sin errores. El nivel de confiabilidad requerido para un software depende del contexto en el que se va a utilizar. Por ejemplo, un software de control de vuelo necesitará un nivel de confiabilidad mucho mayor que un software de juegos.
Los requerimientos no funcionales de confiabilidad se pueden dividir en tres categorías: disponibilidad, tolerancia a fallos y capacidad de recuperación. La disponibilidad se refiere a la capacidad del software para estar disponible para su uso cuando se le necesita. La tolerancia a fallos se refiere a la capacidad del software para seguir funcionando correctamente a pesar de que se produzcan fallos en algunas partes del sistema. La capacidad de recuperación se refiere a la capacidad del software para recuperarse de un fallo y continuar su ejecución sin errores.
Los requerimientos no funcionales de confiabilidad se pueden medir utilizando una serie de métricas. Algunas de las métricas más comunes son la tasa de fallos, la tasa de errores y la tasa de recuperación. La tasa de fallos se refiere al número de fallos por unidad de tiempo. La tasa de errores se refiere al número de errores por unidad de tiempo. La tasa de recuperación se refiere al tiempo que tarda el software en recuperarse de un fallo.