«

»

Testing Model Transformations: A case for Test Generation from Input Domain Models

by Benoit Baudry
Abstract:
Model transformations can automate critical tasks in model-driven development. Thorough validation techniques are required to ensure their correctness. In this lecture we focus on testing model transformations. In particular, we present an approach for systematic selection of input test data. This approach is based on a key characteristic of model transformations: their input domain is formally captured in a metamodel. A major challenge for test generation is that metamodels usually model an infinite set of possible input models for the transformation. We start with a general motivation of the need for specific test selection techniques in the presence of very large and possibly infinite input domains. We also present two existing black-box strategies to systematically select test data: category-partition and combinatorial interaction testing. Then, we detail specific criteria based on metamodel coverage to select data for model transformation testing. We introduce object and model fragments to capture specific structural constraints that should be satisfied by input test data. These fragments are the basis for the definition of coverage criteria and for automatic generation of test data. They also serve to drive the automatic generation of models for testing.
Reference:
Testing Model Transformations: A case for Test Generation from Input Domain Models (Benoit Baudry), Chapter in Model Driven Engineering for Distributed Real-time Embedded Systems, Hermes, 2009.
Bibtex Entry:
@incollection{Baudry09b,
	Abstract = {Model transformations can automate critical tasks in model-driven
	development. Thorough validation techniques are required to ensure
	their correctness. In this lecture we focus on testing model transformations.
	In particular, we present an approach for systematic selection of
	input test data. This approach is based on a key characteristic of
	model transformations: their input domain is formally captured in
	a metamodel. A major challenge for test generation is that metamodels
	usually model an infinite set of possible input models for the transformation.
	We start with a general motivation of the need for specific test
	selection techniques in the presence of very large and possibly infinite
	input domains. We also present two existing black-box strategies
	to systematically select test data: category-partition and combinatorial
	interaction testing. Then, we detail specific criteria based on metamodel
	coverage to select data for model transformation testing. We introduce
	object and model fragments to capture specific structural constraints
	that should be satisfied by input test data. These fragments are
	the basis for the definition of coverage criteria and for automatic
	generation of test data. They also serve to drive the automatic generation
	of models for testing.},
	keywords = {test, MDE, transformation},
	Author = {Baudry, Benoit},
	Booktitle = {Model Driven Engineering for Distributed Real-time Embedded Systems},
	Publisher = {Hermes},
	Title = {Testing Model Transformations: A case for Test Generation from Input Domain Models},
	Url = {http://www.irisa.fr/triskell/publis/2009/Baudry09b.pdf},
	X-Editorial-Board = {yes},
	X-International-Audience = {yes},
	X-Invited-Conference = {yes},
	X-Language = {EN},
	X-Proceedings = {yes},
	Year = {2009},
	x-abbrv = {MDD4DRES},
}