Abstract
Many software-related failures or faults were caused as the consequence of not detecting it early and prevailing constraints of time and supplies available during any software examination. Having identified the challenges in the regression software testing of any software, many have started moving their attention towards the test cases or else validation suites prioritization. In this work, we have taken the Firefox bugs Report as the input Dataset comprising 12,486 test cases in it. Dealing with these kind of greater number test cases might consume our times and resources to the core for which the work is proposed. The dataset will be subjected to pre-processing operation to remove the unwanted contents in the bug reports like the assertions in some cases. Necessary features are then selected by using the algorithm called PCA, and attributes for clustering and prioritization will be determined by using the Dimensionality reduction. After the feature selection process, we make use of the agglomerative K–means clustering algorithm which helps to form clustered groups. After clustering process, we apply the ranking algorithm and prioritized the test cases in the clusters by using it. Finally, the performance of this work was analyzed and cross-verified by analyzing the priority ranking for clusters, sum of the distinct faults detected based on the number of test cases, adjacency matrix between test cases and fault detection rate.
Similar content being viewed by others
References
Agrawal AP, Choudhary A, Kaur A (2020) An effective regression test case selection using hybrid whale optimization algorithm. Int J Distrib Syst Technol (IJDST) 11:53–67
Alakeel AM (2014) Using fuzzy logic in test case prioritization for regression testing programs with assertions. Sci World J 2014:1–9
Anand S, Burke EK, Chen TY, Clark J, Cohen MB, Grieskamp W et al (2013) An orchestrated survey of methodologies for automated software test case generation. J Syst Softw 86:1978–2001
Ansari A, Khan A, Khan A, Mukadam K (2016) Optimized regression test using test case prioritization. Procedia Comput Sci 79:152–160
Arafeen MJ, Do H (2013) Test case prioritization using requirements-based clustering. In: 2013 IEEE sixth international conference on software testing, verification and validation, pp 312–321
Azizi M, Do H (2018) A collaborative filtering recommender system for test case prioritization in web applications. In: Proceedings of the 33rd annual ACM symposium on applied computing, pp 1560–1567
Chen J, Bai Y, Hao D, Xiong Y, Zhang H, Zhang L et al (2016) Test case prioritization for compilers: a text-vector based approach. In: 2016 IEEE international conference on software testing, verification and validation (ICST), pp 266–277
Chen J, Zhu L, Chen TY, Towey D, Kuo F-C, Huang R et al (2018) Test case prioritization for object-oriented software: an adaptive random sequence approach based on clustering. J Syst Softw 135:107–125
Cho Y, Kim J, Lee E (2016) History-based test case prioritization for failure information. In: 2016 23rd Asia-Pacific software engineering conference (APSEC), pp 385–388
Fazlalizadeh Y, Khalilian A, Azgomi MA, Parsa S (2009) Incorporating historical test case performance data and resource constraints into test case prioritization. In: International conference on tests and proofs, pp 43–57
Hao D, Zhang L, Zhang L, Rothermel G, Mei H (2014) A unified test case prioritization approach. ACM Trans Softw Eng Methodol (TOSEM) 24:10
Khatibsyarbini M, Isa MA, Jawawi DN, Hamed HNA, Suffian MDM (2019) Test case prioritization using firefly algorithm for software testing. IEEE Access 7:132360–132373
Luo Q, Moran K, Poshyvanyk D, Di Penta M (2018) Assessing test case prioritization on real faults and mutants. In: 2018 IEEE international conference on software maintenance and evolution (ICSME), pp 240–251
Marchetto A, Islam MM, Asghar W, Susi A, Scanniello G (2015) A multi-objective technique to prioritize test cases. IEEE Trans Softw Eng 42:918–940
Rothermel G, Untch RH, Chu C, Harrold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27:929–948
Sharma C, Sabharwal S, Sibal R (2014) Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams. arXiv preprint https://arxiv.org/abs/1410.4838
Srikanth H, Banerjee S, Williams L, Osborne J (2014) Towards the prioritization of system test cases. Softw Test Verif Reliab 24:320–337
Srivastva PR, Kumar K, Raghurama G (2008) Test case prioritization based on requirements and risk factors. ACM SIGSOFT Softw Eng Notes 33:7
Sultan Z, Bhatti SN, Abbas R, Shah SAA (2017) Analytical review on test cases prioritization techniques: An empirical study. Int J Adv Comput Sci Appl (IJACSA) 8(2):293–302
Thomas SW, Hemmati H, Hassan AE, Blostein D (2014) Static test case prioritization using topic models. Empirical Software Engineering 19:182–212
Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55:173–187
Tulasiraman M, Kalimuthu V (2018) Cost cognizant history based prioritization of test case for regression testing using immune algorithm. Int J Intell Eng Syst 11:221–228
Vasile M-A, Pop F, Tutueanu R-I, Cristea V, Kołodziej J (2015) Resource-aware hybrid scheduling algorithm in heterogeneous distributed computing. Future Gener Comput Syst 51:61–71
Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22:67–120
Yoo S, Harman M, Clark D (2013) Fault localization prioritization: Comparing information-theoretic and coverage-based approaches. ACM Trans Softw Eng Methodol (TOSEM) 22:19
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
I confirm that this work is original and has either not been published elsewhere, or is currently under consideration for publication elsewhere. This research work was not funded by any organization/institute/agency. None of the authors have any competing interests in the manuscript.
Additional information
Communicated by V. Loia.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Gokilavani, N., Bharathi, B. Test case prioritization to examine software for fault detection using PCA extraction and K-means clustering with ranking. Soft Comput 25, 5163–5172 (2021). https://doi.org/10.1007/s00500-020-05517-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-020-05517-z