Software Testing Techniques
Test Driven Development: By Example
Test Driven Development: By Example
FME '01 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods for Increasing Software Productivity
Automatic Test Generation: A Use Case Driven Approach
IEEE Transactions on Software Engineering
Verifying Metamodel Coverage of Model Transformations
ASWEC '06 Proceedings of the Australian Software Engineering Conference
Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Practical Model-Based Testing: A Tools Approach
Practical Model-Based Testing: A Tools Approach
Abstractions for Model-Based Testing
Electronic Notes in Theoretical Computer Science (ENTCS)
Using UML collaboration diagrams for static checking and test generation
UML'00 Proceedings of the 3rd international conference on The unified modeling language: advancing the standard
Generating tests from UML specifications
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Example-driven modeling: model = abstractions + examples
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
In this paper, we deal with errors in metamodels. Metamodels define the abstract syntax of modeling languages. They play a central role in the Model-Driven Architecture. Other artifacts like models or tools are based on them and have to be changed if the metamodel is changed. Consequently, correcting errors in a metamodel can be quite expensive as dependent artifacts have to be adapted to the corrected metamodel. We argue that metamodels should be tested systematically with automated tests. We present a corresponding approach that allows automated metamodel testing based on a test specification. From a test specification, multiple test models can be derived. Each test model defines a potential instance of the metamodel under test. A positive test model defines a potential instance that should be an actual instance of the metamodel; a negative test model defines one that should not. We exemplify our approach with a metamodel for defining a company's structure. Finally, we present MMUnit, an implementation of our approach that builds on the Eclipse platform and integrates the JUnit framework. MMUnit allows to test EMF-based metamodels, which can contain additional constraints, e.g. constraints expressed in OCL.