Skip to main content
Top
Published in: Microsystem Technologies 5/2020

06-11-2019 | Technical Paper

Regression test case selection and prioritization for object oriented software

Authors: Dharmveer Kumar Yadav, Sandip Dutta

Published in: Microsystem Technologies | Issue 5/2020

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

In software maintenance, after modifying the software a system needs regression testing. Execution of regression testing confirms that any modified code has no adverse effect as well as does not introduce new faults in the existing functionality of the software. When working with object-oriented programming code-based testing is generally expensive. In this study, we proposed a technique for regression testing using unified modeling language (UML) diagrams and code-based analysis for object-oriented software. In this research work, the design and code based technique with an evolutionary approach are presented to select the best possible test cases from the test suite. We used the dependency graph for intermediate representation for the objectoriented program to identify the change. The selection of test cases is done at the design level using the UML model. The models are compared to identify the change between these two models. The proposed approached maximizes the value of APFD.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
go back to reference Agrawal AP, Arvinder K (2018) A comprehensive comparison of ant colony and hybrid particle swarm optimization algorithms through test case selection. In: Data engineering and intelligent computing. Springer, Singapore, pp 397–405 Agrawal AP, Arvinder K (2018) A comprehensive comparison of ant colony and hybrid particle swarm optimization algorithms through test case selection. In: Data engineering and intelligent computing. Springer, Singapore, pp 397–405
go back to reference Al-Salami NMA (2009) Evolutionary algorithm definition. Am J Eng Appl Sci 2(4):789–795 Al-Salami NMA (2009) Evolutionary algorithm definition. Am J Eng Appl Sci 2(4):789–795
go back to reference Askarunisa MA, Shanmugapriya ML, Ramaraj DN (2010) Cost and coverage metrics for measuring the effectiveness of test case prioritization techniques. INFOCOMP 9(1):43–52 Askarunisa MA, Shanmugapriya ML, Ramaraj DN (2010) Cost and coverage metrics for measuring the effectiveness of test case prioritization techniques. INFOCOMP 9(1):43–52
go back to reference Badri L, Badri M, St-Yves D (2005) Supporting predictive change impact analysis: a control call graph based technique. In: 12th Asia-Pacific software engineering conference (APSEC'05). IEEE, Taipei, Taiwan Badri L, Badri M, St-Yves D (2005) Supporting predictive change impact analysis: a control call graph based technique. In: 12th Asia-Pacific software engineering conference (APSEC'05). IEEE, Taipei, Taiwan
go back to reference Batra G (2009) Model-based software regression testing for software components. In: Prasad SK (ed) Proceedings of the 3rd international conference on information systems, technology and management, vol 31. Springer, Berlin Batra G (2009) Model-based software regression testing for software components. In: Prasad SK (ed) Proceedings of the 3rd international conference on information systems, technology and management, vol 31. Springer, Berlin
go back to reference Biswas S, Mall R, Satpathy M, Sukumaran S (2011) Regression test selection techniques: a survey. Informatica 35(3):289–321 Biswas S, Mall R, Satpathy M, Sukumaran S (2011) Regression test selection techniques: a survey. Informatica 35(3):289–321
go back to reference Black S (2008) Deriving an approximation algorithm for automatic computation of ripple effect measures. Inf Softw Technol 50(7–8):723–736 Black S (2008) Deriving an approximation algorithm for automatic computation of ripple effect measures. Inf Softw Technol 50(7–8):723–736
go back to reference Bohner SA (1996) Impact analysis in the software change process: the year 2000 perspective. Inicsm 96:42–51 Bohner SA (1996) Impact analysis in the software change process: the year 2000 perspective. Inicsm 96:42–51
go back to reference Briand LC, Labiche Y, O’Sullivan L, Sówka MM (2006) Automated impact analysis of UML models. J Syst Softw 79(3):339–352 Briand LC, Labiche Y, O’Sullivan L, Sówka MM (2006) Automated impact analysis of UML models. J Syst Softw 79(3):339–352
go back to reference Byson NA (1995) A goal programming method for generating priority vectors. J Oper Res Soc 46(5):641–648 Byson NA (1995) A goal programming method for generating priority vectors. J Oper Res Soc 46(5):641–648
go back to reference Chu AT, Kalaba RE, Spingarn K (1979) A comparison of two methods for determining the weights of belonging to fuzzy sets. J Optim Theory Appl 27(4):531–538MathSciNetMATH Chu AT, Kalaba RE, Spingarn K (1979) A comparison of two methods for determining the weights of belonging to fuzzy sets. J Optim Theory Appl 27(4):531–538MathSciNetMATH
go back to reference Di Nardo D, Alshahwan N, Briand L, Labiche Y (2015) Coverage-based regression test case selection, minimization and prioritization: a case study on an industrial system. Softw Test Verif Reliab 25(4):371–396 Di Nardo D, Alshahwan N, Briand L, Labiche Y (2015) Coverage-based regression test case selection, minimization and prioritization: a case study on an industrial system. Softw Test Verif Reliab 25(4):371–396
go back to reference Engstrom E, Skoglund M, Runeson P (2008) Empirical evaluations of regression test selection techniques: a systematic review. In: Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement, pp 22–31 Engstrom E, Skoglund M, Runeson P (2008) Empirical evaluations of regression test selection techniques: a systematic review. In: Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement, pp 22–31
go back to reference Fahad M, Nadeem A (2008) A survey of UML based regression testing. In: Shi Z, Mercier-Laurent E, Leake D (eds) Intelligent information processing IV IIP 2008. IFIP – the international federation for information processing, vol 288. Springer, Boston, pp 200–210 Fahad M, Nadeem A (2008) A survey of UML based regression testing. In: Shi Z, Mercier-Laurent E, Leake D (eds) Intelligent information processing IV IIP 2008. IFIP – the international federation for information processing, vol 288. Springer, Boston, pp 200–210
go back to reference Fang C, Chen Z, Wu K, Zhao Z (2014) Similarity-based test case prioritization using ordered sequences of program entities. Softw Qual J 22(2):335–361 Fang C, Chen Z, Wu K, Zhao Z (2014) Similarity-based test case prioritization using ordered sequences of program entities. Softw Qual J 22(2):335–361
go back to reference Graves TL, Harrold MJ, Kim J-M, Porter A, Rothermel G (2001) An empirical study of regression test selection techniques. ACM Trans Softw Eng Methodol (TOSEM) 10(2):184–208MATH Graves TL, Harrold MJ, Kim J-M, Porter A, Rothermel G (2001) An empirical study of regression test selection techniques. ACM Trans Softw Eng Methodol (TOSEM) 10(2):184–208MATH
go back to reference Gupta R, Harrold MJ, Soffa ML (1996) Program slicing-based regression testing techniques. Softw Test Verif Reliab 6(2):83–111 Gupta R, Harrold MJ, Soffa ML (1996) Program slicing-based regression testing techniques. Softw Test Verif Reliab 6(2):83–111
go back to reference Hao D, Zhang L, Zhang L, Rothermel G, Mei H (2014) A unified test case prioritization approach. ACM Trans Softw Eng Methodol (TOSEM) 24(2):10–31 Hao D, Zhang L, Zhang L, Rothermel G, Mei H (2014) A unified test case prioritization approach. ACM Trans Softw Eng Methodol (TOSEM) 24(2):10–31
go back to reference Harrold M, Soffa M (1989) Interprocedual data flow testing. ACM SIGSOFT Softw Eng Notes 14(8):158–167 Harrold M, Soffa M (1989) Interprocedual data flow testing. ACM SIGSOFT Softw Eng Notes 14(8):158–167
go back to reference Harrold MJ, Jones JA, Li T, Liang D, Orso A, Pennings M, Sinha S, Spoon SA, Gujarathi A (2001) A regression test selection for Java software. In: Proceedings of the 16th ACM SIGPLAN conference on object oriented programming systems languages and applications. ACM, New York, pp 312–326 Harrold MJ, Jones JA, Li T, Liang D, Orso A, Pennings M, Sinha S, Spoon SA, Gujarathi A (2001) A regression test selection for Java software. In: Proceedings of the 16th ACM SIGPLAN conference on object oriented programming systems languages and applications. ACM, New York, pp 312–326
go back to reference Hewitt J, Rilling JA (2006) Light-weight proactive software change impact analysis using use case maps. In: Proceedings of the international workshop on software evolvability. IEEE, Budapest, Hungary, pp 41–46 Hewitt J, Rilling JA (2006) Light-weight proactive software change impact analysis using use case maps. In: Proceedings of the international workshop on software evolvability. IEEE, Budapest, Hungary, pp 41–46
go back to reference Holland JH (1973) Genetic algorithms and the optimal allocation of trials. SIAM J Comput 2(2):88–105MathSciNetMATH Holland JH (1973) Genetic algorithms and the optimal allocation of trials. SIAM J Comput 2(2):88–105MathSciNetMATH
go back to reference Holland JH (1975) Adaptation in natural and artificial systems Ann Arbor. Univ Michigan Press 1:975 Holland JH (1975) Adaptation in natural and artificial systems Ann Arbor. Univ Michigan Press 1:975
go back to reference Horwitz S, Reps T, Binkley D (1990) Interprocedural slicing using dependence graphs. ACM Trans Program Lang Syst (TOPLAS) 12(1):26–60 Horwitz S, Reps T, Binkley D (1990) Interprocedural slicing using dependence graphs. ACM Trans Program Lang Syst (TOPLAS) 12(1):26–60
go back to reference Huang YC, Huang CY, Chang JR, Chen TY (2010) Design and analysis of cost-cognizant test case prioritization using genetic algorithm with test history. 2010 IEEE 34th annual computer software and applications conference. IEEE, Seoul, South Korea, pp 413–418 Huang YC, Huang CY, Chang JR, Chen TY (2010) Design and analysis of cost-cognizant test case prioritization using genetic algorithm with test history. 2010 IEEE 34th annual computer software and applications conference. IEEE, Seoul, South Korea, pp 413–418
go back to reference Iqbal MZZ, Malik ZI, Nadeem A (2007) An approach for selective state machine based regression testing. In: Proceedings of the 3rd international workshop on advances in model-based testing. ACM, New York, pp 44–52 Iqbal MZZ, Malik ZI, Nadeem A (2007) An approach for selective state machine based regression testing. In: Proceedings of the 3rd international workshop on advances in model-based testing. ACM, New York, pp 44–52
go back to reference Kim S, Clark JA, McDermid JA (2000) Class mutation: mutation testing for object-oriented programs. In: Proc Net ObjectDays. Net Objects, Erfurt, Germany, pp 9–12 Kim S, Clark JA, McDermid JA (2000) Class mutation: mutation testing for object-oriented programs. In: Proc Net ObjectDays. Net Objects, Erfurt, Germany, pp 9–12
go back to reference Kundu D, Samanta D (2009) A novel approach to generate test cases from UML activity diagrams. J Object Technol 8(3):65 Kundu D, Samanta D (2009) A novel approach to generate test cases from UML activity diagrams. J Object Technol 8(3):65
go back to reference Larsen L, Harrold MJ (1996) Slicing object-oriented software. In: Proceedings of IEEE 18th international conference on software engineering, pp 495–505 Larsen L, Harrold MJ (1996) Slicing object-oriented software. In: Proceedings of IEEE 18th international conference on software engineering, pp 495–505
go back to reference Law J, Rothermel G (2003) Incremental dynamic impact analysis for evolving software systems. In: Proceedings of the international symposium on software reliability engineering. IEEE, Denver, CO, USA, pp 430–441 Law J, Rothermel G (2003) Incremental dynamic impact analysis for evolving software systems. In: Proceedings of the international symposium on software reliability engineering. IEEE, Denver, CO, USA, pp 430–441
go back to reference Le Traon Y, Jeron T, Jezequel JM, Morel P (2000) Efficient OO integration and regression testing. IEEE Trans Reliab 49(1):12–25 Le Traon Y, Jeron T, Jezequel JM, Morel P (2000) Efficient OO integration and regression testing. IEEE Trans Reliab 49(1):12–25
go back to reference Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237 Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237
go back to reference Lu Y, Lou Y, Cheng S, Zhang L, Hao D, Zhou Y, Zhang L (2016) How does regression test prioritization perform in real-world software evolution. In: IEEE/ACM 38th international conference on software engineering (ICSE). IEEE, Austin, TX, USA, pp 535–546 Lu Y, Lou Y, Cheng S, Zhang L, Hao D, Zhou Y, Zhang L (2016) How does regression test prioritization perform in real-world software evolution. In: IEEE/ACM 38th international conference on software engineering (ICSE). IEEE, Austin, TX, USA, pp 535–546
go back to reference Luo Q, Moran K, Poshyvanyk D (2016) A large-scale empirical comparison of static and dynamic test case prioritization techniques. In: 24th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 559–570 Luo Q, Moran K, Poshyvanyk D (2016) A large-scale empirical comparison of static and dynamic test case prioritization techniques. In: 24th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 559–570
go back to reference Maia MCO, Bittencourt RA, DeFigueiredo JCA, Guerrero DDS (2010) The hybrid technique for object-oriented software change impact analysis. In: 14th European conference on software maintenance and reengineering (CSMR). IEEE, Madrid, Spain, pp 252–255 Maia MCO, Bittencourt RA, DeFigueiredo JCA, Guerrero DDS (2010) The hybrid technique for object-oriented software change impact analysis. In: 14th European conference on software maintenance and reengineering (CSMR). IEEE, Madrid, Spain, pp 252–255
go back to reference Malishevsky AG, Ruthruff JR, Rothermel G, Elbaum S (2006) Cost-cognizant test case prioritization. Technical Report TR-UNL-CSE-2006-0004, University of Nebraska-Lincoln Malishevsky AG, Ruthruff JR, Rothermel G, Elbaum S (2006) Cost-cognizant test case prioritization. Technical Report TR-UNL-CSE-2006-0004, University of Nebraska-Lincoln
go back to reference Mansour N, Salem H (2006) Ripple effect in object-oriented programs. J Comput Methods Sci Eng 6(5):23–32 Mansour N, Salem H (2006) Ripple effect in object-oriented programs. J Comput Methods Sci Eng 6(5):23–32
go back to reference Marchetto A, Islam MM, Asghar W, Susi A, Scanniello G (2016) A multi-objective technique to prioritize test cases. IEEE Trans Softw Eng 42(10):918–940 Marchetto A, Islam MM, Asghar W, Susi A, Scanniello G (2016) A multi-objective technique to prioritize test cases. IEEE Trans Softw Eng 42(10):918–940
go back to reference Musa S, Sultan ABM, Ghani AABA, Baharom S (2014) A regression test case selection and prioritization for object-oriented programs using dependency graph and genetic algorithm. Res Inven Int J Eng Sci 4(7):54–64 Musa S, Sultan ABM, Ghani AABA, Baharom S (2014) A regression test case selection and prioritization for object-oriented programs using dependency graph and genetic algorithm. Res Inven Int J Eng Sci 4(7):54–64
go back to reference Musa S, Sultan ABM, Abd-Ghani AAB, Salmi B (2015) Regression test cases selection for objectoriented programs based on affected statements. Int J Softw Eng Appl 9(10):91–108 Musa S, Sultan ABM, Abd-Ghani AAB, Salmi B (2015) Regression test cases selection for objectoriented programs based on affected statements. Int J Softw Eng Appl 9(10):91–108
go back to reference Najumudheen ESF, Mall R, Samanta D (2009) A dependence graph-based test coverage analysis technique for object-oriented programs. In: 2009 sixth international conference on information technology: new generations, pp 763–768 Najumudheen ESF, Mall R, Samanta D (2009) A dependence graph-based test coverage analysis technique for object-oriented programs. In: 2009 sixth international conference on information technology: new generations, pp 763–768
go back to reference Panigrahi CR, Mall R (2012) A hybrid regression test selection technique for object-oriented programs. Int J Softw Eng Appl 6(4):17–34 Panigrahi CR, Mall R (2012) A hybrid regression test selection technique for object-oriented programs. Int J Softw Eng Appl 6(4):17–34
go back to reference Panigrahi CR, Mall R (2013) An approach to prioritize the regression test cases of object-oriented programs. CSI Trans ICT 1(2):159–173 Panigrahi CR, Mall R (2013) An approach to prioritize the regression test cases of object-oriented programs. CSI Trans ICT 1(2):159–173
go back to reference Pilskalns O, Uyan G, Andrews A (2006) Regression testing uml designs. In: 2006 22nd IEEE international conference on software maintenance, pp 254–264 Pilskalns O, Uyan G, Andrews A (2006) Regression testing uml designs. In: 2006 22nd IEEE international conference on software maintenance, pp 254–264
go back to reference Rothermel G, Harrold MJ (1994a) A framework for evaluating regression Test Selection Techniques. In: Proceeding of the 16th international conference on software engineering, ICSE 1994. IEEE, Sorrento, Italy, pp 201–210 Rothermel G, Harrold MJ (1994a) A framework for evaluating regression Test Selection Techniques. In: Proceeding of the 16th international conference on software engineering, ICSE 1994. IEEE, Sorrento, Italy, pp 201–210
go back to reference Rothermel G, Harrold MJ (1994b) Selecting regression tests for object-oriented software. ICSM 94:14–25 Rothermel G, Harrold MJ (1994b) Selecting regression tests for object-oriented software. ICSM 94:14–25
go back to reference Rothermel G, Harrold MJ (1996) Analyzing regression test selection techniques. IEEE Trans Softw Eng 22(8):529–551 Rothermel G, Harrold MJ (1996) Analyzing regression test selection techniques. IEEE Trans Softw Eng 22(8):529–551
go back to reference Rothermel G, Harrold MJ (1997) A safe, efficient regression test selection technique. ACM Trans Softw Eng Methodol (TOSEM) 6(2):173–210 Rothermel G, Harrold MJ (1997) A safe, efficient regression test selection technique. ACM Trans Softw Eng Methodol (TOSEM) 6(2):173–210
go back to reference Rothermel G, Harrold MJ, Dedhia J (2000) Regression test selection for C++ software. J Softw Test Verif Reliab 10(2):77–109 Rothermel G, Harrold MJ, Dedhia J (2000) Regression test selection for C++ software. J Softw Test Verif Reliab 10(2):77–109
go back to reference Rovegard P, Angelis L, Wohlin C (2008) An empirical study on views of the importance of change impact analysis issues. IEEE Trans Softw Eng 34:516–530 Rovegard P, Angelis L, Wohlin C (2008) An empirical study on views of the importance of change impact analysis issues. IEEE Trans Softw Eng 34:516–530
go back to reference Sabharwal S, Sibal R, Sharma C (2011) A genetic algorithm based approach for prioritization of test case scenarios in static testing. 2nd international conference on computer and communication technology (ICCCT). IEEE, Allahabad, India, pp 304–309 Sabharwal S, Sibal R, Sharma C (2011) A genetic algorithm based approach for prioritization of test case scenarios in static testing. 2nd international conference on computer and communication technology (ICCCT). IEEE, Allahabad, India, pp 304–309
go back to reference Shiri M, Hassine J, Rilling JA (2007) A requirement level modification analysis support framework. In: Third international IEEE workshop on software evolvability 2007. IEEE, Paris, France, pp 67–74 Shiri M, Hassine J, Rilling JA (2007) A requirement level modification analysis support framework. In: Third international IEEE workshop on software evolvability 2007. IEEE, Paris, France, pp 67–74
go back to reference Singh Y, Kaur A, Suri B (2010) Test case prioritization using ant colony optimization. ACM SIGSOFT Softw Eng Notes 35(1):940 Singh Y, Kaur A, Suri B (2010) Test case prioritization using ant colony optimization. ACM SIGSOFT Softw Eng Notes 35(1):940
go back to reference Skoglund M, Runeson P (2005) A case study of the class firewall regression test selection technique on a large scale distributed software system. In: 2005 international symposium on empirical software engineering. IEEE, p 10 Skoglund M, Runeson P (2005) A case study of the class firewall regression test selection technique on a large scale distributed software system. In: 2005 international symposium on empirical software engineering. IEEE, p 10
go back to reference White L, Jaber K, Robinson B (2005) Utilization of extended firewall for object-oriented regression testing. In: Proceedings of the 21st IEEE international conference on software maintenance. IEEE, Budapest, Hungary, pp 695–698 White L, Jaber K, Robinson B (2005) Utilization of extended firewall for object-oriented regression testing. In: Proceedings of the 21st IEEE international conference on software maintenance. IEEE, Budapest, Hungary, pp 695–698
go back to reference Yadav DK, Dutta S (2016) Test case prioritization technique based on early fault detection using fuzzy logic. 3rd IEEE international conference on computing for sustainable global development (INDIACom). IEEE, New Delhi, India, pp 1033–1036 Yadav DK, Dutta S (2016) Test case prioritization technique based on early fault detection using fuzzy logic. 3rd IEEE international conference on computing for sustainable global development (INDIACom). IEEE, New Delhi, India, pp 1033–1036
go back to reference Yadav DK, Dutta S (2017) Regression test case prioritization technique using genetic algorithm. In: Sahana S, Saha S (eds) Advances in computational intelligence Advances in intelligent systems and computing, vol 509. Springer, Singapore, pp 33–140 Yadav DK, Dutta S (2017) Regression test case prioritization technique using genetic algorithm. In: Sahana S, Saha S (eds) Advances in computational intelligence Advances in intelligent systems and computing, vol 509. Springer, Singapore, pp 33–140
go back to reference Yadav DK, Dutta S (2019a) Test case prioritization using clustering approach for object oriented software. Int J Inf Syst Model Des (IJISMD) 10(3):92–109 Yadav DK, Dutta S (2019a) Test case prioritization using clustering approach for object oriented software. Int J Inf Syst Model Des (IJISMD) 10(3):92–109
Metadata
Title
Regression test case selection and prioritization for object oriented software
Authors
Dharmveer Kumar Yadav
Sandip Dutta
Publication date
06-11-2019
Publisher
Springer Berlin Heidelberg
Published in
Microsystem Technologies / Issue 5/2020
Print ISSN: 0946-7076
Electronic ISSN: 1432-1858
DOI
https://doi.org/10.1007/s00542-019-04679-7

Other articles of this Issue 5/2020

Microsystem Technologies 5/2020 Go to the issue