Skip to main content
Log in

Test case prioritization to examine software for fault detection using PCA extraction and K-means clustering with ranking

  • Methodologies and Application
  • Published:
Soft Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

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

    Article  Google Scholar 

  • Alakeel AM (2014) Using fuzzy logic in test case prioritization for regression testing programs with assertions. Sci World J 2014:1–9

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Ansari A, Khan A, Khan A, Mukadam K (2016) Optimized regression test using test case prioritization. Procedia Comput Sci 79:152–160

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Rothermel G, Untch RH, Chu C, Harrold MJ (2001) Prioritizing test cases for regression testing. IEEE Trans Softw Eng 27:929–948

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Srivastva PR, Kumar K, Raghurama G (2008) Test case prioritization based on requirements and risk factors. ACM SIGSOFT Softw Eng Notes 33:7

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Thomas SW, Hemmati H, Hassan AE, Blostein D (2014) Static test case prioritization using topic models. Empirical Software Engineering 19:182–212

    Article  Google Scholar 

  • Tonella P, Susi A, Palma F (2013) Interactive requirements prioritization using a genetic algorithm. Inf Softw Technol 55:173–187

    Article  Google Scholar 

  • 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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • Yoo S, Harman M (2012) Regression testing minimization, selection and prioritization: a survey. Softw Test Verif Reliab 22:67–120

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to N. Gokilavani.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-020-05517-z

Keywords

Navigation