Identifying test-critical dependencies
Stefan Jungmayr · 2003
Regression testing is a major cost driver during software maintenance. An important approach to reduce maintenance costs is therefore to improve software testability The improvement efforts should concentrate on those parts of a software system that cause the most severe problems during testing and maintenance. This paper describes a new approach to testability improvement focusing on system structure. We identify dependencies that are critical for testing, i.e. test-critical dependencies, based on a set of testability metrics. The results of four case studies show that (1) a small subset of the dependencies within a system has an exceedingly high impact on particular testability metrics, (2) conventional coupling metrics are not good predictors of these test-critical dependencies, (3) dependencies automatically identified to be test-critical are good indicators of design that needs improvement.