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.
KeywordsSoftware testing unit testing model management test frameworks model validation model transformation
Unable to display preview. Download preview PDF.
- 1.Apache Foundation: Ant 1.8.2 (December 2010), http://ant.apache.org/
- 3.Beck, K.: JUnit.org (April 2011), http://www.junit.org/
- 4.Beust, C.: TestNG (March 2011), http://testng.org/
- 6.Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: The AMMA platform support for modeling in the large and modeling in the small. Research Report 04.09, LINA, University of Nantes, Nantes, France (Feburary 2005)Google Scholar
- 7.Brottier, E., Fleurey, F., Steel, J., Baudry, B., Le Traon, Y.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: Proc. of the 17th Int. Symposium on Software Reliability Engineering, pp. 85–94. IEEE Computer Society, Los Alamitos (2006)Google Scholar
- 8.Eclipse Foundation: Graphical Modeling Project (2011), http://eclipse.org/modeling/gmf/
- 10.Guttman, M., Parodi, J.: Real-Life MDA: Solving Business Problems with Model Driven Architecture, 1st edn. Morgan Kaufmann, San Francisco (2006)Google Scholar
- 11.Haase, A., Völter, M., Efftinge, S., Kolb, B.: Introduction to openArchitectureWare 4.1.2. In: Proc. of the MDD Tool Implementers Forum, TOOLS Europe 2007 (2007)Google Scholar
- 12.Kawaguchi, K.: Jenkins CI (April 2011), http://jenkins-ci.org/
- 13.Kolovos, D.S., Paige, R.F., Rose, L.M., Polack, F.A.: Unit testing model management operations. In: Proc. of the 2008 IEEE Int. Conf. on Software Testing Verification and Validation, Lillehammer, Norway, pp. 97–104 (April 2008)Google Scholar
- 15.Kolovos, D.S., Rose, L.M., Paige, R.F.: The Epsilon Book (March 2011), http://www.eclipse.org/gmt/epsilon
- 17.Mottu, J., Baudry, B., Le Traon, Y.: Model transformation testing: oracle issue. In: Proc. of the 2008 IEEE Int. Conf. on Software Testing Verification and Validation, Lillehammer, Norway, pp. 105–112 (April 2008)Google Scholar
- 18.Object Management Group: Human-Usable Textual Notation (HUTN) 1.0 (August 2004), http://www.omg.org/technology/documents/formal/hutn.htm
- 20.Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Reading (2008)Google Scholar