Axiomatic assessment of control flow-based software test adequacy criteria

Software test data adequacy criteria are rules to determine whether a piece of software has been adequately tested. Since Goodenough and Gerhard pointed out that the central problem of software testing is ‘what is a test data adequacy criterion’, many test data adequacy criteria have been proposed and investigated in the literature. Each criterion has its own strength and weakness. The comparison of these adequacy criteria has long been desirable but unsatisfactory. One of the approaches to compare existing software test adequacy criteria is to assess them against our intuitive concept of software test adequacy, by presenting a set of axioms of the ideal test adequacy criterion and checking if existing criteria satisfy these axioms. Weyuker is perhaps the first computer scientist who explicitly employs the notion of axiom systems in the study of software testing. However, an open problem in the application of this approach is how to avoid the weakness in the use of negative properties as axioms. In the study of control flow graphs, Baker et al. have proposed five properties as the requirements of control flow-based adequacy criteria. These properties are positive requirements of test adequacy criteria, but informal and less systematic. Some of the properties conflict with Weyuker's axioms. In the paper, we propose an axiom system combining the framework of Weyuker's system with Baker et al's positive properties. These properties are analysed, formalised and modified. A set of control flow-based test adequacy criteria is assessed against these axioms.

[1]  Simeon C. Ntafos,et al.  On Required Element Testing , 1984, IEEE Transactions on Software Engineering.

[2]  M. R. Woodward,et al.  From weak to strong, dead or alive? an analysis of some mutation testing issues , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[3]  Martin R. Woodward,et al.  Experience with Path Analysis and Testing of Programs , 1980, IEEE Transactions on Software Engineering.

[4]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[5]  William E. Howden,et al.  Weak Mutation Testing and Completeness of Test Sets , 1982, IEEE Transactions on Software Engineering.

[6]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[7]  S. Rao Kosaraju Analysis of Structured Programs , 1974, J. Comput. Syst. Sci..

[8]  Elaine J. Weyuker,et al.  Axiomatizing software test data adequacy , 1986, IEEE Transactions on Software Engineering.

[9]  Elaine J. Weyuker,et al.  The evaluation of program-based software test data adequacy criteria , 1988, CACM.

[10]  A. A. Kaposi,et al.  A Generalised Mathematical Theory of Structured Programming , 1985, Theor. Comput. Sci..

[11]  G. Gordon Schulmeyer,et al.  System Testing Aided by Structured Analysis: A Practical Experience , 1985, IEEE Transactions on Software Engineering.

[12]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[13]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[14]  Stuart H. Zweben,et al.  Clarifying Some Fundamental Concepts in Software Testing , 1993, IEEE Trans. Software Eng..

[15]  Lori A. Clarke,et al.  A Close Look at Domain Testing , 1982, IEEE Transactions on Software Engineering.

[16]  Stuart H. Zweben,et al.  Analysis and Refinement of Software Test Data Adequacy Properties , 1991, IEEE Trans. Software Eng..

[17]  John S. Gourlay A Mathematical Framework for the Investigation of Testing , 1983, IEEE Transactions on Software Engineering.

[18]  Hong Zhu,et al.  Test data adequacy measurement , 1993, Softw. Eng. J..

[19]  Richard G. Hamlet Theoretical comparison of testing methods , 1989 .

[20]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[21]  John B. Goodenough,et al.  Toward a theory of test data selection , 1975 .

[22]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[23]  Lee J. White,et al.  A Domain Strategy for Computer Program Testing , 1980, IEEE Transactions on Software Engineering.

[24]  Elaine J. Weyuker Translatability and Decidability Questions for Restricted Classes of Program Schemas , 1979, SIAM J. Comput..

[25]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[26]  Michael R. Paige Program graphs, an algebra, and their implication for programming , 1975, IEEE Transactions on Software Engineering.