On the Effectiveness of Test Extraction without Overhead

  • Authors:
  • Andreas Leitner;Alexander Pretschner;Stefan Mori;Bertrand Meyer;Manuel Oriol

  • Affiliations:
  • -;-;-;-;-

  • Venue:
  • ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developers write and execute ad-hoc tests as they implement software. While these tests reflect important insights of the developers (e.g., which parts of the software need testing and what inputs should be used), they are usually not persistent and are easily forgotten. They cannot always be re-executed automatically, for example to debug or to test for regressions. Several methods that make such test cases persistent and automatically executable have been proposed. They rely on capturing state and/or events at runtime and thus induce significant overhead or require specialized hardware. In previous work we proposed a method that, in the event of a failure, extracts test cases solely from the state at the time of the failure (and not from before the failure). We call this method "failure-state extraction". Capturing the state only at the moment of failure reduces the run-time overhead to zero, but comes at a cost: state extracted in this way cannot always be used to reproduce the failure. This paper provides an experimental evaluation of failure-state extraction. The results show that the method is highly effective: in the experiment, 90% of all failures were reproducible using failure-state extraction and thus could be extracted without run-time overhead.