Adaptive random testing through test profiles

Random testing (RT), which simply selects test cases at random from the whole input domain, has been widely applied to test software and assess the software reliability. However, it is controversial whether RT is an effective method to detect software failures. Adaptive random testing (ART) is an enhancement of RT in terms of failure‐detection effectiveness. Its basic intuition is to evenly spread random test cases all over the input domain. There are various notions to achieve the goal of even spread, and each notion can be implemented by different algorithms. For example, ‘by exclusion’ and ‘by partitioning’ are two different notions to evenly spread test cases. Restricted random testing (RRT) is a typical algorithm for the notion of ‘by exclusion’, whereas the notion of ‘by partitioning’ can be implemented by either the technique of bisection (ART‐B) or the technique of random partitioning (ART‐RP). In this paper, we propose a generic approach that can be used to implement different notions. In the new approach, test cases are simply selected based on test profiles that are in turn designed according to certain notions. In this study, we design several test profiles for the notions of ‘by exclusion’ and ‘by partitioning’, and then use these profiles to illustrate our new approach. Our experimental results show that compared with the original RRT, ART‐B, and ART‐RP algorithms, our new approach normally brings at least a higher failure‐detection capability or a lower computational overhead. Copyright © 2011 John Wiley & Sons, Ltd.

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

[2]  Huai Liu,et al.  On Test Case Distributions of Adaptive Random Testing , 2007, SEKE.

[3]  Dave Towey,et al.  Restricted Random Testing: Adaptive Random Testing by Exclusion , 2006, Int. J. Softw. Eng. Knowl. Eng..

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

[5]  William H. Press,et al.  Numerical recipes , 1990 .

[6]  Huai Liu,et al.  Adaptive Random Testing by Exclusion through Test Profile , 2010, 2010 10th International Conference on Quality Software.

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

[8]  Huai Liu,et al.  Application of a Failure Driven Test Profile in Random Testing , 2009, IEEE Trans. Reliab..

[9]  Bojan Cukic,et al.  Caveats , 2020, The African Continental Free Trade Area: Economic and Distributional Effects.

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

[11]  Tsong Yueh Chen,et al.  Adaptive random testing by localization , 2004, 11th Asia-Pacific Software Engineering Conference.

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

[13]  Koushik Sen,et al.  CUTE: a concolic unit testing engine for C , 2005, ESEC/FSE-13.

[14]  Gary J. Nutt A Case Study of Simulation as a Computer System Design Tool , 1978, Computer.

[15]  Richard G. Hamlet,et al.  Partition Testing Does Not Inspire Confidence , 1990, IEEE Trans. Software Eng..

[16]  G. B. Finelli,et al.  NASA Software failure characterization experiments , 1991 .

[17]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[18]  John Regehr,et al.  Random testing of interrupt-driven software , 2005, EMSOFT.

[19]  H. Tijms Understanding Probability: Chance Rules in Everyday Life , 2004 .

[20]  Peter G. Bishop,et al.  The variation of software survival time for different operational input profiles (or why you can wait a long time for a big bug to fail) , 1993, FTCS-23 The Twenty-Third International Symposium on Fault-Tolerant Computing.

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

[22]  James Miller,et al.  A Novel Evolutionary Approach for Adaptive Random Testing , 2009, IEEE Transactions on Reliability.

[23]  Johannes Mayer,et al.  Lattice-based adaptive random testing , 2005, ASE.

[24]  Dave Towey,et al.  A revisit of adaptive random testing by restriction , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

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

[26]  Dave Towey,et al.  Forgetting Test Cases , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

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

[28]  Simeon C. Ntafos,et al.  An Evaluation of Random Testing , 1984, IEEE Transactions on Software Engineering.

[29]  Jonathan K. Lawder Calculation of Mappings Between One and n-dimensional Values Using the Hilbert Space-filling Curve ⋆ , 2009 .

[30]  Paul Ammann,et al.  Data Diversity: An Approach to Software Fault Tolerance , 1988, IEEE Trans. Computers.

[31]  Jianjun Zhao,et al.  A Divergence-Oriented Approach to Adaptive Random Testing of Java Programs , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

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

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

[34]  Walter J. Gutjahr,et al.  Partition Testing vs. Random Testing: The Influence of Uncertainty , 1999, IEEE Trans. Software Eng..

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

[36]  Hang Tuah Jaya,et al.  Faculty of Information and Communication Technology , 2010 .

[37]  Johannes Mayer,et al.  Adaptive Random Testing by Bisection and Localization , 2005, FATES.

[38]  Peter G. Bishop,et al.  An exploration of software faults and failure behaviour in a large population of programs , 2004, 15th International Symposium on Software Reliability Engineering.

[39]  Sandro Morasca,et al.  On the analytical comparison of testing techniques , 2004, ISSTA '04.

[40]  Tsong Yueh Chen,et al.  Adaptive random testing through dynamic partitioning , 2004, Fourth International Conference onQuality Software, 2004. QSIC 2004. Proceedings..