Refactoring is an important technique in today's software development practice. If applied correctly, it can significantly improve software design without altering behavior. During refactoring, developers rely on regression testing. However, without further knowledge about the test suite, how can we be confident that regression testing will detect potential refactoring faults? To get more insight into adequacy of refactoring tests, we therefore suggest test coverage of a refactoring's scope of impact as a quantitative measure of confidence. This paper shows how to identify a refactoring's scope of impact and proposes scope-based test coverage criteria. An example is included that illustrates how to use the new test coverage criteria for assessing the adequacy of refactoring tests.
展开▼