A case for test-code generation in model-driven systems
Matthew J. Rutherford, Alexander L. Wolf · 2003
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 in a model-driven, component-based distributed system. We describe our development tool, MODEST, and motivate our decision to invest the extra e#ort needed to generate test code. Additionally, we describe our approach to test-case and test-harness generation and provide a quantification of the relative e#ort of generating test artifacts versus application artifacts.