ARTOO: adaptive random testing for object-oriented software

  • Authors:
  • Ilinca Ciupa;Andreas Leitner;Manuel Oriol;Bertrand Meyer

  • Affiliations:
  • Swiss Federal Institute of Technology (ETH) Zurich, Zurich, Switzerland;Swiss Federal Institute of Technology (ETH) Zurich, Zurich, Switzerland;Swiss Federal Institute of Technology (ETH) Zurich, Zurich, Switzerland;Swiss Federal Institute of Technology (ETH) Zurich, Zurich, Switzerland

  • Venue:
  • Proceedings of the 30th international conference on Software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.