Partial Test Oracle in Model Transformation Testing
نویسندگان
چکیده
Writing test oracles for model transformations is a difficult task. First, oracles must deal with models which are complex data. Second, the tester cannot always predict the expected value of all the properties of the output model produced by a transformation. In this paper, we propose an approach to create efficient oracles for validating part of the produced output model. In this approach we presume that output models can be divided into two parts, a predictable part and a non-predictable one. After identifying the latter, we use it to create a filter. Before providing a (partial) verdict, the oracle compares actual output model with the expected output model, returning a difference model, and uses the filter to discard the differences related to the unpredictable part. The approach infers the unpredictable part from the model transformation specification, or from older output models, in the case of regression testing. The approach is supported by a tool to build such partial oracles. We run several experiments writing partial oracles to validate output models returned by two model transformations. We validate our proposal comparing the effectiveness and complexity of partial oracles with oracles based on full model comparisons and contracts.
منابع مشابه
Partial Knowledge in Multiple-Choice Testing
The intent of this study was to discover the nature of (partial) knowledge as estimated by the multiple-choice (MC) test method. An MC test of vocabulary, including 20 items, was given to 10 participants. Each examinee was required to think aloud while focusing on each item before and while making a response. After each test taker was done with each item, s/he was ...
متن کاملAutomated inference of likely metamorphic relations for model transformations
Model transformations play a cornerstone role in Model-Driven Engineering (MDE) as they provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and errorprone task, referred to as the oracle problem. Metamorphic testing alleviates the oracle problem by exploiting the relations among different inputs ...
متن کاملUsing Meta-model Coverage to Qualify Test Oracles
The definition of oracles is a significant part of model transformation testing. The tester has to ensure their quality. Mutation analysis that can be used to qualify test oracles is an expensive task which is also dependent on the transformation under test’s implementation. In this paper we propose to use the coverage of the transformation’s output meta-model by the oracles as an alternative t...
متن کاملTesting Model Transformation Programs using Metamorphic Testing
Model transformations are crucial for the success of Model Driven Engineering. Testing is a prevailing technique of verifying the correctness of model transformation programs. A major challenge in model transformation testing is the oracle problem, which refers to the difficulty or high cost in determining the correctness of the output models. Metamorphic Testing alleviates the oracle problem b...
متن کاملVisual Contracts as Test Oracle in AGG 2.0
A test oracle predicts expected outcomes for a set of test cases, often based on a formal, executable specification. Visual contracts are graph transformation rules describing preand post-conditions of a service’s operations. To obtain an oracle based on visual contracts, we use the Attributed Graph Grammar System (AGG) to execute the rules, creating a simulation of the behaviour expected of th...
متن کامل