TestTube: A System for Selective Regression Testing

Abstract

This paper describes a system called TestTube that combines static and dynamic analysis to perform selective retesting of software systems written in C. TestTube first identifies which functions, types, variables and macros are covered by each test unit in a test suite. Each time the system under test is modified, TestTube identifies which entities were changed to create the new version. Using the coverage and change information, TestTube selects only those test units that cover the changed entities for testing the new version. We have applied TestTube to selective retesting of two software systems, an I/O library and a source code analyzer. Additionally, we are adapting TestTube for selective retesting of nondeterministic systems, where the main drawback is the unsuitability of dynamic analysis for identification of covered entities. Our experience with TestTube has been quite encouraging, with an observed reduction of 50% or more in the number of test cases needed to test typical ..

    Similar works

    Full text

    thumbnail-image

    Available Versions