Abstract
Model-Driven Engineering (MDE) is a software engineering paradigm where models play a key role. In a MDE-based development process, models are successively transformed into other models and eventually into the final source code by means of a chain of model transformations. Since writing model transformations is an error-prone task, mechanisms to ensure their reliability are greatly needed. One way of achieving this is by means of testing. A challenging aspect when testing model transformations is the generation of adequate input test data. Most existing approaches generate test data following a black-box approach based on some sort of partition analysis that exploits the structural features of the source metamodel of the transformation. However, these analyses pay no attention to the OCL invariants of the metamodel or do it very superficially. In this paper, we propose a mechanism that systematically analyzes OCL constraints in the source metamodel in order to fine-tune this partition analysis and therefore, the generation of input test data. Our mechanism can be used in isolation, or combined with other black-box or white-box test generation approaches.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Ab Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Software and System Modeling (June 2013) (Published online)
Ali, S., Iqbal, M.Z.Z., Arcuri, A., Briand, L.C.: Generating test data from OCL constraints with search techniques. IEEE Transactions on Software Engineering 39(10), 1376–1402 (2013)
Andrews, A.A., France, R.B., Ghosh, S., Craig, G.: Test adequacy criteria for UML design models. Software Testing, Verification and Reliability 13(2), 95–127 (2003)
Baudry, B., Dinh-Trong, T., Mottu, J.M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Traon, Y.L.: Model transformation testing challenges. In: ECMDA Workshop on Integration of Model Driven Development and Model Driven Testing (2006)
Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Traon, Y.L., Mottu, J.M.: Barriers to systematic model transformation testing. Comm. of the ACM 53(6), 139–143 (2010)
Bernard, E., Bouquet, F., Charbonnier, A., Legeard, B., Peureux, F., Utting, M., Torreborre, E.: Model-based testing from UML models. In: Informatik 2006. LNI, vol. 94, pp. 223–230. GI (2006)
Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: An algorithm and a tool. In: 17th Int. Symposium on Software Reliability Engineering, ISSRE 2006, pp. 85–94. IEEE (2006)
Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: OCL and Model Driven Engineering Workshop (2004)
Fiorentini, C., Momigliano, A., Ornaghi, M., Poernomo, I.: A constructive approach to testing model transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 77–92. Springer, Heidelberg (2010)
Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: Testing model transformations. In: 1st Int. Workshop on Model, Design and Validation, pp. 29–40 (2004)
Gogolla, M., Richters, M.: Expressing UML class diagrams properties with OCL. In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 85–114. Springer, Heidelberg (2002)
González, C.A., Cabot, J.: ATLTest: A white-box test generation approach for atl transformations. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 449–464. Springer, Heidelberg (2012)
Guerra, E.: Specification-driven test generation for model transformations. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 40–55. Springer, Heidelberg (2012)
Küster, J.M., Abd-El-Razik, M.: Validation of model transformations - first experiences using a white box approach. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 193–204. Springer, Heidelberg (2007)
Lamari, M.: Towards an automated test generation for the verification of model transformations. In: ACM Symposium on Applied Computing (SAC), pp. 998–1005. ACM (2007)
Ostrand, T.J., Balcer, M.J.: The category-partition method for specifying and generating functional tests. Comm. of the ACM 31(6), 676–686 (1988)
Sen, S., Baudry, B., Mottu, J.M.: On combining multi-formalism knowledge to select models for model transformation testing. In: 1st Int. Conf. on Software Testing, Verification and Validation (ICST), pp. 328–337. IEEE (2008)
Vallecillo, A., Gogolla, M., Burgueño, L., Wimmer, M., Hamann, L.: Formal specification and testing of model transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 399–437. Springer, Heidelberg (2012)
Wang, J., Kim, S.K., Carrington, D.: Automatic generation of test models for model transformations. In: 19th Australian Conf. on Software Engineering (ASWEC), pp. 432–440. IEEE (2008)
Weißleder, S., Sokenou, D.: Automatic test case generation from UML models and OCL expressions. In: Software Engineering 2008 - Workshopband, Fachtagung des GI-Fachbereichs Softwaretechnik. LNI, vol. 122, pp. 423–426. GI (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
González, C.A., Cabot, J. (2014). Test Data Generation for Model Transformations Combining Partition and Constraint Analysis. In: Di Ruscio, D., Varró, D. (eds) Theory and Practice of Model Transformations. ICMT 2014. Lecture Notes in Computer Science, vol 8568. Springer, Cham. https://doi.org/10.1007/978-3-319-08789-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-08789-4_3
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-08788-7
Online ISBN: 978-3-319-08789-4
eBook Packages: Computer ScienceComputer Science (R0)