A reliability growth model is a model of how the system reliability changes over time during the testing process.As system failures are discovered, the underlying faults causing these failures are repaired so that the reliability of the system should improve during system testing and debugging. To predict reliability, the conceptual reliability growth model must then be translated into a mathematical model.
Reliability growth modeling involves comparing measured reliability at a number of points of time with known functions that show possible changes in reliability. For example, an equal step function suggests that the reliability of a system increases linearly with each release. By matching observed reliability growth with one of these functions, it is possible to predict the reliability of the system at some future point in time. Reliability growth models can therefore be used to support project planning.
I have simplified reliability growth modelling here to give you a basic understanding of the concept. If you wish to use these models, you have to go into much more depth and develop an understanding of the mathematics underlying these models and their practical problems. Littlewood and Musa (Littlewood, 1990, Abdel-Ghaly et al., 1986)(Musa, 1998) have written extensively on reliability growth models and Kan (Kan, 2003) has an excellent summary in his book. Various authors have described their practical experience of the use of reliability growth models (Ehrlich et al., 1993, Schneidewind and Keller, 1992, Sheldon et al., 1992).
Simplistically, you can predict reliability by matching the measured reliability data to a known reliability model. You then extrapolate the model to the required level of reliability and observe when the required level of reliability will be reached (Figure 1). Therefore, testing and debugging must continue until that time.
- Planning of testing Given the current testing schedule, you can predict when testing will be completed. If this is after the planned delivery date for the system then you may have to deploy additional resources for testing and debugging to accelerate the rate of reliability growth.
- Customer negotiations Sometimes the reliability model shows that the growth of reliability is very slow and that a disproportionate amount of testing effort is required for relatively little benefit. It may be worth renegotiating the reliability requirements with the customer. Alternatively, it may be that the model predicts that the required reliability will probably never be reached. In this case, you will have to renegotiate the reliability requirements with the customer for the system.