This paper presents a tool that (i) constructs tree-based models of a program’s behavior during testing and (ii) employs these trees while reordering and reducing a test suite. Using either a dynamic call tree or a calling context tree, the test reduction component identifies a subset of the original tests that covers the same call tree paths. The prioritization technique reorders a test suite so that it covers the call tree paths more rapidly than the initial test ordering. In support of program and test suite understanding, the tool also visualizes the call trees and the coverage relationships. For a chosen case study application, the experimental results show that call tree construction only increases testing time by 13%. In comparison to the original test suite, the experiments show that (i) a prioritized suite achieves coverage much faster and (ii) a reduced test suite contains 45% fewer tests and consumes 82% less time.
Smith, A. M., Geiger, J. J., Kapfhammer, G. M., & Soffa, M. L. (2007). Test suite reduction and prioritization with call trees. Proceedings of the 22nd International Conference on Automated Software Engineering.
Want to cite this paper? Look in the BiBTeX file of gkapfham/research-bibliography for the key "Smith2007b".