Estimation of software release times based on a queueing model for software testing
Abstract
The development o f large-scale software systems is a complex and expensive
process. The key to successful software projects is planning and estimation o f time
frames for each phase o f the lifecycle. Testing plays a very important role in software
lifecycle and constitutes almost 40% o f the total development costs. In the literature,
several software reliability models have been proposed to assess the reliability o f
software from either specified parameters or from software-error generated data.
These models assume the impractical notion o f perfect debugging, and also assume
that no new faults are introduced in the event o f imperfect debugging. Also, these
models do not take into account the characteristics o f the software and the process o f
its development.
In this thesis, we propose a queueing model based on re-entrant lines to depict
the process o f software modules undergoing testing/debugging, verification and
validation, and quality assurance tests before being accepted for use. In the proposed
model for software testing, servers denote the test teams and parts denote the software
modules to be tested. The model takes into account the structure o f the software, the
individual modules being distinguished by their criticality in the mission, the complexity
-of design and implementation, and their usage in operational field from profiles. Reentrancy
o f modules is attributed to the notion o f imperfect debugging and that new
faults can be introduced in the event o f imperfect debugging. Using the re-entrant line
model for software testing, bounds on test times are obtained by considering the state
transitions for a general class o f modules and solving a linear programming model.
Scheduling o f software modules for test at each process step yields the constraints for
the linear program. From the bounds on test times, bounds on product release times
are obtained.
We resort to simulation modeling to obtain the mean test times for modules.
Different sets o f simulation parameters are used based on the structure o f the software,
with the individual modules categorised based on their complexity, criticality and
usage.
The performance bounds obtained through the linear programs formulated and
the mean performance values obtained using detailed simulation are useful in the
planning o f test activities and estimating software release times in software
development efforts for large projects.

