EUnit: a unit testing framework for model management tasks

Validating and transforming models are essential steps in model-driven engineering. These tasks are often implemented as operations in general purpose programming languages or task-specific model management languages. Just like other software artefacts, these tasks must be tested to reduce the risk of defects. Testing model management tasks requires testers to select and manage the relevant combinations of input models, tasks and expected outputs. This is complicated by the fact that many technologies may be used in the same system, each with their own integration challenges. In addition, advanced test oracles are required: tests may need to compare entire models or directory trees. To tackle these issues, we propose creating an integrated unit testing framework for model management operations. We have developed the EUnit unit testing framework to validate our approach. EUnit tests specify how models and tasks are to be combined, while staying decoupled from the specific technologies used.

[1]  Jim Steel,et al.  Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[2]  Tom Mens,et al.  Challenges in Model-Driven Software Engineering , 2009, MoDELS.

[3]  Richard F. Paige,et al.  Taming EMF and GMF using model transformation , 2010, MODELS'10.

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

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

[6]  Markus Völter,et al.  Introduction to openArchitectureWare 4 . 1 . 2 , 2007 .

[7]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[8]  Michael Guttman,et al.  Real-Life MDA: Solving Business Problems with Model Driven Architecture , 2006 .

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

[10]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

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

[12]  Yves Le Traon,et al.  Model transformation testing: oracle issue , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[13]  Jean Bézivin,et al.  Modeling in the Large and Modeling in the Small , 2003, MDAFA.

[14]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[15]  Jean Bézivin,et al.  Using ATL for Checking Models , 2006, GRaMoT@GPCE.

[16]  Richard F. Paige,et al.  Unit Testing Model Management Operations , 2008, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

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

[18]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

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