Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ISO IS 10746-x. ODP reference model part x. Technical report, International Standards Organization (1995)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Dalal, S.R., Jain, A., Karunanithi, N., Leaton, J.M., Lott, C.M.: Model-based testing of a highly programmable system. In: Proc. 9th International Symposium on Software Reliability Engineering (ISSRE 1998) (1998)
Dalal, S.R., Jain, A., Karunanithi, N., Leaton, J.M., Lott, C.M., Patton, G.C., Horowitz, B.M.: Model-based testing in practice. In: Proceedings of the 1999 International Conference on Software Engineering (ICSE 1999) (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)
Gervais, M.P.: Towards an MDA-oriented methodology. In: Proceedings of the 26th Annual International Computer Software and Applications Conference (COMPSAC 2002) (2002)
Grundy, J., Cai, Y., Liu, A.: Generation of distributed system test-beds from high-level software architecture descriptions. In: Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001) (2001)
Gu, Z.Y., Cheng, K.E.: The derivation of test cases from sdl specifications. In: Proceedings of the 30th Annual Southeast Regional Conference. ACM Press, New York (1992)
Gupta, P., Cunning, S.J., Rozenbilt, J.W.: Synthesis of high-level requirements models for automatic test generation. In: 8th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2001) (2001)
Liu, Y., Gorton, I., Liu, A., Jiang, N., Chen, S.: Designing a test suite for empirically-based middleware performance prediction. In: 40th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS Pacific 2002), Sydney, Australia (2002)
Mats, L.: Selection criteria for automated TTCN test case generation from SDL. In: 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques (1998)
Miller, J., Mukerji, J.: Model driven architecture (MDA). OMG Document ormsc/2001-07-01 (July 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rutherford, M.J., Wolf, A.L. (2003). A Case for Test-Code Generation in Model-Driven Systems. In: Pfenning, F., Smaragdakis, Y. (eds) Generative Programming and Component Engineering. GPCE 2003. Lecture Notes in Computer Science, vol 2830. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39815-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-39815-8_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20102-1
Online ISBN: 978-3-540-39815-8
eBook Packages: Springer Book Archive