Abstract
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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Mottu, J.-M., Baudry, B., Le Traon, Y.: Model transformation testing: oracle issue. In: MoDeVVa 2008 (2008)
Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. Model-driven software development, 219–236 (2005)
García-Domínguez, A., Kolovos, D.S., Rose, L.M., Paige, R.F., Medina-Bulo, I.: EUnit: A unit testing framework for model management tasks. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 395–409. Springer, Heidelberg (2011)
Cicchetti, A., Di Ruscio, D., Pierantonio, A.: A Metamodel Independent Approach to Difference Representation. JOT (2007)
Cariou, E., Belloir, N., Barbier, F., Djemam, N.: Ocl contracts for the verification of model transformations. ECEASST (2009)
Vallecillo, A., Gogolla, M., Burgueño, L., Wimmer, M., Hamann, L.: Formal specification and testing of model transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 399–437. Springer, Heidelberg (2012)
Sen, S., Mottu, J.-M., Tisi, M., Cabot, J.: Using Models of Partial Knowledge to Test Model Transformations. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 24–39. Springer, Heidelberg (2012)
Kolovos, D.S.: Establishing correspondences between models with the epsilon comparison language. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 146–157. Springer, Heidelberg (2009)
Finot, O., Mottu, J.-M., Sunyé, G., Attiogbe, C.: Experimentation material, https://sites.google.com/site/partialverdictmt/
Holt, N., Arisholm, E., Briand, L.: An eclipse plug-in for the flattening of concurrency and hierarchy in uml state machines. Tech. Rep. (2009)
C. A. R. Hoare: Communicating sequential processes (1978)
Bisztray, D., Ehrig, K., Heckel, R.: Case study: Uml to csp transformation. AGTIVE (2007)
Fleurey, F., Baudry, B., Muller, P.-A., Le Traon, Y.: Qualifying input test data for model transformations. SOSYM (2009)
Sen, S., Baudry, B., Mottu, J.-M.: Automatic model generation strategies for model transformation testing. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 148–164. Springer, Heidelberg (2009)
Darabos, A., Pataricza, A., Varró, D.: Towards testing the implementation of graph transformations. ENTCS 211 (2008)
Braga, C., Menezes, R., Comicio, T., Santos, C., Landim, E.: On the specification, verification and implementation of model transformations with transformation contracts. In: Simao, A., Morgan, C. (eds.) SBMF 2011. LNCS, vol. 7021, pp. 108–123. Springer, Heidelberg (2011)
de, C., Braga, O., Menezes, R., Comicio, T., Santos, C., Landim, E.: Transformation contracts in practice. IET Software 6(1), 16–32 (2012)
Büttner, F., Cabot, J., Gogolla, M.: On validation of atl transformation rules by transformation models. In: MoDeVVa (2011)
Cabot, J., Clarisó, R., Guerra, E., De Lara, J.: Verification and Validation of Declarative Model-to-Model Transformations through Invariants. JSS 83 (2010)
Guerra, E.: Specification-Driven Test Generation for Model Transformations. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 40–55. Springer, Heidelberg (2012)
Tiso, A., Reggio, G., Leotta, M.: Early experiences on model transformation testing. In: Huang, R., Ghorbani, A.A., Pasi, G., Yamaguchi, T., Yen, N.Y., Jin, B. (eds.) AMT 2012. LNCS, vol. 7669, Springer, Heidelberg (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Finot, O., Mottu, JM., Sunyé, G., Attiogbé, C. (2013). Partial Test Oracle in Model Transformation Testing. In: Duddy, K., Kappel, G. (eds) Theory and Practice of Model Transformations. ICMT 2013. Lecture Notes in Computer Science, vol 7909. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38883-5_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-38883-5_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38882-8
Online ISBN: 978-3-642-38883-5
eBook Packages: Computer ScienceComputer Science (R0)