International Journal of

ADVANCED AND APPLIED SCIENCES

EISSN: 2313-3724, Print ISSN: 2313-626X

Frequency: 12

line decor
  
line decor

 Volume 8, Issue 5 (May 2021), Pages: 107-121

----------------------------------------------

 Review Paper

 Title: Test case prioritization techniques in software regression testing: An overview

 Author(s): Muhammad Qasim 1, Asifa Bibi 2, Syed Jawad Hussain 3, N. Z. Jhanjhi 4, Mamoona Humayun 5, Najm Us Sama 6, *

 Affiliation(s):

 1Department of Computer Science, Shaheed Zulfikar Ali Bhutto Institute of Science and Technology, Karachi, Pakistan
 2Department of Computer Science, University of Northern Virginia, Annandale, USA
 3Department of Computer Science, Barani Institute of Information Technology, Pir Mehr Ali Shah Arid Agriculture University, Rawalpindi, Pakistan
 4School of Computer Science and Engineering, Taylor’s University, Subang Jaya, Malaysia
 5Department of Information Systems, College of Computer and Information Sciences, Jouf University, Sakakah, Saudi Arabia
 6Department of Computer Science, Deanship of Common First Year, Jouf University, Sakaka, Saudi Arabia

  Full Text - PDF          XML

 * Corresponding Author. 

  Corresponding author's ORCID profile: https://orcid.org/0000-0002-0093-6461

 Digital Object Identifier: 

 https://doi.org/10.21833/ijaas.2021.05.012

 Abstract:

The importance of Software Testing (ST) in the Software Development Life Cycle (SDLC) can never be ignored. Smarter ST can give us more relievable and defect-free products which are as per our stakeholder demand. That is the reason it takes more time and resources. But unfortunately, the limited time has left when the product reached the testing stage, especially in Regression Testing (RT). That is the reason proper planning is required in each SDLC phase, especially in the testing phase. Regression testing is an essential part of the testing phase. It guarantees defect-free software after any changes made to the requirement or software product. Because of the limited time available, it is impossible to execute all the test cases every time any changes made in the code there comes the role of the test case prioritization. TCP chooses only test cases that are most important to execute. The priority of test cases could be based on code, requirement, defects, execution time, cost, etc. After TCP the developer and tester have a minimum test case suite with better coverage in all respects. TCP definitely improves the quality of software and brings the best product within a limited time and cost. In this paper, we have provided a detailed survey of the TCP methodologies. This survey includes 2010 to the most recent studies. In this study, we have select carefully the most recent and relevant study of our topic. 

 © 2021 The Authors. Published by IASE.

 This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).

 Keywords: Software development life cycle, Regression testing, Software testing, Test case prioritization

 Article History: Received 20 October 2020, Received in revised form 24 January 2021, Accepted 5 February 2021

 Acknowledgment 

No Acknowledgment.

 Compliance with ethical standards

 Conflict of interest: The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

 Citation:

  Qasim M, Bibi A, and Hussain SJ et al. (2021). Test case prioritization techniques in software regression testing: An overview. International Journal of Advanced and Applied Sciences, 8(5): 107-121

 Permanent Link to this page

 Figures

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

 Tables

 Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 

