ABSTRACT
Testing with random inputs can give surprisingly good results if the distribution of inputs is spread out evenly over the input domain; this is the intuition behind Adaptive Random Testing, which relies on a notion of "distance" between test values. Such distances have so far been defined for integers and other elementary inputs; extending the idea to the testing of today's object-oriented programs requires a more general notion of distance, applicable to composite programmer-defined types.We define a notion of object distance, with associated algorithms to compute distances between arbitrary objects, and use it to generalize Adaptive Random Testing to such inputs. The resulting testing strategies open the way for effective automated testing of large, realistic object-oriented programs.
- J. H. Andrews, S. Haldar, Y. Lei, and C. H. Li. Randomized unit testing: Tool support and best practices. Technical Report 663, Department of Computer Science, University of Western Ontario, January 2006.Google Scholar
- K. P. Chan, T. Y. Chen, and D. Towey. Restricted random testing. In Proceedings of the 7th International Conference on Software Quality, pages 321--330. Springer-Verlag, London, UK, 2002. Google ScholarDigital Library
- T. Chen, H. Leung, and I. Mak. Adaptive random testing. In M. J. Maher, editor, Advances in Computer Science - ASIAN 2004: Higher-Level Decision Making. 9th Asian Computing Science Conference. Proceedings. Springer-Verlag GmbH, 2004. Google ScholarDigital Library
- T. Chen, R. Merkel, P. Wong, and G. Eddy. Adaptive random testing through dynamic partitioning. In Proceedings of the Fourth International Conference on Quality Software, volume 00, pages 79--86, Los Alamitos, CA, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- T. Y. Chen, F. C. Kuo, R. G. Merkel, and S. P. Ng. Mirror adaptive random testing. In Proceedings of the Third International Conference on Quality Software, volume 00, pages 4--11, Los Alamitos, CA, USA, 2003. IEEE Computer Society. Google ScholarDigital Library
- I. Ciupa and A. Leitner. Automatic testing based on design by contract. In Proceedings of Net.ObjectDays 2005 (6th Annual International Conference on Object-Oriented and Internet-based Technologies, Concepts, and Applications for a Networked World), pages 545--557, September 19-22 2005.Google Scholar
- J. Duran and S. Ntafos. An evaluation of random testing. IEEE Transactions on Software Engineering, SE-10:438--444, July 1984.Google ScholarDigital Library
- D. Hamlet and R. Taylor. Partition testing does not inspire confidence. IEEE Transactions on Software Engineering, 16(12):1402--1411, December 1990. Google ScholarDigital Library
- R. Hamlet. Random testing. In J. Marciniak, editor, Encyclopedia of Software Engineering, pages 970--978. Wiley, 1994.Google Scholar
- S. Khurshid, C. S. Pasareanu, and W. Visser. Generalized symbolic execution for model checking and testing. In Proceedings of the Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2003), volume LNCS 2619, pages 553--568. Springer-Verlag, 2003. Google ScholarDigital Library
- V. I. Levenshtein. Binary codes capable of correcting deletions, insertions, and reversals. Doklady Akademii Nauk SSSR, 163(4):845--848, 1965.Google Scholar
- J. Mayer. Adaptive random testing by bisection with restriction. In Proceedings of the Seventh International Conference on Formal Engineering Methods (ICFEM 2005), LNCS 3785, pages 251--263. Springer-Verlag, Berlin, 2005. Google ScholarDigital Library
- J. Mayer. Lattice-based adaptive random testing. In Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), ACM, pages 333--336. ACM Press, New York, NY, USA, 2005. Google ScholarDigital Library
- T. Menzies and B. Cukic. When to test less. IEEE Software, 17(5):107--112, September - October 2000. Google ScholarDigital Library
- G. J. Myers. The Art of Software Testing. John Wiley & Sons. 1979. Google ScholarDigital Library
- K. Zhang, J. T.-L. Wang, and D. Shasha. On the editing distance between undirected acyclic graphs and related problems. In Proceedings of the 6th Annual Symposium on Combinatorial Pattern Matching, pages 395--407. Springer-Verlag, Berlin, 1995.Google ScholarCross Ref
Index Terms
- Object distance and its application to adaptive random testing of object-oriented programs
Recommendations
Comparison of adaptive random testing and random testing under various testing and debugging scenarios
Adaptive random testing is an enhancement of random testing. Previous studies on adaptive random testing assumed that once a failure is detected, testing is terminated and debugging is conducted immediately. It has been shown that adaptive random ...
Does Adaptive Random Testing Deliver a Higher Confidence than Random Testing?
QSIC '08: Proceedings of the 2008 The Eighth International Conference on Quality SoftwareRandom testing (RT) is a fundamental software testing technique. Motivated by the rationale that neighbouring test cases tend to cause similar execution behaviours, adaptive random testing (ART) was proposed as an enhancement of RT, which enforces ...
Adaptive random testing with randomly translated failure region
RT '06: Proceedings of the 1st international workshop on Random testingAdaptive Random Testing (ART) algorithms are designed to be more effective than Random Testing. Some of these methods however distribute the test cases not evenly within the input domain. Therefore, some locations are preferred. Since the locations of ...
Comments