Generating regression unit tests using a combination of verification and capture & replay

  • Authors:
  • Christoph Gladisch;Shmuel Tyszberowicz;Bernhard Beckert;Amiram Yehudai

  • Affiliations:
  • Department of Computer Science, University of Koblenz;School of Computer Science, The Academic College of Tel Aviv Yaffo;Institut für Theoretische Informatik, Karlsruhe Institute of Technology;School of Computer Science, Tel Aviv University

  • Venue:
  • TAP'10 Proceedings of the 4th international conference on Tests and proofs
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The combination of software verification and testing techniques is increasingly encouraged due to their complementary strengths. Some verification tools have extensions for test case generation. These tests are strong at detecting software faults during the implementation and verification phase, and to further increase the confidence in the final software product. However, tests generated using verification technology alone may lack some of the benefits obtained by using more traditional testing techniques. One such technique is Capture and Replay, whose strengths are the generation of isolated unit tests and regression test oracles. Hence, the two groups of techniques have complementary strengths, and therefore are ideal candidates for a tool-chain approach proposed in this paper. The first phase produces, for a given system, unit tests with high coverage. However, when using them to test a unit, its environment is tested as well - resulting in a high cost of testing. To solve this problem, the second phase captures the various executions of the program, which are monitored by the output of the first phase. The output of the second phase is a set of unit tests with high code coverage, which uses mock objects to test the units. Another advantage of this approach is the fact that the generated tests can also be used for regression testing.