----------------------------------------------

 References (39)

  1. Ahmad SF, Singh DK, and Suman P (2018). Prioritization for regression testing using ant colony optimization based on test factors. In: Singh R, Choudhury S, and Gehlot A (Eds.), Intelligent communication, control and devices: 1353-1360. Springer, Singapore, Singapore. https://doi.org/10.1007/978-981-10-5903-2_142   [Google Scholar]
  2. Allawi HM, Al Manaseer W, and Al Shraideh M (2020). A greedy particle swarm optimization (GPSO) algorithm for testing real-world smart card applications. International Journal on Software Tools for Technology Transfer, 22(2): 183-194. https://doi.org/10.1007/s10009-018-00506-y   [Google Scholar]
  3. Askarunisa MA, Shanmugapriya ML, and Ramaraj DN (2010). Cost and coverage metrics for measuring the effectiveness of test case prioritization techniques. INFOCOMP Journal of Computer Science, 9(1): 43-52.   [Google Scholar]
  4. Azizi M and Do H (2018). Graphite: A greedy graph-based technique for regression test case prioritization. In the IEEE International Symposium on Software Reliability Engineering Workshops, IEEE, Memphis, USA: 245-251. https://doi.org/10.1109/ISSREW.2018.00014   [Google Scholar] PMid:30045707 PMCid:PMC6060527
  5. Bian Y, Li Z, Zhao R, and Gong D (2017). Epistasis based ACO for regression test case prioritization. IEEE Transactions on Emerging Topics in Computational Intelligence, 1(3): 213-223. https://doi.org/10.1109/TETCI.2017.2699228   [Google Scholar]
  6. Cha SH (2007). Comprehensive survey on distance/similarity measures between probability density functions. International Journal of Mathematical Models and Methods in Applied Sciences, 1(4): 300-307.   [Google Scholar]
  7. de Souza LS, Prudêncio RBC, and de Almeida Barros F (2010). A constrained particle swarm optimization approach for test case selection. In the 22nd International Conference on Software Engineering and Knowledge Engineering, Redwood City, USA: 259-264.   [Google Scholar]
  8. Deb K, Agrawal S, Pratap A, and Meyarivan T (2000). A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. In the International Conference on Parallel Problem Solving from Nature, Springer, Paris, France: 849-858. https://doi.org/10.1007/3-540-45356-3_83   [Google Scholar]
  9. Di Nucci D, Panichella A, Zaidman A, and De Lucia A (2015). Hypervolume-based search for test case prioritization. In: Barros M and Labiche Y (Eds.), International symposium on search based software engineering: 157-172. Springer, Cham, Switzerland. https://doi.org/10.1007/978-3-319-22183-0_11   [Google Scholar]
  10. Di Nucci D, Panichella A, Zaidman A, and De Lucia A (2018). A test case prioritization genetic algorithm guided by the hypervolume indicator. IEEE Transactions on Software Engineering, 46(6): 674-696. https://doi.org/10.1109/TSE.2018.2868082   [Google Scholar]
  11. Do H, Mirarab S, Tahvildari L, and Rothermel G (2008). An empirical study of the effect of time constraints on the cost-benefits of regression testing. In the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Association for Computing Machinery, Atlanta, Georgia: 71-82. https://doi.org/10.1145/1453101.1453113   [Google Scholar] PMid:17983459
  12. Do H, Mirarab S, Tahvildari L, and Rothermel G (2010). The effects of time constraints on test case prioritization: A series of controlled experiments. IEEE Transactions on Software Engineering, 36(5): 593-617. https://doi.org/10.1109/TSE.2010.58   [Google Scholar]
  13. Eberhart R, Shi Y, and Kennedy J (2001). Swarm Intelligence. Morgan Kaufmann Publisher, Burlington, USA.   [Google Scholar]
  14. Elbaum S, Malishevsky AG, and Rothermel G (2002). Test case prioritization: A family of empirical studies. IEEE Transactions on Software Engineering, 28(2): 159-182. https://doi.org/10.1109/32.988497   [Google Scholar]
  15. Gao D, Guo X, and Zhao L (2015). Test case prioritization for regression testing based on ant colony optimization. In the 6th IEEE International Conference on Software Engineering and Service Science, IEEE, Beijing, China: 275-279. https://doi.org/10.1109/ICSESS.2015.7339054   [Google Scholar] PMCid:PMC4411200
  16. Gusfield D (1997). Algorithms on strings, trees, and sequences: Computer science and computational biology. Cambridge University Press, Cambridge, UK. https://doi.org/10.1017/CBO9780511574931   [Google Scholar]
  17. Hao D, Zhang L, and Mei H (2016). Test-case prioritization: Achievements and challenges. Frontiers of Computer Science, 10(5): 769-777. https://doi.org/10.1007/s11704-016-6112-3   [Google Scholar]
  18. Hashim NL and Dawood YS (2018). Test case minimization applying firefly algorithm. International Journal on Advanced Science, Engineering and Information Technology, 8(4-2): 1777-1783. https://doi.org/10.18517/ijaseit.8.4-2.6820   [Google Scholar]
  19. Hla KHS, Choi Y, and Park JS (2008). Applying particle swarm optimization to prioritizing test cases for embedded real time software retesting. In the IEEE 8th International Conference on Computer and Information Technology Workshops, IEEE, Sydney, QLD, Australia: 527-532. https://doi.org/10.1109/CIT.2008.Workshops.104   [Google Scholar]
  20. Hsu YC, Peng KL, and Huang CY (2014). A study of applying severity-weighted greedy algorithm to software test case prioritization during testing. In the IEEE International Conference on Industrial Engineering and Engineering Management, IEEE, Bandar Sunway, Malaysia: 1086-1090. https://doi.org/10.1109/IEEM.2014.7058806   [Google Scholar]
  21. Jiang B and Chan WK (2015). Input-based adaptive randomized test case prioritization: A local beam search approach. Journal of Systems and Software, 105: 91-106. https://doi.org/10.1016/j.jss.2015.03.066   [Google Scholar]
  22. Khatibsyarbini M, Isa MA, and Abang Jawawi DN (2017). A hybrid weight-based and string distances using particle swarm optimization for prioritizing test cases. Journal of Theoretical and Applied Information Technology, 95: 2723-2732.   [Google Scholar]
  23. Khatibsyarbini M, Isa MA, Jawawi DN, Hamed HNA, and Suffian MDM (2019). Test case prioritization using firefly algorithm for software testing. IEEE Access, 7: 132360-132373. https://doi.org/10.1109/ACCESS.2019.2940620   [Google Scholar]
  24. Ledru Y, Petrenko A, Boroday S, and Mandran N (2012). Prioritizing test cases with string distances. Automated Software Engineering, 19(1): 65-95. https://doi.org/10.1007/s10515-011-0093-0   [Google Scholar]
  25. Li Z, Harman M, and Hierons RM (2007). Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4): 225-237. https://doi.org/10.1109/TSE.2007.38   [Google Scholar]
  26. Lu Y, Lou Y, Cheng S, Zhang L, Hao D, Zhou Y, and Zhang L (2016). How does regression test prioritization perform in real-world software evolution? In the 38th International Conference on Software Engineering, Association for Computing Machinery, Austin, Texas: 535-546. https://doi.org/10.1145/2884781.2884874   [Google Scholar]
  27. Márquez FPG, Papaelias M, and Zaman N (2016). Non-destructive testing. BoD–Books on Demand, Norderstedt, Germany.   [Google Scholar]
  28. Nayak S, Kumar C, Tripathi S, and Jena L (2019). Efficiency enhancement in regression test case prioritization technique. International Journal of Innovative Technology and Exploring Engineering, 8(12): 5445-5451. https://doi.org/10.35940/ijitee.K1595.1081219   [Google Scholar]
  29. Panthi V and Mohapatra DP (2015). Generating prioritized test sequences using firefly optimization technique. In: Jain L, Behera H, Mandal J, and Mohapatra D (Eds.), Computational intelligence in data mining: 627-635. Volume 2, Springer, New Delhi, India. https://doi.org/10.1007/978-81-322-2208-8_57   [Google Scholar]
  30. Shah SAA, Bukhari SSA, Humayun M, Jhanjhi NZ, and Abbas SF (2019). Test case generation using unified modeling language. In the International Conference on Computer and Information Sciences, IEEE, Sakaka, Saudi Arabia: 1-6. https://doi.org/10.1109/ICCISci.2019.8716480   [Google Scholar]
  31. Shah SAA, Shahzad RK, Bukhari SSA, and Humayun M (2016). Automated test case generation using UML class and sequence diagram. Current Journal of Applied Science and Technology, 15(3): 1-12. https://doi.org/10.9734/BJAST/2016/24860   [Google Scholar]
  32. Solanki K, Singh Y, and Dalal S (2015). Test case prioritization: an approach based on modified ant colony optimization (m-ACO). In the International Conference on Computer, Communication and Control, IEEE, Indore, India: 1-6. https://doi.org/10.1109/IC4.2015.7375627   [Google Scholar] PMid:27512541 PMCid:PMC4959403
  33. Solanki K, Singh Y, Dalal S, and Srivastava PR (2016). Test case prioritization: An approach based on modified ant colony optimization. In: Shetty N, Prasad N, and Nalini N (Eds.), Emerging research in computing, information, communication and applications: 213-223. Springer, Singapore, Singapore. https://doi.org/10.1007/978-981-10-0287-8_19   [Google Scholar]
  34. Su W, Li Z, Wang Z, and Yang D (2020). A meta-heuristic test case prioritization method based on hybrid model. In the International Conference on Computer Engineering and Application, IEEE, Guangzhou, China: 430-435. https://doi.org/10.1109/ICCEA50009.2020.00099   [Google Scholar]
  35. Tyagi M and Malhotra S (2014). Test case prioritization using multi objective particle swarm optimizer. In the International Conference on Signal Propagation and Computer Technology, IEEE, Ajmer, India: 390-395. https://doi.org/10.1109/ICSPCT.2014.6884931   [Google Scholar]
  36. Wang Z, Chen L, Xu B, and Huang Y (2011). Cost-cognizant combinatorial test case prioritization. International Journal of Software Engineering and Knowledge Engineering, 21(06): 829-854. https://doi.org/10.1142/S0218194011005499   [Google Scholar]
  37. Yoo S and Harman M (2007). Pareto efficient multi-objective test case selection. In the International Symposium on Software Testing and Analysis, Association for Computing Machinery, London, UK: 140-150. https://doi.org/10.1145/1273463.1273483   [Google Scholar] PMid:20799183
  38. Yuan F, Bian Y, Li Z, and Zhao R (2015). Epistatic genetic algorithm for test case prioritization. In: Barros M and Labiche Y (Eds.), International symposium on search based software engineering: 109-124. Springer, Cham, Switzerland. https://doi.org/10.1007/978-3-319-22183-0_8   [Google Scholar]
  39. Zhang W, Qi Y, Zhang X, Wei B, Zhang M, and Dou Z (2019). On test case prioritization using ant colony optimization algorithm. In the IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems, IEEE, Zhangjiajie, China: 2767-2773. https://doi.org/10.1109/HPCC/SmartCity/DSS.2019.00388   [Google Scholar] PMCid:PMC6469475