Advertisement

Model-based regression testing by OCL

  • Philipp Zech
  • Philipp Kalb
  • Michael Felderer
  • Colin Atkinson
  • Ruth Breu
Regular Paper

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.

Keywords

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

Notes

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).

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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  5. 5.
    IEEE: 610.12-1990 - Standard Glossary of Software Engineering Terminology. IEEE (1990)Google Scholar
  6. 6.
    Bourque, P., Dupuis, R. (eds.): Guide to the Software Engineering Body of Knowledge, 2004 Version. IEEE (2004)Google Scholar
  7. 7.
    Rothermel, G., Harrold, M.J.: Analyzing regression test selection techniques. IEEE Trans. Softw. Eng. 22, 529–551 (1996)CrossRefGoogle 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)Google Scholar
  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)CrossRefzbMATHGoogle Scholar
  10. 10.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. SIGSOFT Softw. Eng. Notes 25, 102–112 (2000)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
  13. 13.
    Chen, T., Lau, M.: A new heuristic for test suite reduction. Inf. Softw. Technol 40(5), 347–354 (1998)CrossRefGoogle 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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  48. 48.
    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verif. Reliab. 22(2), 67–120 (2012)CrossRefGoogle 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)Google Scholar
  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) Google Scholar
  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)CrossRefGoogle 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)

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Philipp Zech
    • 1
  • Philipp Kalb
    • 1
  • Michael Felderer
    • 1
  • Colin Atkinson
    • 2
  • Ruth Breu
    • 1
  1. 1.University of InnsbruckInnsbruckAustria
  2. 2.University of MannheimMannheimGermany

Personalised recommendations