Abstract

The area of our work is test data generation via automatic instantiation
of software models. Model instantiation or model finding is a process of finding
instances of software models. For example, if a model is represented as a
UML class diagram, the instances of this model are UML object diagrams.
Model instantiation has several applications: finding solutions to problems
expressed as models, model testing and test data generation. There are systems
that automatically generate model instances, one of them is ASMIG (A
Small Metamodel Instance Generator). This system is focused on a `problem
solving' use case. The motivation of our work is to adapt ASMIG system for
use as a test data generator and make the instance generation process more
transparent for the user. In order to achieve this we provided a way for the
user to interact with ASMIG internal data structure, the instance template
graph via a specially designed graph definition domain-specific language. As
a result, the user is able to configure the instance template in order to get
plausible instances, which can be then used as test data. Although model
finding is only suitable for obtaining test inputs, but not the expected test
outputs, it can be applied effectively for smoke testing of systems that process
complex hierarchic data structures such as programming language parsers.