Software development and testing: a system dynamics simulation and modeling approach

  • Authors:
  • Kumar Saurabh

  • Affiliations:
  • IBM India Pvt. Ltd., Bangalore, India

  • Venue:
  • SEPADS'10 Proceedings of the 9th WSEAS international conference on Software engineering, parallel and distributed systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software-development and testing is a complex activity that often shows signs of contradicting instinctive activities, in that outcomes can vary drastically with deliberate consequences. Software-development and testing has many complexities, including dynamic behavior and feedback mechanisms, as well as various interacting factors. System dynamics is a modeling methodology that is well suited to explaining the root causes of contradicting instinctive activities - through its focus on building a simulation model that reflects causal relationships, feedback and delays. The production of a high quality software product requires application of both defect prevention and defect detection techniques. A common defect detection strategy is to subject the product to several phases of testing such as unit, integration, and system. These testing phases consume significant project resources and cycle time. As software companies continue to search for ways for reducing cycle time and development costs while increasing quality, software testing processes emerge as a prime target for investigation. This paper presents a system dynamics model of software development, better understanding testing processes. Motivation for modeling testing processes is presented along with a an executable model of the unit test phase. It motivates the importance of software cycle time reduction. The objective of the research is to provide decision makers with a model that will enable the prediction of the impact a set of process improvements will have on their software development cycle time.