During component-based and object-oriented software development, software classes exhibit relationships that complicate integration, including method calls, inheritance, and aggregation. When classes are integrated and tested, an order of integration must be established. The dií└culty arises when cyclic dependencies exist - the functionality that is used by the first class to be tested must be mimicked by creating "stubs" (sometimes called "mocks"), an expensive and error-prone operation. This problem is generally called the class integration and test order (CITO) problem, and solutions must be fully automated for integration and testing to proceed smoothly and efficiently. This paper describes new techniques and algorithms to solve the CITO problem. New results include improved edge weights that are derived from quantitative coupling measures to more precisely model the cost of stubbing, and the use of weights on nodes, allowing more information to be used. Also, a new algorithm for computing the integration and test orders is presented. The technique is compared with an existing approach with positive results.
Back to my home page.