|
Selected publications by date
Selected publications by category
|
|   |
Regression Test Selection for Java Software
Proceedings of the ACM
Conference on Object-Oriented Programming, Systems, Languages, and
Applications (OOPSLA 2001)
October 2001
M.J. Harrold, J. Jones, T. Li, D. Liang, A. Orso, M. Pennings,
S. Sinha, S. Spoon, and A. Gujarathi
Abstract
As software evolves during development and maintenance, regression
testing is applied to modified versions of the software to provide
confidence that the changed parts behave as intended and that the
unchanged parts have not been adversely affected by the modifications.
To reduce the cost of regression testing, test cases are selected from
the test suite that was used to test the original version of the
software---this process is called regression test selection. A
safe regression-test-selection algorithm selects every test
case in the test suite that may reveal a fault in the modified
software. Safe regression-test-selection techniques can help to
reduce the time required to perform regression testing because they
select only a portion of the test suite for use in the testing but
guarantee that the faults revealed by this subset will be the same as
those revealed by running the entire test suite. This paper presents
the first safe regression-test-selection technique that, based on the
use of a suitable representation, handles the features of the Java
language. Furthermore, unlike other safe regression test selection
techniques, the presented technique also handles incomplete programs.
The technique can thus be safely applied in the (very common) case of
Java software that uses external libraries or components; the analysis
of the external code is not required for the technique to select test
cases for this kind of software. The paper also describes
RETEST, a regression-test-selection system that implements our
technique, and a set of empirical studies that demonstrate the
potential savings that can be achieved using our technique. These
studies show that, for the subjects we considered, the
regression-test-selection algorithm can be effective in reducing the
size of the test suite.
|