The evaluation of program-based software test data adequacy criteria
Communications of the ACM
Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Adequate testing and object-oriented programming
Journal of Object-Oriented Programming
Object-oriented modeling and design
Object-oriented modeling and design
Incremental testing of object-oriented class structures
ICSE '92 Proceedings of the 14th international conference on Software engineering
Object-oriented integration testing
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
On regression testing of object-oriented programs
Journal of Systems and Software
The Unified Modeling Language user guide
The Unified Modeling Language user guide
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Testing levels for object-oriented software
Proceedings of the 22nd international conference on Software engineering
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
A practical guide to testing object-oriented software
A practical guide to testing object-oriented software
Requirements analysis and system design: developing information systems with UML
Requirements analysis and system design: developing information systems with UML
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
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Revisiting Strategies for Ordering Class Integration Testing in the Presence of Dependency Cycles
ISSRE '01 Proceedings of the 12th International Symposium on Software Reliability Engineering
Graphs, Networks and Algorithms
Graphs, Networks and Algorithms
A flexible integration strategy for in-car telematics systems
SEAS '05 Proceedings of the second international workshop on Software engineering for automotive systems
Test Order for Class-based Integration Testing of Java Applications
QSIC '05 Proceedings of the Fifth International Conference on Quality Software
Coupling-based class integration and test order
Proceedings of the 2006 international workshop on Automation of software test
Minimizing stub creation during integration test of aspect-oriented programs
Proceedings of the 3rd workshop on Testing aspect-oriented programs
Discovering accurate interclass test dependences
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Software Testing Research: Achievements, Challenges, Dreams
FOSE '07 2007 Future of Software Engineering
JooJ: real-time support for avoiding cyclic dependencies
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
An empirical study of cycles among classes in Java
Empirical Software Engineering
A state-based approach to integration testing based on UML models
Information and Software Technology
Not all classes are created equal: toward a recommendation system for focusing testing
Proceedings of the 2008 international workshop on Recommendation systems for software engineering
Quantitatively measuring object-oriented couplings
Software Quality Control
A measurement framework for object-oriented software testability
Information and Software Technology
Generating integration test cases automatically
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
A Pareto ant colony algorithm applied to the class integration and test order problem
ICTSS'10 Proceedings of the 22nd IFIP WG 6.1 international conference on Testing software and systems
Design evolution metrics for defect prediction in object oriented systems
Empirical Software Engineering
Establishing integration test orders of classes with several coupling measures
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Safe runtime validation of behavioral adaptations in autonomic software
ATC'11 Proceedings of the 8th international conference on Autonomic and trusted computing
Integration test of classes and aspects with a multi-evolutionary and coupling-based approach
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
A testing strategy for abstract classes
Software Testing, Verification & Reliability
Augmenting test suites automatically
Proceedings of the 34th International Conference on Software Engineering
A study of cyclic dependencies on defect profile of software components
Journal of Systems and Software
Hi-index | 0.02 |
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. Such dependencies represent a practical problem as they make any topological ordering of classes impossible. Three main approaches, aimed at "breaking" cycles, have been proposed. The first one was proposed by Tai and Danielsand 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. The third one was proposed by Briand et al.; it combines some of the principles of the two previous approaches and addresses some of their shortcomings (e.g., the first approach may result into unnecessary stubbing whereas the second may lead to breaking cycles by "removing" aggregation or inheritance dependencies, thus leading to complex stubbing). This paper reviews these strategies (principles are described, advantages and drawbacks are precisely investigated) and provides both analytical and empirical comparisons based on five case studies.