Model-based regression testing by OCL

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Notes

  1. 1.

    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

  1. 1.

    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)

  2. 2.

    Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA (2007)

    Google Scholar 

  3. 3.

    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)

  4. 4.

    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)

  5. 5.

    IEEE: 610.12-1990 - Standard Glossary of Software Engineering Terminology. IEEE (1990)

  6. 6.

    Bourque, P., Dupuis, R. (eds.): Guide to the Software Engineering Body of Knowledge, 2004 Version. IEEE (2004)

  7. 7.

    Rothermel, G., Harrold, M.J.: Analyzing regression test selection techniques. IEEE Trans. Softw. Eng. 22, 529–551 (1996)

    Article  Google Scholar 

  8. 8.

    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)

  9. 9.

    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)

    Article  MATH  Google Scholar 

  10. 10.

    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. SIGSOFT Softw. Eng. Notes 25, 102–112 (2000)

    Article  Google Scholar 

  11. 11.

    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)

    Article  Google Scholar 

  12. 12.

    Jones, J., Harrold, M.: Test-suite reduction and prioritization for modified condition/decision coverage. Softw. Eng. IEEE Trans. 29(3), 195–209 (2003)

    Article  Google Scholar 

  13. 13.

    Chen, T., Lau, M.: A new heuristic for test suite reduction. Inf. Softw. Technol 40(5), 347–354 (1998)

    Article  Google Scholar 

  14. 14.

    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)

  15. 15.

    Jeffrey, D., Gupta, N.: Test suite reduction with selective redundancy. Softw. Maint. IEEE Int. Conf. 0, 549–558 (2005)

    Google Scholar 

  16. 16.

    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)

    Article  Google Scholar 

  17. 17.

    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)

  18. 18.

    Foundation, E.: Eclipse CDO (2014) http://wiki.eclipse.org/CDO. Accessed 31 March 2015

  19. 19.

    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)

  20. 20.

    IBM: Rational DOORS. http://www-01.ibm.com/software/awdtools/doors/. Accessed 31 March 2015

  21. 21.

    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)

  22. 22.

    microTOOL: in-step die projektmanagement-software. http://www.microtool.de/instep/de/index.asp (2014)

  23. 23.

    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)

  24. 24.

    OMG: Object Constraint Language, V2.3.1 (2012). http://www.omg.org/spec/OCL/2.3.1/. Accessed 12 Nov 2015

  25. 25.

    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)

  26. 26.

    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)

  27. 27.

    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)

  28. 28.

    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)

  29. 29.

    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)

  30. 30.

    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)

  31. 31.

    OMG: UML testing profile, Version 1.0. http://www.omg.org/spec/UTP/1.0/PDF (2005). Accessed 31 March 2015

  32. 32.

    ETSI’S: Testing and test control notation version 3. http://www.ttcn-3.org/(2015). Accessed 24 Aug 2015

  33. 33.

    Massol, V., Husted, T.: JUnit in Action. Manning Publications Co., Greenwich, CT (2003)

    Google Scholar 

  34. 34.

    Briand, L.C., Labiche, Y., He, S.: Automating regression test selection based on UML designs. Inf. Softw. Technol. 51(1), 16–30 (2009)

    Article  Google Scholar 

  35. 35.

    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)

  36. 36.

    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)

  37. 37.

    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)

  38. 38.

    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)

  39. 39.

    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)

  40. 40.

    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)

  41. 41.

    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)

  42. 42.

    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)

  43. 43.

    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)

  44. 44.

    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)

    Google Scholar 

  45. 45.

    No Magic, Inc.: MagicDraw. http://www.magicdraw.com/ (2014). Accessed 31 March 2015

  46. 46.

    Eclipse Foundation: EMF compare developersguide. http://www.eclipse.org/emf/compare/documentation/latest/developer/developer-guide.html#Diff (2014). Accessed 31 March 2015

  47. 47.

    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)

  48. 48.

    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2012)

    Article  Google Scholar 

  49. 49.

    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)

  50. 50.

    Eclipse Foundation: Epsilon comparison language. http://www.eclipse.org/epsilon/doc/ecl/ (2015). Accessed 24 Aug 2015

  51. 51.

    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)

  52. 52.

    Felderer, M., Fourneret, E.: A systematic classification of security regression testing approaches. Int. J. Softw. Tools Technol. Transf. 17(3), 305–319 (2015)

    Article  Google Scholar 

  53. 53.

    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)

Download references

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

Affiliations

Authors

Corresponding author

Correspondence to Michael Felderer.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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

Download citation

Keywords

  • Model-based testing
  • Regression testing
  • Model-based regression testing
  • Model evolution
  • Software testing
  • Software evolution