Abstract
Human resource management practices are key for the success of software development projects. Practices that promote knowledge sharing and organizational learning are positively related to development–effort curves, and thus software companies are looking for different alternatives oriented to promoting these practices. The model-driven development (MDD) paradigm is positioned as one of the best alternatives for reutilization of development knowledge. In particular, this paradigm considers the specification of conceptual models that can be used as input for automatic code generation to different target platforms. However, testing of applications developed through MDD solutions is still performed by the manual definition and execution of test cases by testers, which negatively impacts in the time reduction obtained from automatic code generation and the reutilization of knowledge generated during the MDD project execution. To address this issue, this paper presents a testing approach that automatically generates executable test cases for software developed by using MDD technologies.
Similar content being viewed by others
References
Amalfitano, D., Fasolino, A. R., Tramontana, P., Ta, B. D., & Memon, A. M. (2015). MobiGUITAR: Automated model-based testing of mobile apps. IEEE Software, 32(5), 53–59.
Berkenkötter, K. (2008). Reliable UML models and profiles. Electronic Notes in Theoretical Computer Science, 217, 203–220.
Bigot, C., Faivre, A., Gallois, J. -P., Lapitre, A., Lugato, D., Pierron, J. -Y., & Rapin, N. (2003). Automatic test generation with AGATHA. In 9th international conference tools and algorithms for the construction and analysis of systems, Vol. LNCS, pp. 591–596. Berlin: Springer.
Blanco, R., & Tuya, J. (2015). A test model for graph database applications: an MDA-based approach. In: Proceedings of the 6th international workshop on automating test case design, selection and evaluation (A-TEST 2015), pp. 8–15. New York: ACM. doi:10.1145/2804322.2804324
Botteck, M., & Deiß, T. (2008). Introduction of TTCN-3 into the product development process: Considerations from an electronic devices developer point of view. International Journal on Software Tools for Technology Transfer, 10(4), 285–289.
Brambilla, M., Cabot, J., & Wimmer, M. (2012). Model-driven software engineering in practice. London: Morgan & Claypool Publishers. doi:10.2200/S00441ED1V01Y201208SWE001.
Brucker, A., Krieger, M., Longuet, D., & Wolff, B. (2011). A specification-based test case generation method for UML/OCL. In Workshops and symposia at MODELS 2010: Models in software engineering, Vol. LNCS, pp. 334–348. Berlin: Springer.
Castillos, K. C., Dadeau, F., & Julliand, J. (2011). Scenario-based testing from UML/OCL behavioral models. International Journal on Software Tools for Technology Transfer, 13(5), 431–448.
Chen, R., & Miao, H. (2013). A selenium based approach to automatic test script generation for refactoring javascript code. In IEEE/ACIS 12th international conference on computer and information science (ICIS), pp. 341–346.
Coleman, D., Arnold, P., Godoff, S., Dollin, C., Gilchrist, H., Hayes, F., & Jeremaes, P. (1994). Object-oriented development: The fusion method. Englewood Cliffs, NJ: Prentice-Hall.
Collofello, J., & Vehathiri, K. (2005). An environment for training computer science students on software testing. In 35th ASEE/IEEE Frontiers in education conference T3E-7, p. 6. IEEE. doi:10.1109/FIE.2005.1611937
Conformiq: Conformiq Designer. https://www.conformiq.com/products/conformiq-designer/.
da Silveira, M. B., Rodrigues, E. d. M., Zorzo, A. F., Costa, L. T., Vieira, H. V., & de Oliveira, F. M. (2011). Generation of scripts for performance testing based on UML models. In 23rd International conference on software engineering and knowledge engineering, pp. 258–263.
Dalal, S., Jain, A., Karunanithi, N., Leaton, J., Lott, C., Patton, G., & Horowitz, B. (1999). Model-based testing in practice. In 21st International conference on software engineering (ICSE’99), pp. 285–294. New York: ACM Press.
Dias Neto, A. C., Subramanyan, R., Vieira, M., & Travassos, G. H. (2007). A survey on model-based testing approaches: A systematic review. In 1st ACM international workshop on Empirical assessment of software engineering languages and technologies (WEASELTech ‘07), pp. 31–36. New York: ACM.
Elvior: MOTES. http://www.elvior.com.
Engels, G. (2009). Automatic generation of behavioral code-too ambitious or even unwanted? Behavior modeling in model driven architecture. In Proceedings of first European workshop on behavior modeling in model driven architecture (BM-MDA).
Farooq, U., & Lam, C. P. (2009). Evolving the quality of a model based test suite. In International conference on software testing, verification and validation workshops (ICSTW ‘09), pp. 141–149. IEEE. doi:10.1109/ICSTW.2009.27
Fourneret, E., Bouquet, F., Dadeau, F., & Debricon, S. (2011). Selective test generation method for evolving critical systems. In REGRESSION’11, 1st international workshop on regression testing—co-located with ICST’2011, pp. 125–134. IEEE. New York: Computer Society Press. doi:10.1109/ICSTW.2011.95
France, R. B., Ghosh, S., Dinh-Trong, T., & Solberg, A. (2006). Model-driven development using UML 2.0: Promises and pitfalls. IEEE Computer, 39(2), 59–66.
Fujiwara, S., Munakata, K., Maeda, Y., Katayama, A., & Uehara, T. (2011). Test data generation for web application using a UML class diagram with OCL constraints. Innovations in Systems and Software Engineering, 7(4), 275–282.
Gibson, A. (2015). Data factory. https://github.com/andygibson/datafactory.
Gutierrez, J., Escalona, M., Mejias, M., Ramos, I., & Torres, J. (2009). An approach for Model-Driven test generation. In International conference on research challenges in information science, pp. 303–312.
IEEE (1984). IEEE 830 guide to software requirements specifications.
Integranova (2015) Web Page. Last visited June 2015, http://www.integranova.com.
Iyenghar, P., Pulvermueller, E., & Westerkamp, C. (2011). Towards model-based test automation for embedded systems using UML and UTP. In IEEE 16th conference on emerging technologies & factory automation (ETFA), 2011, pp. 1–9. IEEE. doi:10.1109/ETFA.2011.6058982
Koopman, P., Achten, P., & Plasmeijer, R. (2008). Model-based testing of thin-client web applications and navigation input. In 10th International symposium of practical aspects of declarative languages (PADL), Vol. LNCS, pp. 299–315. Berlin: Springer.
Lasalle, J., Peureux, F., & Fondement, F. (2011). Development of an automated MBT toolchain from UML/SysML models. Innovations in Systems and Software Engineering, 7(4), 247–256.
Marín, B., Giachetti, G., & Pastor, O. (2008). Automating the measurement of functional size of conceptual models in an MDA environment. In Product-focused software process improvement (PROFES). LNCS, pp. 215–229. Berlin: Springer. doi:10.1007/978-3-540-69566-0_19
Marín, B., Pastor, O., & Abran, A. (2010). Towards an accurate functional size measurement procedure for conceptual models in an MDA environment. Data & Knowledge Engineering, 69(5), 472–490.
Marín, B., Pereira, J., Giachetti, G., Hermosilla, F., & Serral, E. (2013). A general framework for the development of MDD projects. In 1st International conference on model-driven engineering and software development—MODELSWARD 2013, pp. 257–260. Setubal: SciTe Press.
Marín, B., Vos, T., Giachetti, G., Baars, A., & Tonella, P. (2011). Towards testing future web applications. In 5th International conference on research challenges in information science (RCIS 2011), IEEE Computer Society, pp. 226–237.
Mlynarski, M. (2010). Holistic model-based testing for business information systems. In Third international conference on software testing, verification and validation (ICST), 2010, pp. 327–330. IEEE. doi:10.1109/ICST.2010.35
Moreno, N., Fraternali, P., & Vallecillo, A. (2007). WebML modeling in UML. IET Software, 1(3), 67–80.
Nylund, K., Ostman, E., Truscan, D., & Teittinen, R. (2011). Towards rapid creation of test adaptation in on-line model-based testing. In COMPSAC workshops, pp. 174–179.
OMG (2011). Unified modeling language (UML) 2.4.1 superstructure specification.
Opdahl, A. L., & Henderson-Sellers, B. (2005). A unified modelling language without referential redundancy. Data & Knowledge Engineering, 55(3), 277–300.
Pastor, O., Gómez, J., Insfrán, E., & Pelechano, V. (2001). The OO-Method approach for information systems modelling: From Object-oriented conceptual modeling to automated programming. Information Systems, 26(7), 507–534.
Pastor, O., Hayes, F., & Bear, S. (1992). OASIS: An object-oriented specification language. In: International conference on advanced information systems engineering (CAiSE), pp. 348–363.
Pastor, O., Molina, J. C., & Iborra, E. (2004). Automated production of fully functional applications with OlivaNova model execution. ERCIM News no. 57.
Pérez-Lamancha, B., Polo, M., Caivano, D., Piattini, M., & Visaggio, G. (2013). Automated generation of test oracles using a model-driven approach. Information and Software Technology, 55(2), 301–319.
Reza, H., Ogaard, K., & Malge, A. (2008). A model based testing technique to test web applications using Statecharts. In Fifth international conference on information technology: New generations, ITNG 2008, IEEE. doi:10.1109/ITNG.2008.145
Rodrigues da Silva, A. (2015). Model-driven engineering: A survey supported by the unified conceptual model. Computer Languages, Systems & Structures, 43, 139–155.
Runeson, P., & Host, M. (2009). Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering Journal, 14(2), 131–164.
Seifert, D. (2008). Conformance testing based on UML state machines. In 10th International conference on formal engineering methods, ICFEM 2008, vol. LNCS 5256, pp. 45–65. Berlin: Springer.
Selic, B. (2003). The pragmatics of model-driven development. IEEE Software, 20(5), 19–25.
Slaughter, S. A., Harter, D. E., & Krishnan, M. S. (1998). Evaluating the cost of software quality. Communications of the ACM, 41(8), 67–73.
Smartesting. Test designer. http://www.smartesting.com.
SourceForge.net. ParteG, http://parteg.sourceforge.net.
Thayer, R. H., Slaughter, J. B., Boehm, B. W., Clapp, J. A., Manley, J. H., & Burrows, J. H. (1974). The high cost of software: causes and corrections. In: Proceedings of the national computer conference and exposition AFIPS ‘74, pp. 1009–1009.
Timmer, M., Brinksma, E., & Stoelinga, M. (2011). Model-based testing. Software and systems safety—specification and verification. NATO science for peace and security series—D: Information and communication security, Vol. 30. Amsterdam: IOS Press.
Utting, M., & Legeard, B. (2007). Practical model-based testing—A tools approach. Los Altos, CA: Morgan Kaufmann. ISBN: 978-0-12-372501-1.
Utting, M., Pretschner, A., & Legeard, B. (2012). A taxonomy of model-based testing approaches. Software Testing, Verification and Reliability, 22(5), 297–312.
Wieczorek, S., Stefanescu, A., Fritzsche, M., & Schnitter, J. (2008). Enhancing test driven development with model based testing and performance analysis. In: TAIC-PART ‘08 proceedings of the testing: Academic & industrial conference—Practice and research techniques, pp. 82–86. IEEE.
Xu, D., Kent, M., Thomas, L., Mouelhi, T., & Le Traon, Y. (2015). Automated model-based testing of role-based access control using predicate/transition nets. IEEE Transactions on Computers, 64(9), 2490–2505.
Yang, R., Chen, Z., Xu, B., W. E., W., & Zhang, J. (2011). Improve the effectiveness of test case generation on EFSM via automatic path feasibility analysis. In IEEE 13th International Symposium on High-Assurance Systems Engineering (HASE), pp. 17–24. IEEE. doi:10.1109/HASE.2011.12
Yuan, Q., Wu, J., Liu, C., & Zhang, L. (2008). A model driven approach toward business process test case generation. In 10th International symposium on web site evolution (WSE 2008), pp. 41–44. IEEE. doi:10.1109/WSE.2008.4655394
Zeng, F., Chen, Z., Cao, Q., & Mao, L. (2009). Research on method of object-oriented test cases generation based on UML and LTS. In 1st international conference on information science and engineering (ICISE), pp. 5055–5058. IEEE. doi:10.1109/ICISE.2009.965
Acknowledgments
This work has been developed with the support of Universidad Diego Portales and FONDECYT under the project TESTMODE 11121395 and the project AMoDDI 11130583.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Marín, B., Gallardo, C., Quiroga, D. et al. Testing of model-driven development applications. Software Qual J 25, 407–435 (2017). https://doi.org/10.1007/s11219-016-9308-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-016-9308-8