Estimation of software release times based on a queueing model for software testing
Abstract
The development of large-scale software systems is a complex and resource-intensive process, with testing accounting for nearly 40% of total development costs. Accurate planning and estimation of testing phases are critical to project success. Traditional software reliability models often assume perfect debugging and fail to account for the structure of the software or the realities of its development process.
This thesis introduces a queueing model based on re-entrant lines to represent the testing lifecycle of software modules. In this model, servers represent test teams and parts represent software modules, which are categorized by their complexity, criticality, and operational usage. Re-entrancy reflects imperfect debugging, where modules may re-enter the testing process due to newly introduced faults.
Bounds on test times are derived using a linear programming formulation based on state transitions and scheduling constraints. These bounds are then used to estimate product release times. Additionally, simulation modeling is employed to compute mean test times under varying software structures and module characteristics.
The performance bounds and simulation results provide valuable insights for planning test activities and estimating release timelines in large software development projects. The proposed model offers a more realistic and effective framework for managing software testing in complex systems.