Abstract
This paper describes a new discrete event simulation model built using a mathematical tool (Matlab) to investigate the simulation of the programming and the testing phases of a software development project. In order to show how the model can be used and to provide some preliminary concrete results, we give three examples of how this model can be utilized to examine the effect of adopting different strategies for coding and testing a new software system. Specifically, we provide results of simulation runs intended to simulate the effects on the coding and testing phases of different testing strategies, the adoption of pair programming in an otherwise-unchanged process, and the automation of testing. The model source code is available for downloading at http://qp.research.ibm.com/concurrency_testing, and we invite researchers and practitioners to use and modify the model.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Beck, K.: Extreme Programming Explained. Addison Wesley Professional, Reading (2000)
Capers Jones, T.: Estimating Software Costs. McGraw-Hill, New York (1998)
Capers Jones, T.: Applied software measurement: assuring productivity and quality. McGraw-Hill, Inc., New York (1991)
George, B., Williams, L.A.: An Initial Investigation of Test Driven Development in Industry. In: Proc. ACM Symposium on Applied Computing (SAC) 2003,, Melbourne, FL, USA, March, 2003, ACM Press, New York (2003)
Holger, C., Zeller, A.: Locating Causes of Program Failures. In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol. 4309, Springer, Heidelberg (2006)
IBM Rational Unified Process: Best practices for software development teams, http://www-128.ibm.com/developerworks/rational/library/253.html accessed Dec. 2005
Kramer C.: Black Box Software Testing, Section: 7: The Black Box Testing Organization (2001), available at http://testingeducation.org/course_notes/kaner_cem/ac_200108_blackboxtesting/blackboxtesting_07_blackbox_testing_group.pdf accessed 11 December 2005
Laitenberger, O., DeBaud, J.: An Encompassing Life-Cycle Centric Survey of Software Inspection. Report ISERN, pp. 98–32. Fraunhofer Institute for Experimental Software Engineering (1998)
Madachy, R.J.: System Dynamics Modeling of an Inspection Based Process. In: Proc. International Conference on Software Engineering (1996)
Marick, B.: When should a test be automated? (1998), http://www.testing.com/writings/automate.pdf accessed 16 December 2005
Maximilien, E.M., Williams, L.: Assessing test-driven development at IBM. In: Proceedings of the 25th International Conference on Software Engineering, pp. 564–569 (2003)
Onoma, A.K., et al.: Regression testing in an industrial environment. Comm. ACM 41(5), 81–86 (1998)
Raffo, D., et al.: Guest Editors’ Introduction: Special Issue on Software Process Simulation Modelling. J. Systems and Software 46(2/3) (1999)
Rothermel, G., Harrold, M.J.: Analyzing Regression Test Selection Techniques. IEEE Transactions on Software Engineering 22(8), 529–551 (1996)
RTI The Economic Impacts of Inadequate Infrastructure for Software Testing. Final report (May 2002), retrieved from http://www.nist.gov/director/prog-ofc/report02-3.pdf on 21 June 2006.
Wernick, P., Hall, T.: The Impact of Using Pair Programming on System Evolution: a Simulation-based Study. In: Proc. ICSM (2004)
Wernick, P., Scacchi, W.: Guest Editors’ Introduction: Special Issue on ProSim 2003. Software Process: Improvement and Practice 9(2) (2004)
Williams, L., et al.: Strengthening the Case for Pair Programming. IEEE Software 17(4), 19–25 (2000)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Ur, S., Yom-Tov, E., Wernick, P. (2007). An Open Source Simulation Model of Software Development and Testing. In: Bin, E., Ziv, A., Ur, S. (eds) Hardware and Software, Verification and Testing. HVC 2006. Lecture Notes in Computer Science, vol 4383. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70889-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-70889-6_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70888-9
Online ISBN: 978-3-540-70889-6
eBook Packages: Computer ScienceComputer Science (R0)