Abstract
Model-based testing has gained widespread acceptance over the last decade, not only in academia but also in industry. Despite its powerful features of abstraction and automation, most existing approaches and tools provide only limited support for regression testing. Yet regression testing, the repeated execution of selected test cases after system modification, is vital, because changes may introduce new bugs or unwanted side effects that must be avoided at all costs. Model-based testing’s potential for supporting regression testing has yet to be explored, even though syntactic and semantic abstractions within software models already allow identifying changes in software systems. This change information can easily be used for test case selection. In this article, we present a model-based regression testing method based on OCL. By means of a running example using the UML Testing Profile we show how our method supports regression testing on the basis of an existing model-based testing method.








Similar content being viewed by others
Notes
Observe that a test case tc also can be regarded as a set that refers to model elements of the SUT, thus the following definition of \(\tau \) is sound.
References
Dias Neto, A.C., Subramanyan, R., Vieira, M., Travassos, G.H.: A survey on model-based testing approaches: a systematic review. In: Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies: held in conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 31–36 (2007)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA (2007)
Breu, M., Breu, R., Low, S.: Living on the MoVE: towards an architecture for a living models infrastructure. In: 2010 5th international conference on software engineering advances (ICSEA), pp. 290 -295 (2010)
Zech, P., Felderer, M., Kalb, P., Breu, R.: A generic platform for model-based regression testing. In: Leveraging applications of formal methods, verification and validation. Technologies for Mastering Change. 5th International Symposium ISoLA 2012, pp. 112–126. Springer, Berlin, Heidelberg (2012)
IEEE: 610.12-1990 - Standard Glossary of Software Engineering Terminology. IEEE (1990)
Bourque, P., Dupuis, R. (eds.): Guide to the Software Engineering Body of Knowledge, 2004 Version. IEEE (2004)
Rothermel, G., Harrold, M.J.: Analyzing regression test selection techniques. IEEE Trans. Softw. Eng. 22, 529–551 (1996)
Yang, Q., Li, J.J., Weiss, D.: A survey of coverage based testing tools. In: Proceedings of the 2006 international workshop on Automation of software test. AST ’06, New York, NY, USA, ACM, pp. 99-103 (2006)
Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Progr. Lang. Syst. 9, 319–349 (1987)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. SIGSOFT Softw. Eng. Notes 25, 102–112 (2000)
Harrold, M.J., Gupta, R., Soffa, M.L.: A methodology for controlling the size of a test suite. ACM Trans. Softw. Eng. Methodol. 2(3), 270–285 (1993)
Jones, J., Harrold, M.: Test-suite reduction and prioritization for modified condition/decision coverage. Softw. Eng. IEEE Trans. 29(3), 195–209 (2003)
Chen, T., Lau, M.: A new heuristic for test suite reduction. Inf. Softw. Technol 40(5), 347–354 (1998)
Jeffrey, D., Gupta, R.: Test suite reduction with selective redundancy. In: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM ’05), pp. 549–558 (2005)
Jeffrey, D., Gupta, N.: Test suite reduction with selective redundancy. Softw. Maint. IEEE Int. Conf. 0, 549–558 (2005)
Rothermel, G., Harrold, M.J., von Ronne, J., Hong, C.: Empirical studies of test-suite reduction. Softw. Test. Verifi. Reliab. 12(4), 219–249 (2002)
Heimdahl, M.P.E., George, D.: Test-suite reduction for model based tests: effects on test quality and implications for testing. In: Proceedings of the 19th IEEE international conference on Automated software engineering. ASE ’04, IEEE Computer Society, pp. 176-185 (2004)
Foundation, E.: Eclipse CDO (2014) http://wiki.eclipse.org/CDO. Accessed 31 March 2015
Brügge, B., Creighton, O., Helming, J., Kogel, M.: Unicase–an ecosystem for unified software engineering research tools. In: 3rd IEEE international conference on global software engineering, ICGSE (2008)
IBM: Rational DOORS. http://www-01.ibm.com/software/awdtools/doors/. Accessed 31 March 2015
Barteit, C., Molter, G., Schumann, T.: A model repository for collaborative modeling with the jazz development platform. In: 42nd Hawaii international conference on system sciences (HICSS ’09), pp. 1–10 (2009)
microTOOL: in-step die projektmanagement-software. http://www.microtool.de/instep/de/index.asp (2014)
Thapa, V., Song, E., Kim, H.: An approach to verifying security and timing properties in UML models. In: 15th IEEE international conference on engineering of complex computer systems (ICECCS), pp. 193–202 (2010)
OMG: Object Constraint Language, V2.3.1 (2012). http://www.omg.org/spec/OCL/2.3.1/. Accessed 12 Nov 2015
Marchesi, M.: OOA metrics for the unified modeling language. In: Proceedings of the 2ns Euromicro conference on software maintenance and reengineering, 1998. pp. 67-73 (1998)
Bergmann, G., Horvth, k., Rth, I., Varr, D.: Incremental evaluation of model queries over EMF models: a tutorial on EMF-IncQuery. In: France, R.B., Küster, J.M., Bordbar, B., Paige, R.F., (eds.) Modelling Foundations and Applications -7th European Conference, ECMFA 2011, Birmingham, UK, June 6-9, 2011 Proceedings. Volume 6698 of Lecture Notes in Computer Science., Springer pp. 389-390 (2011)
Störrle, H.: A PROLOG-based approach to representing and querying software engineering models. In: Proceedings of the VLL 2007 workshop on Visual Languages and Logic, pp. 71–83 (2007)
Chimiak-Opoka, J., Felderer, M., Lenz, C., Lange, C.: Querying UML models using OCL and prolog: a performance study. In: IEEE International conference on software testing verification and validation workshop, 2008. ICSTW ’08. pp. 81–88 (2008)
Deng, W., Liang, Y.: Reason on UML diagrams with answer set programming. In: 2008 International conference on computer science and software engineering, vol. 1, pp. 205–209 (2008)
Brain, M., Cliffe, O., Vos, M.D.: A pragmatic programmer’s guide to answer set programming. In: Software engineering for answer set programming (SEA09), pp. 49-63 (2009)
OMG: UML testing profile, Version 1.0. http://www.omg.org/spec/UTP/1.0/PDF (2005). Accessed 31 March 2015
ETSI’S: Testing and test control notation version 3. http://www.ttcn-3.org/(2015). Accessed 24 Aug 2015
Massol, V., Husted, T.: JUnit in Action. Manning Publications Co., Greenwich, CT (2003)
Briand, L.C., Labiche, Y., He, S.: Automating regression test selection based on UML designs. Inf. Softw. Technol. 51(1), 16–30 (2009)
Farooq, Q., Iqbal, M.Z.Z., Malik, Z.I., Nadeem, A.: An approach for selective state machine based regression testing. In: Proceedings of the 3rd international workshop on Advances in model-based testing (A-MOST ’07), pp. 44–52 (2007)
Chen, Y., Probert, R.L., Sims, D.P.: Specification-based regression test selection with risk analysis. In: Proceedings of the 2002 conference of the Centre for Advanced Studies on Collaborative research (CASCON ’02), pp. 175–182 (2002)
Chen, Y., Probert, R.L., Ural, H.: Model-based regression test suite generation using dependence analysis. In: Proceedings of the 3rd international workshop on Advances in model-based testing. A-MOST ’07, New York, NY, USA, ACM pp. 54-62 (2007)
Korel, B., Tahat, L., Vaysburg, B.: Model based regression test reduction using dependence analysis. In: Proceedings of the international conference on software maintenance (ICSM ’02), pp. 214–223. IEEE (2002)
Fraser, G., Aichernig, B.K., Wotawa, F.: Handling model changes: regression testing and test-suite update with model-checkers. In: Electronic notes in theoretical computer science. Proceedings of the Third Workshop on Model Based Testing (MBT 2007), 190(2), 33-46 (2007)
Windmüller, S., Neubauer, J., Steffen, B., Howar, F., Bauer, O.: Active continuous quality control. In: Proceedings of the 16th international ACM Sigsoft symposium on Component-based software engineering, ACM pp. 111-120 (2013)
Felderer, M., Agreiter, B., Breu, R.: Managing evolution of service centric systems by test models. In: The Tenth IASTED International Conference on Software Engineering, pp. 72–80 (2011)
Felderer, M., Agreiter, B., Breu, R.: Evolution of security requirements tests for service-centric systems. In: Proceedings of the Third International Symposium on Engineering Secure Software and Systems (ESSoS 2011), pp. 181–194 (2011)
Breu, R.: Ten principles for living models–a manifesto of change-driven software engineering. In: 2010 International conference on Complex, Intelligent and Software Intensive Systems (CISIS), pp. 1–8. IEEE Computer Society (2010)
Breu, R., Agreiter, B., Farwick, M., Felderer, M., Hafner, M., Innerhofer-Oberperfler, F.: Living models-ten principles for change-driven software engineering. Int. J. Softw. Inf. 5(1–2), 267–290 (2011)
No Magic, Inc.: MagicDraw. http://www.magicdraw.com/ (2014). Accessed 31 March 2015
Eclipse Foundation: EMF compare developersguide. http://www.eclipse.org/emf/compare/documentation/latest/developer/developer-guide.html#Diff (2014). Accessed 31 March 2015
Farooq, Q.U.A., Iqbal, M.Z., Malik, Z., Riebisch, M.: A model-based regression testing approach for evolving software systems with flexible tool support. In: 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), pp. 41–49 (2010)
Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2012)
Rothermel, G., Harrold, M.J.: A safe, efficient algorithm for regression test selection. In: Proceedings of the Conference on Software Maintenance (CSM ’93), pp. 358–367. IEEE (1993)
Eclipse Foundation: Epsilon comparison language. http://www.eclipse.org/epsilon/doc/ecl/ (2015). Accessed 24 Aug 2015
Atkinson, C., Barth, F., Brenner, D.: Software testing using test sheets. In: Software testing, verification, and validation workshops (ICSTW), 2010 3rd international conference on, IEEE, pp. 454-459 (2010)
Felderer, M., Fourneret, E.: A systematic classification of security regression testing approaches. Int. J. Softw. Tools Technol. Transf. 17(3), 305–319 (2015)
Felderer, M., Zech, P., Breu, R., Büchler, M., Pretschner, A.: Model-based security testing: a taxonomy and systematic classification. Softw. Test. Verif. Reliab. doi:10.1002/stvr.1580 (2015)
Acknowledgments
This research was partially funded by the research projects MBOSTECO (FWF P 26194-N15) and QE LaB—Living Models for Open Systems (FFG 822740).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zech, P., Kalb, P., Felderer, M. et al. Model-based regression testing by OCL. Int J Softw Tools Technol Transfer 19, 115–131 (2017). https://doi.org/10.1007/s10009-015-0408-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-015-0408-8