Abstract
One of the significant features of software quality is software reliability. In the testing phase, faults are identified and corrected by integrating them into software development, thus obtaining better reliability. Here, by utilizing the Elliptical Distributions-centric Emperor Penguins Colony Algorithm (ED-EPCA)-based Test Case Prioritization (TCP), an effectual Fault Detection (FD) technique is proposed using Fishers Yates Shuffled Shepherd Optimization Algorithm (FY-SSOA)-based Test Case Selection (TCS). Initially, for the incoming source code, the Test Case (TC) is created. Then, the significant factors needed for TCS and prioritization are identified. Next, by utilizing the Log Scaling-centered Generalized Discriminant Analysis (LS-GDA) model, the estimated factors are abated further to enhance the TCS along with prioritization for the Fault Detection Process (FDP). Then, using the FY-SSOA, the optimized TCs are selected. Subsequently, with the help of ED-EPCA, the TCs being selected are ranked as well as prioritized. Finally, to validate the proposed system’s effectiveness, the model’s performance is evaluated in the working platform of Java and analogized with the traditional methodologies. The results indicate that the test case prioritization-based fault detection method is robust with a 99.23% fault detection rate and a small amount of memory usage, which is only 8245475 kb by generating a large number of test cases.
Similar content being viewed by others
Data Availability Statement
Data sharing is not applicable to this article as no datasets were generated or analyzed during the current study.
References
Ali S, Hafeez Y, Hussain S, Yang S (2020) Enhanced regression testing technique for agile software development and continuous integration strategies. Software Qual J 28(2):397–423. https://doi.org/10.1007/s11219-019-09463-4
Ali S, Hafeez Y, Jhanjhi NZ, Humayun M, Imran M, Nayyar A, Singh S, Ra I (2020) HTowards Pattern-Based Change Verification Framework for Cloud-Enabled Healthcare Component-Based. IEEE Access 8:148007–148020. https://doi.org/10.1109/ACCESS.2020.3014671
Arasteh B, Imanzadeh P, Arasteh K, Gharehchopogh FS, Zarei B (2022) A source-code aware method for software mutation testing using artificial bee colony algorithm. J Electron Test 38(3):289–302
Arasteh B, Hosseini SMJ (2022) Traxtor: an automatic software test suit generation method inspired by imperialist competitive optimization algorithms. J Electron Test 38(2):205–215
Bagherzadeh M, Kahani N, Briand L (2021) Reinforcement Learning for Test Case Prioritization. IEEE Trans Softw Eng 5589(c):1–21. https://doi.org/10.1109/TSE.2021.3070549
Chi J, Qu Y, Zheng Q, Yang Z, ** W, Cui D, Liu T (2020) Relation-based test case prioritization for regression testing. J Syst Softw 163. https://doi.org/10.1016/j.jss.2020.110539
Choudhary C, Kapur PK, Khatri SK, Muthukumar R, Shrivastava AK (2020) Effort based release time of software for detection and correction processes using MAUT. International Journal of System Assurance Engineering and Management 11:367–378. https://doi.org/10.1007/s13198-020-00955-2
Cui Z, Jia M, Chen X, Zheng L, Liu X (2020) Improving software fault localization by combining spectrum and mutation. IEEE Access 8:172296–172307. https://doi.org/10.1109/ACCESS.2020.3025460
Dadkhah M, Araban S, Paydar S (2020) A systematic literature review on semantic web enabled software testing. J Syst Softw 162:110485. https://doi.org/10.1016/j.jss.2019.110485
Danglot B, Monperrus M, Rudametkin W, Baudry B (2020) An approach and benchmark to detect behavioral changes of commits in continuous integration. Empir Softw Eng 25(4):2379–2415. https://doi.org/10.1007/s10664-019-09794-7
Gao K (2021) Simulated Software Testing Process and Its Optimization Considering Heterogeneous Debuggers and Release Time. IEEE Access 9:38649–38659. https://doi.org/10.1109/ACCESS.2021.3064296
Garousi V, Bauer S, Felderer M (2020) NLP-assisted software testing: A systematic map** of the literature. Inf Softw Technol 126:106321. https://doi.org/10.1016/j.infsof.2020.106321
Gokilavani N, Bharathi B (2021) Test case prioritization to examine software for fault detection using PCA extraction and K-means clustering with ranking. Soft Comput 25(7):5163–5172. https://doi.org/10.1007/s00500-020-05517-z
Huang R, Zhang Q, Towey D, Sun W, Chen J (2020) Regression test case prioritization by code combinations coverage. J Syst Softw 169:110712. https://doi.org/10.1016/j.jss.2020.110712
Jahan H, Feng Z, Mahmud SMH (2020) Risk-Based Test Case Prioritization by Correlating System Methods and Their Associated Risks. Arab J Sci Eng 45(8):6125–6138. https://doi.org/10.1007/s13369-020-04472-z
Khari M, Kumar P, Burgos D, Crespo RG (2018) Optimized test suites for automated testing using different optimization techniques. Soft Comput 22:8341–8352
Khari M, Sinha A, Verdu E, Crespo RG (2020) Performance analysis of six meta-heuristic algorithms over automated test suite generation for path coverage-based optimization. Soft Comput 24(12):9143–9160
Lima JAP, Vergilio SR (2022) A Multi-Armed Bandit Approach for Test Case Prioritization in Continuous Integration Environments. IEEE Trans Software Eng 48(2):453–465. https://doi.org/10.1109/TSE.2020.2992428
Lin G, Kramer H, Granderson J (2020) Building fault detection and diagnostics: Achieved savings, and methods to evaluate algorithm performance. Build Environ 168:106505. https://doi.org/10.1016/j.buildenv.2019.106505
Ma P, Cheng H, Zhang J, Xuan J (2020) Can this fault be detected: A study on fault detection via automated test generation. J Syst Softw 170:110769. https://doi.org/10.1016/j.jss.2020.110769
Mahdieh M, Mirian-Hosseinabadi SH, Etemadi K, Nosrati A, Jalali S (2020) Incorporating fault-proneness estimations into coverage-based test case prioritization methods. Inf Softw Technol 121(January):106269. https://doi.org/10.1016/j.infsof.2020.106269
Mukherjee R, Patnaik KS (2021) A survey on different approaches for software test case prioritization. J King Saud Univ Comput Inf Sci 33(9):1041–1054. https://doi.org/10.1016/j.jksuci.2018.09.005
Nagaraju V, Jayasinghe C, Fiondella L (2020) Optimal test activity allocation for covariate software reliability and security models. J Syst Softw 168:110643. https://doi.org/10.1016/j.jss.2020.110643
Nithya TM, Chitra S (2020) Soft computing-based semi-automated test case selection using gradient-based techniques. Soft Comput 24(17):12981–12987. https://doi.org/10.1007/s00500-020-04719-9
Prado LJ, A & Vergilio S. R. (2020) Test Case Prioritization in Continuous Integration environments: A systematic map** study. Inf Softw Technol 121:106268. https://doi.org/10.1016/j.infsof.2020.106268
Raju S, Uma GV (2012) Factors oriented test case prioritization technique in regression testing using genetic algorithm. Eur J Sci Res 74(3):389–402
Santos I, Melo SM, Lopes De Souza PS, Souza SRS (2020) Towards a unified catalog of attributes to guide industry in software testing technique selection. Proceedings - 2020 IEEE 13th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2020 pp. 398–407. https://doi.org/10.1109/ICSTW50294.2020.00071
Shrivastava AK, Kumar V, Kapur PK, Singh O (2020) Software release and testing stop time decision with change point. Int J Syst Assur Eng Manag 11:196–207. https://doi.org/10.1007/s13198-020-00988-7
**ao H, Cao M, Peng R (2020) Artificial neural network based software fault detection and correction prediction models considering testing effort. Appl Soft Comput J 94:106491. https://doi.org/10.1016/j.asoc.2020.106491
Yucalar F, Ozcift A, Borandag E, Kilinc D (2020) Multiple-classifiers in software quality engineering: Combining predictors to improve software fault prediction ability. Eng Sci Technol 23(4):938–950. https://doi.org/10.1016/j.jestch.2019.10.005
Acknowledgements
We thank the anonymous referees for their useful suggestions.
Funding
This work has no funding resource.
Author information
Authors and Affiliations
Contributions
All authors contributed to the study conception and design. Material preparation, data collection and analysis were performed by *1J Paul Rajasingh, 2P.Senthil Kumar, 3S.Srinivasan. The first draft of the manuscript was written by1J Paul Rajasingh and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Ethical Approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Consent of Publication
Not applicable.
Competing Interests
The authors declare that they have no competing interests.
Additional information
Responsible Editor: B. Arasteh
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Rajasingh, J.P., Kumar, P.S. & Srinivasan, S. Efficient Fault Detection by Test Case Prioritization via Test Case Selection. J Electron Test 39, 659–677 (2023). https://doi.org/10.1007/s10836-023-06086-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10836-023-06086-3