Bayesian Belief Networks for Test Driven Development
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.
[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//
[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//
@article{"International Journal of Information, Control and Computer Sciences:49962", author = "Vijayalakshmy Periaswamy S. and Kevin McDaid", title = "Bayesian Belief Networks for Test Driven Development", 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.", volume = "1", number = "11", pages = "3375-6", }