|
ABSTRACT
Intuition is often not a good guide to know which testing strategies will work best. There is no substitute for experimental analysis based on objective criteria: how many faults a strategy finds, and how fast. "Random" testing is an example of an idea that intuitively seems simplistic or even dumb, but when assessed through such criteria can yield better results than seemingly smarter strategies. The efficiency of random testing is improved if the generated inputs are evenly spread across the input domain. This is the idea of Adaptive Random Testing (ART). ART was initially proposed for numerical inputs, on which a notion of distance is immediately available. To extend the ideas to the testing of object-oriented software, we have developed a notion of distance between objects and a new testing strategy called ARTOO, which selects as inputs objects that have the highest average distance to those already used as test inputs. ARTOO has been implemented as part of a tool for automated testing of object-oriented software. We present the ARTOO concepts, their implementation, and a set of experimental results of its application. Analysis of the results shows in particular that, compared to a directed random strategy, ARTOO reduces the number of tests generated until the first fault is found, in some cases by as much as two orders of magnitude. ARTOO also uncovers faults that the random strategy does not find in the time allotted, and its performance is more predictable.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Jtest. Parasoft Corporation. http://www.parasoft.com/.
|
| |
2
|
The EiffelBase Library. Eiffel Software Inc. http://www.eiffel.com/.
|
| |
3
|
Andrews, J. H., Haldar, S., Lei, Y., and Li, C. H. Randomized unit testing: Tool support and best practices. Tech. Rep. 663, Department of Computer Science, University of Western Ontario, January 2006.
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
Chen, T. Y., Leung, H., and Mak, I. K. Adaptive random testing. In Advances in Computer Science - ASIAN 2004: Higher-Level Decision Making. 9th Asian Computing Science Conference. Proceedings (2004), M. J. Maher, Ed., Springer-Verlag GmbH.
|
 |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
Duran, J., and Ntafos, S. An evaluation of random testing. IEEE Transactions on Software Engineering SE-10 (July 1984), 438 -- 444.
|
 |
15
|
|
| |
16
|
|
| |
17
|
Hamlet, R. Random testing. In Encyclopedia of Software Engineering, J. Marciniak, Ed. Wiley, 1994, pp. 970--978.
|
| |
18
|
Khurshid, S., Pasareanu, C. S., and Visser, W. 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) (2003), vol. LNCS 2619, Springer-Verlag, pp. 553--568.
|
| |
19
|
Leitner, A., and Ciupa, I. AutoTest. http://se.inf.ethz.ch/people/leitner/auto_test/, 2005 - 2007.
|
| |
20
|
Levenshtein, V. I. Binary codes capable of correcting deletions, insertions, and reversals. Doklady Akademii Nauk SSSR 163, 4 (1965), 845--848.
|
| |
21
|
Mayer, J. Adaptive random testing by bisection with restriction. In Proceedings of the Seventh International Conference on Formal Engineering Methods (ICFEM 2005) (2005), LNCS 3785, Springer-Verlag, Berlin, pp. 251--263.
|
 |
22
|
|
| |
23
|
|
| |
24
|
Meyer, B., Ciupa, I., Leitner, A., and Liu, L. L. Automatic testing of object-oriented software. In Proceedings of SOFSEM 2007 (Current Trends in Theory and Practice of Computer Science) (2007), J. van Leeuwen, Ed., Lecture Notes in Computer Science, Springer-Verlag.
|
| |
25
|
|
| |
26
|
Oriat, C. Jartege: a tool for random generation of unit tests for Java classes. Tech. Rep. RR-1069-I, Centre National de la Recherche Scientifique, Institut National Polytechnique de Grenoble, Universit´e Joseph Fourier Grenoble I, June 2004.
|
| |
27
|
Pacheco, C., and Ernst, M. D. Eclat: Automatic generation and classification of test inputs. In ECOOP 2005 - Object-Oriented Programming, 19th European Conference (Glasgow, Scotland, July 25-29, 2005).
|
| |
28
|
|
 |
29
|
|
 |
30
|
|
|