Automated Testing of Classes

  • Authors:
  • Ugo Buy;Alessandro Orso;Mauro Pezze

  • Affiliations:
  • EECS Dept., Univ. of Illinois at Chicago, Chicago, IL;DEI, Politecnico di Milano, Milano, Italy;DEI, Politecnico di Milano, Milano, Italy

  • Venue:
  • Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programs developed with object technologies have unique features that often make traditional testing methods inadequate. Consider, for instance, the dependence between the state of an object and the behavior of that object: The outcome of a method executed by an object often depends on the state of the object when the method is invoked. It is therefore crucial that techniques for testing of classes exercise class methods when the method's receiver is in different states. The state of an object at any given time depends on the sequence of messages received by the object up to that time. Thus, methods for testing object-oriented software should identify sequences of method invocations that are likely to uncover potential defects in the code under test. However, testing methods for traditional software do not provide this kind of information.In this paper, we use data flow analysis, symbolic execution, and automated deduction to produce sequences of method invocations exercising a class under test. Since the static analysis techniques that we use are applied to different subproblems, the method proposed in this paper can automatically generate information relevant to testing even when symbolic execution and automated deduction cannot be completed successfully.