Model-based testing in practice
Proceedings of the 21st international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
The derivation of test cases from SDL specifications
ACM-SE 30 Proceedings of the 30th annual Southeast regional conference
Designing a test suite for empirically-based middleware performance prediction
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Towards an MDA-Oriented Methodology
COMPSAC '02 Proceedings of the 26th International Computer Software and Applications Conference on Prolonging Software Life: Development and Redevelopment
Selection Criteria for Automated TTCN Test Case Generation from SDL
WIFT '98 Proceedings of the Second IEEE Workshop on Industrial Strength Formal Specification Techniques
Model-based Testing of a Highly Programmable System
ISSRE '98 Proceedings of the The Ninth International Symposium on Software Reliability Engineering
Generation of Distributed System Test-Beds from High-Level Software Architecture Descriptions
Proceedings of the 16th IEEE international conference on Automated software engineering
MDAbench: a tool for customized benchmark generation using MDA
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
MDABench: Customized benchmark generation using MDA
Journal of Systems and Software
Test suite cooperative framework on software quality
CDVE'09 Proceedings of the 6th international conference on Cooperative design, visualization, and engineering
An overview on test generation from functional requirements
Journal of Systems and Software
Hi-index | 0.00 |
A primary goal of generative programming and model-driven development is to raise the level of abstraction at which designers and developers interact with the software systems they are building. During initial development, the benefits of abstraction are clear. However, during testing and maintenance, increased distance from the implementation can be a disadvantage. We view test cases and test harnesses as an essential bridge between the high-level specifications and the implementation. As such, the generation of test cases for fully generated components and test harnesses for partially generated components is of fundamental importance to model-driven systems. In this paper we present our experience with test-case and test-harness generation for a family of model-driven, component-based distributed systems. We describe our development tool, MODEST, and motivate our decision to invest the extra effort needed to generate test code. We present our approach to test-case and test-harness generation and describe the benefits to developers and maintainers of generated systems. Furthermore, we quantify the relative cost of generating test code versus application code and find that the artifact templates for producing test code are simpler than those used for application code. Given the described benefits to developers and maintainers and the relatively low cost of test-code development, we argue that test-code generation should be a fundamental feature of model-driven development efforts.