Augmenting automatically generated unit-test suites with regression oracle checking

Tao Xie

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

A test case consists of two parts: a test input to exercise the program under test and a test oracle to check the correctness of the test execution. A test oracle is often in the form of executable assertions such as in the JUnit testing framework. Manually generated test cases are valuable in exposing program faults in the current program version or regression faults in future program versions. However, manually generated test cases are often insufficient for assuring high software quality. We can then use an existing test-generation tool to generate new test inputs to augment the existing test suite. However, without specifications these automatically generated test inputs often do not have test oracles for exposing faults. In this paper, we have developed an automatic approach and its supporting tool, called Orstra, for augmenting an automatically generated unit-test suite with regression oracle checking. The augmented test suite has an improved capability of guarding against regression faults. In our new approach, Orstra first executes the test suite and collects the class under test's object states exercised by the test suite. On collected object states, Orstra creates assertions for asserting behavior of the object states. On executed observer methods (public methods with non-void returns), Orstra also creates assertions for asserting their return values. Then later when the class is changed, the augmented test suite is executed to check whether assertion violations are reported. We have evaluated Orstra on augmenting automatically generated tests for eleven subjects taken from a variety of sources. The experimental results show that an automatically generated test suite's fault-detection capability can be effectively improved after being augmented by Orstra.

Original languageEnglish (US)
Title of host publicationECOOP 2006 - Object-Oriented Programming - 20th European Conference, Proceedings
PublisherSpringer
Pages380-403
Number of pages24
ISBN (Print)3540357262, 9783540357261
DOIs
StatePublished - 2006
Externally publishedYes
Event20th European Conference on Object-Oriented Programming, ECOOP 2006 - Nantes, France
Duration: Jul 3 2006Jul 7 2006

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4067 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other20th European Conference on Object-Oriented Programming, ECOOP 2006
Country/TerritoryFrance
CityNantes
Period7/3/067/7/06

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Augmenting automatically generated unit-test suites with regression oracle checking'. Together they form a unique fingerprint.

Cite this