Using genetic algorithms and coupling measures to devise optimal integration test orders
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
An Investigation of Graph-Based Class Integration Test Order Strategies
IEEE Transactions on Software Engineering
Test Order for Class-based Integration Testing of Java Applications
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Journal of Systems and Software
Measuring design testability of a UML class diagram
Information and Software Technology
A study of cyclic dependencies on defect profile of software components
Journal of Systems and Software
Hi-index | 0.00 |
The issue of ordering class integration in the context of integration testing has been discussed by a number of researchers.More specifically, strategies have been proposed to generate a test order while minimizing stubbing.Recent papers have addressed the problem of deriving an integration order in the presence of dependency cycles in the class diagram.Suchdependencies represent a practical problem as they make any topological ordering of classes impossible.This paper proposes a strategy that integrates two existing methods aimed at 驴breaking驴 cycles so as to allow a topological order of classes.The first one was proposed by Tai et al and is based on assigning a higher-level order according to aggregation and inheritance relationships and a lower-level order according to associations.The second one was proposed by Le Traon et al and is based on identifying strongly connected components in the dependency graph.Among other things, the former approach may result into unnecessary stubbing whereas the latter may lead to breaking cycles by 驴removing驴 aggregation or inheritance dependencies, thus leading to complexstubbing.We propose here an approach that combines some of the principles of both approaches and addresses some of their shortcomings.All approaches (principles,benefits,drawbacks) are thoroughly compared by the means of a case study, based on a real system written in Java.