Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
Estimating the number of test cases required to satisfy the all-du-paths testing criterion
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Testability of Software Components
IEEE Transactions on Software Engineering
PIE: A Dynamic Failure-Based Technique
IEEE Transactions on Software Engineering
Semantic metrics for software testability
Journal of Systems and Software - Special issue on the Oregon Metric Workshop
Derivation and validation of software metrics
Derivation and validation of software metrics
Design for testability in object-oriented systems
Communications of the ACM
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Performing data flow testing on classes
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
On regression testing of object-oriented programs
Journal of Systems and Software
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Software Testability: The New Verification
IEEE Software
Reliable Objects: Lightweight Testing for OO Languages
IEEE Software
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Towards a Framework for Software Measurement Validation
IEEE Transactions on Software Engineering
ICSR-6 Proceedings of the 6th International Conerence on Software Reuse: Advances in Software Reusability
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Testability Measurements for Data Flow Designs
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Robustness and Diagnosability of OO Systems Designed by Contracts
METRICS '01 Proceedings of the 7th International Symposium on Software Metrics
Characterizing Observability and Controllability of Software Components
ICSR '96 Proceedings of the 4th International Conference on Software Reuse
Criteria for Testing Polymorphic Relationships
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Analyzing Testability on Data Flow Designs
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
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
Using UML collaboration diagrams for static checking and test generation
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Proceedings of the ISSTA 2006 workshop on Role of software architecture for testing and analysis
Improving the testability of object oriented software through software contracts
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Design-for-testability is a very important issue in software engineering. It becomes crucial in the case of OO designs where control flows are generally not hierarchical, but are diffuse and distributed over the whole architecture. In this paper, we concentrate on detecting, pinpointing and suppressing potential testability weaknesses of a UML class diagram. The attribute significant from design testability is called 'class interaction' and is generalized in the notion of testability anti-pattern: it appears when potentially concurrent client/supplier relationships between classes exist in the system. These interactions point out parts of the design that need to be improved, driving structural modifications or constraints specifications, to reduce the final testing effort. In this paper, the testability measurement we propose counts the number and the complexity of interactions that must be covered during testing. The approach is illustrated on application examples.