The Community for Technology Leaders
Green Image
Issue No. 01 - January/February (2009 vol. 35)
ISSN: 0098-5589
pp: 29-45
Hui Nee Chin , University of Nebraska, Lincoln
Matthew Jorde , University of Nebraska, Lincoln
Sebastian Elbaum , University of Nebraska, Lincoln
Matthew B. Dwyer , University of Nebraska, Lincoln
ABSTRACT
Unit test cases are focused and efficient. System tests are effective at exercising complex usage patterns. Differential unit tests (DUT) are a hybrid of unit and system tests that exploits their strengths. They are generated by carving the system components, while executing a system test case, that influence the behavior of the target unit, and then re-assembling those components so that the unit can be exercised as it was by the system test. In this paper we show that DUTs retain some of the advantages of unit tests, can be automatically generated, and have the potential for revealing faults related to intricate system executions. We present a framework for carving and replaying DUTs that accounts for a wide variety of strategies and tradeoffs, we implement an automated instance of the framework with several techniques to mitigate test cost and enhance flexibility and robustness, and we empirically assess the efficacy of carving and replaying DUTs on three software artifacts.
INDEX TERMS
Testing strategies, Test execution, Test design
CITATION
Hui Nee Chin, Matthew Jorde, Sebastian Elbaum, Matthew B. Dwyer, "Carving and Replaying Differential Unit Test Cases from System Test Cases", IEEE Transactions on Software Engineering, vol. 35, no. , pp. 29-45, January/February 2009, doi:10.1109/TSE.2008.103
99 ms
(Ver )