Abstract
Regression testing is a testing method conducted to ensure that improvements do not affect the software’s current behavior. Test cases play a significant role in software testing activities since it detects faults in the software. The selection of test cases for execution based on the priority is a considerable decision-making step since testing needs to be carried out with limited computing resources like cost, effort, and time. Prioritized selection of test cases involves considering specific test case parameters or criteria; prioritizing test cases can be conceived as a multi-criteria decision-making problem. In this paper, using the Analytic Hierarchy Process (AHP) method, we suggest an approach for prioritizing the selection of the test cases. AHP provides a rational framework for structuring a decision-making problem. It is used to determine the priority of a set of criteria and to calculate the consistency ratio of those criteria using pair-wise comparisons of various measures. Using a new priority regression test algorithm proposed in this study, regression test prioritization is transformed into a multi-criteria decision-making problem. The suggested strategy has a higher Average Percentage of Faults Detected (APFD) value when many determinants are taken into account. The experimental results indicate that our proposed prioritization approach would improve the probability that faults will be detected early and enhance performance compared to other prioritization strategies.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Data Availability
Enquiries about data availability should be directed to the authors.
References
Afzal N, Sadim M (2018) Software requirements selection using AHP. Int J Comput Sci Commun 9(2):47–52
Ahmad Y, Pirzada DS (2014) Using analytic hierarchy process for exploring prioritization of functional strategies in auto parts manufacturing SMEs of Pakistan. Sage Open. https://doi.org/10.1177/2158244014553560
Arrieta A, Wang S, Sagardui G, Etxeberria L (2019) Search-based test case prioritization for simulation-based testing of cyber-physical system product lines. J Syst Softw 149:1–34
Avritzer A, Weyuker EJ (1997) Monitoring smoothly degrading systems for increased dependability. Empir Softw Eng 2:59–77
Bajaj A, Sangwan OP (2019) A systematic literature review of test case prioritization using genetic algorithms. IEEE Access 7:126355–126375
Bajaj A, Sangwan OP (2021) Discrete cuckoo search algorithms for test case prioritization. Appl Soft Comput. https://doi.org/10.1016/j.asoc.2021.107584
Chi J, Qu Y, Zheng Q, Yang Z, Jin W, Cui D, Liu T (2020) Relation-based test case prioritization for regression testing. J Syst Softw 163:1–18
Cho Y, Kim J, Lee E (2016) History-based test case prioritization for failure information. In: 23rd Asia-Pacific software engineering conference (APSEC), IEEE
Dash U, Acharya AA (2022) A systematic review of test case prioritization approaches. In: Proceedings of international conference on advanced computing applications, Springer, pp 653–666
Elbaum S, Malishevsky A, Rothermel G (2000) Prioritizing test cases for regression testing. In: Proceedings the 2000 ACM SIGSOFT international symposium on software testing and analysis, Portland, Oregon, USA, pp 102–112
Emam SS, Miller J (2015) Test case prioritization using extended digraphs. ACM Trans Softw Eng Methodol 25(01):1–41
Hettiarachchi C, Do H, Choi B (2016) Risk-based test case prioritization using a fuzzy expert system. Inf Softw Technol 69:1–15
Huang R, Towey D, Xu Y, Zhou Y, Yang N (2022) Dissimilarity-based test case prioritization through data fusion. Softw Pract Exp. https://doi.org/10.1002/spe.3068
Jahan H, Feng Z, Mahmud SMH (2020) Risk-based test case prioritization by correlating system methods and their associated risks. Arabian J Sci Eng 45:6125–6138
Jeffrey D, Gupta R (2005) Test suite reduction with selective redundancy. In: 21st IEEE conference on software maintenance (ICSM’05), pp 549–558
Kavitha R, Sureshkumar N (2010) Test case prioritization for regression testing based on severity of fault. Int J Comput Sci Engg (IJCSE) 2(5):1462–1466
Khatibsyarbini M, Isa M, Jawani D, Hamed H, Suffian M (2019) Test case prioritization using firefly algorithm for software testing. IEEE Access 7:132360–132373
Klindee P, Prompoon N (2015) Test case prioritization for software regression testing using analytic hierarchy process. In: 12th International joint conference on computer science and software engineering (JCSSE), pp 168–173
Korel B, Koutsogiannakis G, Tahat LH (2007) Model-based test prioritization heuristic methods and their evaluation. In: Proceeding A-MOST’07 Proceedings of the 3rd international workshop on advances in model-based testing, ACM, pp 34–43
Li Z, HarmanHierons M (2007) Search algorithms for regression test case prioritization. IEEE Trans on Softw Eng 33(4):225–237
Luo Q, Moran K, Poshyvanyk D, Penta M (2018) Assessing test case prioritization on real faults and mutants. In: IEEE international conference on software maintenance and evolution (ICSME)
Maheswari R, Mala D (2013) A novel approach for test case prioritization. In: IEEE International conference on computational intelligence and computing research
Mohanty S, Mohapatra SK, Meko SF (2020) Ant colony optimization (ACO-min) algorithm for test suite minimization. Adv Intell Syst Comput (AISC) 1119:55–63
Nayak S, Kumar C, Tripathi S (2017) Enhancing efficiency of the test case prioritization technique by improving the rate of fault detection. Arab J Sci Eng 42(8):3307–3323
Nayak S, Kumar C, Tripathi S (2016) Effectiveness of prioritization of test cases based on faults. In: Proceedings third int’l conference on recent advances in information technology (RAIT-2016) IEEE. https://doi.org/10.1109/RAIT.2016.7507977
Noor T, Hemmati H (2017) Studying test case failure prediction for test case prioritization. In: Proceedings of the 13th international conference on predictive models and data analytics in software engineering (PROMISE), pp 2–11
Panwar D, Tomar P, Singh V (2018) Hybridization of Cuckoo-ACO algorithm for test case prioritization. J Stat Manag Syst Taylor and Francis 21(04):539–546
Qasim M, Bibi A, Hussain SJ, Jhanjhi NZ, Humayun M, Sama NU (2021) Test case prioritization techniques in software regression testing: an overview. Int J Adv Appl Sci 8(5):107–121
Rothermel G, Harrold MJ (1997) A safe, efficient regression test selection technique. ACM Trans Softw Eng Methodol 6(2):173–210
Rothermel G, Untch R, Chu C, Harrold M (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27(10):929–948
Rotherrmel G, Harrold MJ, Ostrin J, Hong C (1998) An empirical study of the effects of minimization on the fault detection capabilities of test suites. In: Proceedings of the international conference on software maintenance, pp 34–43
Saaty RW (1987) The analytic hierarchy process-what it is and how it is used. Math Model 9(3–5):161–176
Shin D, Yoo S, Papadakis M, Bae D (2018) Empirical evaluation of mutation-based test case prioritization techniques. Softw Test Verif Reliab. https://doi.org/10.1002/stvr.1695
Shrivathsan A, Ravichandran K, Krishankumar R, Sangeetha V, Kar S, Ziemba P, Jankowski J (2019) Novel fuzzy clustering methods for test case prioritization in software projects. Symmetry 11(11):1–22
Srivastava, P. (2008) Test case prioritization. Journal of Theoretical and Applied Information Technology (JATIT), 178–181
Tahvili S, Bohlin M (2016) Test case prioritization using multi criteria decision making methods. Danish Soc Oper Res 26:9–11
Tyagi M, Malhotra S (2015) An approach for test case prioritization based on three factors. Int’l J Inf Technol Comput Sci 4:79–86
Wei D, Sun Q, Wang X, Zhang T, Chen B (2020) A model based test case prioritization approach based on fault urgency and severity. Int J Softw Eng Knowl Eng World Sci 30(02):263–290
Yan R, Chen Y, Gao H, Yan J (2022) Test case prioritization with neuron valuation based pattern. Sci Comput Progr 215:1–15
Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22(2):67–120
Funding
No funds, grants, or other support was received.
Author information
Authors and Affiliations
Contributions
All authors contributed to the study conception and design. Material preparation, data collection and analysis were performed by Soumen Nayak, Chiranjeev Kumar and Sachin Tripathi. The first draft of the manuscript was written by Soumen Nayak and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Informed consent
This research does not involve any human participants or animals.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Supplementary Information
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Nayak, S., Kumar, C. & Tripathi, S. Analytic hierarchy process-based regression test case prioritization technique enhancing the fault detection rate. Soft Comput 26, 6953–6968 (2022). https://doi.org/10.1007/s00500-022-07174-w
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-022-07174-w