Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 33093
Bayesian Belief Networks for Test Driven Development
Authors: Vijayalakshmy Periaswamy S., Kevin McDaid
Abstract:
Testing accounts for the major percentage of technical contribution in the software development process. Typically, it consumes more than 50 percent of the total cost of developing a piece of software. The selection of software tests is a very important activity within this process to ensure the software reliability requirements are met. Generally tests are run to achieve maximum coverage of the software code and very little attention is given to the achieved reliability of the software. Using an existing methodology, this paper describes how to use Bayesian Belief Networks (BBNs) to select unit tests based on their contribution to the reliability of the module under consideration. In particular the work examines how the approach can enhance test-first development by assessing the quality of test suites resulting from this development methodology and providing insight into additional tests that can significantly reduce the achieved reliability. In this way the method can produce an optimal selection of inputs and the order in which the tests are executed to maximize the software reliability. To illustrate this approach, a belief network is constructed for a modern software system incorporating the expert opinion, expressed through probabilities of the relative quality of the elements of the software, and the potential effectiveness of the software tests. The steps involved in constructing the Bayesian Network are explained as is a method to allow for the test suite resulting from test-driven development.Keywords: Software testing, Test Driven Development, Bayesian Belief Networks.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1329124
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1886References:
[1] David A. Wooff, Michael Goldstein, and Frank P.A. Coolen, "Bayesian Graphical Models for Software Testing", IEEE Transactions Software Engineering, May2002, pp 510-525.
[2] Kearton Rees, Frank Coolen, Michael Goldstein, and David Wooff, "Managing the Uncertainties of software testing: a Bayesian Approach". Quality and Reliability Engineering International, 17, in 2002 pp 191- 203.
[3] F.P. Coolen, M. Goldstein, and D.A. Wooff, "Using Bayesian statistics to support testing of software systems". Proceedings of the 16th Advances in Reliability Technology Symposium, in 2005, pp 109-121.
[4] F. P. A. Coolen and M. Goldstein and D. A. Wooff, "Project viability assessment for support of software testing via Bayesian graphical modeling", In: Safety and Reliability, Lisse: Swets & Zeitlinger, in 2003, pp 417-422.
[5] Jensen, F.V.,".Bayesian Networks and Decision Graphs". New York: Springer 2001
[6] "Bayesian Belief Networks", Available: http://www.hugin//developer.com//
[7] Norman E. Fenton, Martin Neil, "Software Metrics: roadmap", Proceedings of the Conference on the future of Software Engineering, ACM Press, 2000, pp 357-370.
[8] "Introduction to Test-Driven Development (TDD)", Available: http://www.agiledata.org//
[9] "Improving Application Quality Using Test-Driven Development (TDD)", Available: http://www.methodsandtools.com//