Generating transition probabilities to support model-based software testing
- Citation data:
Software: Practice and Experience, ISSN: 0038-0644, Vol: 30, Issue: 10, Page: 1095-1106
- Publication Year:
- Repository URL:
- http://stars.library.ucf.edu/facultybib2000/2853; http://stars.library.ucf.edu/facultybib/4758
- Computer Science; Markov chain usage model; model-based testing; test automation; test; planning; Computer Science; Software Engineering
Markov chain usage models support test planning, test automation, and analysis of test results. In practice, transition probabilities for Markov chain usage models are often specified using a cycle of assigning, verifying, and revising specific values for individual transition probabilities. For large systems, such an approach can be difficult for a variety of reasons. We describe an improved approach that represents transition probabilities by explicitly preserving the information concerning test objectives and the relationships between transition probabilities in a format that is easy to maintain and easy to analyze. Using mathematical programming, transition probabilities are automatically generated to satisfy test management objectives and constraints. A more mathematical treatment of this approach is given in References  (Poore JH, Walton GH, Whittaker JA. A constraint-based approach to the representation of software usage models. Information and Software Technology 2000; at press) and  (Walton GH. Generating transition probabilities for Markov chain usage models. PhD Thesis, University of Tennessee, Knoxville, TN, May 1995.). In contrast, this paper is targeted at the software engineering practitioner, software development manager, and test manager. This paper also adds to the published literature on Markov chain usage modeling and model-based testing by describing and illustrating an iterative process for usage model development and optimization and by providing some recommendations for embedding model-based testing activities within an incremental development process.