Using Coverage Information to Guide Test Case Selection in Adaptive Random Testing

Random Testing (RT) is a fundamental software testing technique. Adaptive Random Testing (ART) improves the fault-detection capability of RT by employing the location information of previously executed test cases. Compared with RT, test cases generated in ART are more evenly spread across the input domain. ART has conventionally been applied to programs that have only numerical input types, because the distance between numerical inputs is readily measurable. The vast majority of computer programs, however, involve non-numerical inputs. To apply ART to these programs requires the development of effective new distance measures. Different from those measures that focus on the concrete values of program inputs, in this paper we propose a method to measure the distance using coverage information. The proposed method enables ART to be applied to all kinds of programs regardless of their input types. Empirical studies are further conducted for the branch coverage Manhattan distance measure using the replace and space programs. Experimental results show that, compared with RT, the proposed method significantly reduces the number of test cases required to detect the first failure. This method can be directly applied to prioritize regression test cases, and can also be incorporated into code-based and model-based test case generation tools.

[1]  Tsong Yueh Chen,et al.  An upper bound on software testing effectiveness , 2008, TSEM.

[2]  T. H. Tse,et al.  Adaptive Random Test Case Prioritization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[3]  Tsong Yueh Chen,et al.  Proportional sampling strategy: a compendium and some insights , 2001, J. Syst. Softw..

[4]  Tsong Yueh Chen,et al.  On Adaptive Random Testing Through Iterative Partitioning , 2006, J. Inf. Sci. Eng..

[5]  Ps Loo,et al.  Random testing revisited , 1988 .

[6]  R. Hamlet RANDOM TESTING , 1994 .

[7]  I. K. Mak,et al.  Adaptive Random Testing , 2004, ASIAN.

[8]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[9]  Thomas J. Ostrand,et al.  Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria , 1994, Proceedings of 16th International Conference on Software Engineering.

[10]  Carlos Urias Munoz,et al.  Automatic Generation of Random Self-Checking Test Cases , 1983, IBM Syst. J..

[11]  Robert G. Merkel,et al.  Analysis and enhancements of adaptive random testing , 2005 .

[12]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[13]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[14]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[15]  Tsong Yueh Chen,et al.  Adaptive Random Testing: The ART of test case diversity , 2010, J. Syst. Softw..

[16]  Brent Hailpern,et al.  Software debugging, testing, and verification , 2002, IBM Syst. J..

[17]  Barton P. Miller,et al.  An empirical study of the robustness of Windows NT applications using random testing , 2000 .

[18]  Yashwant K. Malaiya,et al.  Antirandom testing: getting the most out of black-box testing , 1995, Proceedings of Sixth International Symposium on Software Reliability Engineering. ISSRE'95.

[19]  Tsong Yueh Chen,et al.  On Favourable Conditions for Adaptive Random Testing , 2007, Int. J. Softw. Eng. Knowl. Eng..

[20]  Kai-Yuan Cai,et al.  Towards research on software cybernetics , 2002, 7th IEEE International Symposium on High Assurance Systems Engineering, 2002. Proceedings..

[21]  Kai-Yuan Cai,et al.  Adaptive software testing with fixed-memory feedback , 2007, J. Syst. Softw..

[22]  Bertrand Meyer,et al.  ARTOO , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[23]  Carl K. Chang,et al.  Practical Extensions of a Randomized Testing Tool , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[24]  Barton P. Miller,et al.  An empirical study of the reliability of UNIX utilities , 1990, Commun. ACM.