Sampling Schemes For Estimating Software Reliability
Metadata[+] Show full item record
Any software system of non-trivial size cannot be easily and completely tested because the domain of all possible inputs is complex and very large. In this study, we use a technique called partition testing, in which we divide the input domain of all potential testing cases D into K ≥ 2 non-overlapping sub-domains. Each sub-domain can therefore be tested independently from the others. We employ two methods, a fully sequential method and two-stages method, that are based on a sample of the test cases to allocate the test cases among partitions and minimize the variance of estimated software reliability when usage probabilities are random. These methods allow us to take advantages from the previous testing as we test and, as a result, dynamically improve the distribution of test cases throughout the reliability testing process. By dynamically allocating test cases to partitions, these methods aim to minimize the variance of the reliability estimation. The variance incurred by fully sequential method and the variance incurred by two-stages method are compared with the variance incurred by the optimal and the variance incurred by the balanced sampling method. Using theoretical results and a Monte Carlo simulation, the fully sampling method and the two-stages method perform better than the balanced sampling method and are nearly optimal.
Table of Contents
Introduction -- Software reliability estimation for K partitions -- Software reliability estimation for two partitions -- Fully sequential estimation in software reliability -- Two-stage estimation in software reliability -- Monte Carlo simulations -- Summary and conclusion
Ph.D. (Doctor of Philosophy)