Bayesian Testing Strategies for Software with an Operational Profile S. ¨ Ozekici, 1 R. Soyer 2 1 Department of Industrial Engineering, Bo˜ gazi¸ ci University, 80815 Bebek-Istanbul, Turkey 2 Department of Management Science, The George Washington University, Washington, DC 20052 Received July 2000; revised March 2001; accepted 28 May 2001 Abstract: We consider a software reliability model where the failure rate of each fault depends on the specific operation performed. The software is tested in a given sequence of test cases for fixed durations of time to collect data on failure times. We present a Bayesian analysis of software failure data by treating the initial number of faults as a random variable. Our analysis relies on the Markov Chain Monte Carlo methods and is used for developing optimal testing strategies in an adaptive manner. Two different models involving individual and common faults are analyzed. We illustrate an implementation of our approach by using some simulated failure data. c 2001 John Wiley & Sons, Inc. Naval Research Logistics 48: 747–763, 2001 Keywords: Software testing; operational profile; statistical inference; Bayesian analysis 1. INTRODUCTION In this article, we discuss some interesting statistical issues that arise in the testing of software with an operational profile. An operational profile, as described by Musa [9, 10], consists of the set of all possible operations that a system is designed to perform and their occurrence probabilities. It quantifies, in a probabilistic sense, how a software will be used in the field. The main contribution of this profile in software reliability engineering is that it reduces system risk by making it more realistic. Moreover, it makes testing faster and more efficient. It is this aspect of the software development cycle that we will focus on in this article. To put it more precisely, we consider the testing phase where the software is tested sequentially for given durations of time in a number of test cases. ¨ Ozekici and Soyer [12] recently introduced a stochastic model of software failures when the operational process, in fact, is a Markov process. Wohlin and Runeson [19] also discuss the effect of usage modelling in software certification. A stochastic model of software usage involving Markov chains is employed in Whittaker and Poore [17] and Whittaker and Thomason [18]. In their approach, the sequence of ‘‘inputs’’ provided by the user is modeled as a Markov chain. This results in a model at the micro level involving all possible values of input variables with a huge state Correspondence to: S. ¨ Ozekici c 2001 John Wiley & Sons, Inc.