Specification-Driven Test Generation for Model Transformations

Testing model transformations poses several challenges, among them the automatic generation of appropriate input test models and the specification of oracle functions. Most approaches to the generation of input models ensure a certain level of source meta-model coverage, whereas the oracle functions are frequently defined using query or graph languages. Both tasks are usually performed independently regardless their common purpose, and sometimes there is a gap between the properties exhibited by the generated input models and those demanded to the transformations (as given by the oracles). Recently, we proposed a formal specification language for the declarative formulation of transformation properties (invariants, pre- and postconditions) from which we generated partial oracle functions that facilitate testing of the transformations. Here we extend the usage of our specification language for the automated generation of input test models by constraint solving. The testing process becomes more intentional because the generated models ensure a certain coverage of the interesting properties of the transformation. Moreover, we use the same specification to consistently derive both the input test models and the oracle functions.

[1]  Vicente Pelechano,et al.  Test-Driven Development of Model Transformations , 2009, MoDELS.

[2]  Malte Lochau,et al.  MoSo-PoLiTe: tool support for pairwise and model-based software product line testing , 2011, VaMoS '11.

[3]  Gregor Engels,et al.  Graph Transformations and Model-Driven Engineering - Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday , 2010, Graph Transformations and Model-Driven Engineering.

[4]  Juan de Lara,et al.  A Visual Specification Language for Model-to-Model Transformations , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[5]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[6]  Juan de Lara,et al.  Engineering model transformations with transML , 2011, Software & Systems Modeling.

[7]  Martin Gogolla,et al.  Tractable Model Transformation Testing , 2011, ECMFA.

[8]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[9]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[10]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[11]  Yves Le Traon,et al.  Reusable MDA components: a testing-for-trust approach , 2006, MoDELS'06.

[12]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[13]  Charles J. Colbourn,et al.  Covering arrays of higher strength from permutation vectors , 2006 .

[14]  Richard F. Paige,et al.  EUnit: a unit testing framework for model management tasks , 2011, MODELS'11.

[15]  Jochen Malte Küster,et al.  Validation of model transformations: first experiences using a white box approach , 2006, MoDELS'06.

[16]  Nikolai Tillmann,et al.  Unit tests reloaded: parameterized unit testing with symbolic execution , 2006, IEEE Software.

[17]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[18]  Ákos Horváth,et al.  Workflow-Driven Tool Integration Using Model Transformations , 2010, Graph Transformations and Model-Driven Engineering.

[19]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[20]  Laurence Duchien,et al.  OCL for the Specification of Model Transformation Contracts , 2004 .

[21]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[22]  Jacques Klein,et al.  Pairwise testing for software product lines: comparison of two approaches , 2012, Software Quality Journal.

[23]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[26]  Benoit Baudry,et al.  Automatic Model Generation Strategies for Model Transformation Testing , 2009, ICMT@TOOLS.

[27]  Yves Le Traon,et al.  Qualifying input test data for model transformations , 2009, Software & Systems Modeling.