Test coverage analysis based on program slicing

Coverage analysis is a structural testing technique that helps to eliminate gaps in a test suite and determines when to stop testing. To compute test coverage, this letter proposes a new concept—coverage about variables, based on program slicing. By adding powers according to their importance, the users can focus on the important variables to obtain higher test coverage. The letter presents methods to compute basic coverage based on program structure graphs. In most cases, the coverage obtained in the letter is bigger than that obtained by a traditional measure, because the coverage about a variable takes only the related codes into account.

[1]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[2]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[3]  Larry J Morell,et al.  A Theory of Fault-Based Testing , 1990, IEEE Trans. Software Eng..

[4]  Jonathan P. Bowen,et al.  Reinforced Condition/Decision Coverage (RC/DC): A New Criterion for Software Testing , 2002, ZB.

[5]  Simeon C. Ntafos,et al.  A Comparison of Some Structural Testing Strategies , 1988, IEEE Trans. Software Eng..

[6]  Mark Weiser,et al.  Comparison of Structural Test Coverage Metrics , 1985, IEEE Software.

[7]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[8]  Baowen Xu,et al.  Slicing object-oriented java programs , 2001, SIGP.

[9]  Mary Lou Soffa,et al.  Generating test data for branch coverage , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[10]  Robert G. Lanergan,et al.  Software Engineering with Reusable Designs and Code , 1984, IEEE Transactions on Software Engineering.

[11]  Mark Harman,et al.  Using program slicing to simplify testing , 1995, Softw. Test. Verification Reliab..