Volume 14 , Issue 2 , PP: 261-271, 2024 | Cite this article as | XML | Html | PDF | Full Length Article
Heba Mohammed Fadhil 1 * , Mohammed Issam Younis 2
Doi: https://doi.org/10.54216/FPA.140221
The application of the test case prioritization method is a key part of system testing intended to think it through and sort out the issues early in the development stage. Traditional prioritization techniques frequently fail to take into account the complexities of big-scale test suites, growing systems and time constraints, therefore cannot fully fix this problem. The proposed study here will deal with a meta-heuristic hybrid method that focuses on addressing the challenges of the modern time. The strategy utilizes genetic algorithms alongside a black hole as a means to create a smooth tradeoff between exploring numerous possibilities and exploiting the best one. The proposed hybrid algorithm of genetic black hole (HGBH) uses the capabilities of considering the imperatives such as code coverage, fault finding rate and execution time from search algorithms in our hybrid approach to refine test cases considerations repetitively. The strategy accomplished this by putting experiments on a large-scale project of industrial software developed. The hybrid meta-heuristic technique ends up being better than the routine techniques. It helps in higher code coverage, which, in turn, enables to detect crucial defects at an early stage and also to allocate the testing resources in a better way. In particular, the best APFD value was 0.9321, which was achieved in 6 generations with 4.879 seconds the value to which the computer was run. Besides these, , the approach resulted in the mean value of APFD as 0.9247 and 0.9302 seconds which took from 10.509 seconds to 30.372 seconds. The carried out experiment proves the feasibility of this approach in implementing complex systems and consistently detecting the changes, enabling it to adapt to rapidly changing systems. In the end, this research provides us with a new hybrid meta-heuristic way of test case prioritization and optimization, which, in turn, helps to tackle the obstacles caused by large-scale test cases and constantly changing systems.
Test Case Prioritization , genetic algorithms , black hole Algorithm , Software Testing , Meta-heuristic , Hybrid.
[1] H. M. Fadhil, M. N. Abdullah, and M. I. Younis, “Combinatorial Testing Approaches: A Systematic Review,” Iraqi Journal of Computers, Communications, Control, and Systems Engineering (IJCCCE), vol. 24, no. Accepted, 2023.
[2] K. Sugali, C. Sprunger, and V. N Inukollu, “Software Testing: Issues and Challenges of Artificial Intelligence & Machine Learning,” International Journal of Artificial Intelligence & Applications, vol. 12, no. 1, pp. 101–112, 2021, doi: 10.5121/ijaia.2021.12107.
[3] M. Khatibsyarbini, M. A. Isa, D. N. A. Jawawi, and R. Tumeng, “Test case prioritization approaches in regression testing: A systematic literature review,” Information and Software Technology, vol. 93. Elsevier B.V., pp. 74–93, Jan. 01, 2018. doi: 10.1016/j.infsof.2017.08.014.
[4] K. El-Fakih, A. Alzaatreh, and U. C. Türker, “Assessing test suites of extended finite state machines against model- and code-based faults,” in Software Testing Verification and Reliability, 2021. doi: 10.1002/stvr.1789.
[5] O. Achimugu, P. Achimugu, C. Nwufoh, S. Husssein, R. Kolapo, and T. Olufemi, “An Improved Approach for Generating Test Cases during Model-Based Testing Using Tree Traversal Algorithm,” Journal of Software Engineering and Applications, vol. 14, no. 06, 2021, doi: 10.4236/jsea.2021.146015.
[6] V. Riccio, G. Jahangirova, A. Stocco, N. Humbatova, M. Weiss, and P. Tonella, “TECHNICAL REPORT : TR-Precrime-2020-03 Testing Machine Learning based Systems : A Systematic Mapping,” Empir Softw Eng, 2020, [Online]. Available: http://link.springer.com/10.1007/s10664-020-09881-0%0Ahttps://doi.org/10.1007/s10664-020-09881-0
[7] C. P. Yang, G. Dhadyalla, J. Marco, and P. Jennings, “The effect of time-between-events for sequence interaction testing of a real-time system,” Proceedings - 2018 IEEE 11th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2018, pp. 332–340, 2018, doi: 10.1109/ICSTW.2018.00069.
[8] M. I. Younis, “DEO: A dynamic event order strategy for T-way sequence covering array test data generation,” Baghdad Science Journal, vol. 17, no. 2, pp. 575–582, 2020, doi: 10.21123/bsj.2020.17.2.0575.
[9] M. A. S. Mohd Shahrom, N. Zainal, M. F. Mohamad, and S. A. Mostafa, “A Review of Glowworm Swarm Optimization Meta-Heuristic Swarm Intelligence and its Fusion in Various Applications,” Fusion: Practice and Applications, vol. 13, no. 1, 2023, doi: 10.54216/FPA.130107.
[10] O. S. Ahmed, F. Fadhil, L. H. J. Alzubaidi, and R. Al-Obaidi, “Fusion Processing Techniques and Bio-inspired Algorithm for E-Communication and Knowledge Transfer,” Fusion: Practice and Applications, vol. 10, no. 1, 2023, doi: 10.54216/FPA.100109.
[11] S. Sabharwal and M. Aggarwal, “Test set generation for pairwise testing using genetic algorithms,” Journal of Information Processing Systems, vol. 13, no. 5, 2017, doi: 10.3745/JIPS.04.0019.
[12] C. P. Vudatha, S. Nalliboena, S. K. R. Jammalamadaka, B. K. K. Duvvuri, and L. S. S. Reddy, “Automated generation of test cases from output domain of an embedded system using Genetic algorithms,” in ICECT 2011 - 2011 3rd International Conference on Electronics Computer Technology, 2011. doi: 10.1109/ICECTECH.2011.5941989.
[13] H. N. Nsaif and D. Norhayati Abang Jawawi, “Binary Black Hole-Based Optimization for T-Way Testing,” IOP Conf Ser Mater Sci Eng, vol. 864, no. 1, 2020, doi: 10.1088/1757-899X/864/1/012073.
[14] H. N. Nsaif Al-Sammarraie and D. N. A. Jawawi, “Multiple Black Hole Inspired Meta-Heuristic Searching Optimization for Combinatorial Testing,” IEEE Access, vol. 8, pp. 33406–33418, 2020, doi: 10.1109/ACCESS.2020.2973696.
[15] T. O. Ting, X. S. Yang, S. Cheng, and K. Huang, “Hybrid metaheuristic algorithms: Past, present, and future,” in Studies in Computational Intelligence, vol. 585, Springer Verlag, 2015, pp. 71–83. doi: 10.1007/978-3-319-13826-8_4.
[16] A. P. Agrawal, A. Choudhary, and A. Kaur, “An effective regression test case selection using hybrid whale optimization algorithm,” International Journal of Distributed Systems and Technologies, vol. 11, no. 1, pp. 53–67, Jan. 2020, doi: 10.4018/IJDST.2020010105.
[17] H. M. Fadhil, M. N. Abdullah, and M. I. Younis, “TWGH: A Tripartite Whale–Gray Wolf–Harmony Algorithm to Minimize Combinatorial Test Suite Problem,” Electronics (Basel), vol. 11, no. 18, 2022.
[18] B. Xu, X. Xie, L. Shi, and C. Nie, “Application of genetic algorithms in software testing,” in Advances in Machine Learning Applications in Software Engineering, 2006. doi: 10.4018/978-1-59140-941-1.ch012.
[19] M. A. Jamil, M. Arif, N. S. A. Abubakar, and A. Ahmad, “Software testing techniques: A literature review,” in Proceedings - 6th International Conference on Information and Communication Technology for the Muslim World, ICT4M 2016, 2017. doi: 10.1109/ICT4M.2016.40.
[20] S. Varshney and M. Mehrotra, “Search based software test data generation for structural testing,” ACM SIGSOFT Software Engineering Notes, vol. 38, no. 4, 2013, doi: 10.1145/2492248.2492277.
[21] M. Utting, A. Pretschner, and B. Legeard, “A taxonomy of model-based testing approaches,” Software Testing Verification and Reliability, vol. 22, no. 5, 2012, doi: 10.1002/stvr.456.
[22] A. Alert and L. Grunske, “Test data generation with a Kalman filter-based adaptive genetic algorithm,” Journal of Systems and Software, vol. 103, no. C, 2015, doi: 10.1016/jjss.2014.11.035.
[23] G. Fraser and A. Arcuri, “1600 faults in 100 projects: automatically finding faults while achieving high coverage with EvoSuite,” Empir Softw Eng, vol. 20, no. 3, 2015, doi: 10.1007/s10664-013-9288-2.
[24] R. Matinnejad, S. Nejati, L. C. Briand, and T. Bruckmann, “Effective test suites for mixed discrete-continuous stateflow controllers,” in 2015 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2015 - Proceedings, 2015. doi: 10.1145/2786805.2786818.
[25] Z. Qin, G. Denker, C. Giannelli, P. Bellavista, and N. Venkatasubramanian, “A software defined networking architecture for the internet-of-things,” in IEEE/IFIP NOMS 2014 - IEEE/IFIP Network Operations and Management Symposium: Management in a Software Defined World, 2014. doi: 10.1109/NOMS.2014.6838365.
[26] A. Ramírez, J. R. Romero, and S. Ventura, “An approach for the evolutionary discovery of software architectures,” Inf Sci (N Y), vol. 305, 2015, doi: 10.1016/j.ins.2015.01.017.
[27] Amarjeet and J. K. Chhabra, “Harmony search based remodularization for object-oriented software systems,” Comput Lang Syst Struct, vol. 47, 2017, doi: 10.1016/j.cl.2016.09.003.
[28] X. Yao and D. Gong, “Genetic algorithm-based test data generation for multiple paths via individual sharing,” Comput Intell Neurosci, vol. 2014, 2014, doi: 10.1155/2014/591294.
[29] R. K. Sahoo, D. P. Mohapatra, and M. R. Patra, “A Firefly Algorithm Based Approach for Automated Generation and Optimization of Test Cases,” International Journal of Computer Sciences and Engineering, vol. 4, no. 8, 2016.
[30] A. Singh, N. Garg, and T. Saini, “A hybrid Approach of Genetic Algorithm and Particle Swarm Technique to Software Test Case Generation,” International Journal of Innovations in Engineering and Technology (IJIET), vol. 3, 2014.
[31] O. R. Olaniran and M. A. A. Bin Abdullah, “Bayesian variable selection for multiclass classification using bootstrap prior technique,” Austrian Journal of Statistics, vol. 48, no. 2, 2019, doi: 10.17713/ajs.v48i2.806.
[32] O. R. Olaniran and W. B. Yahya, “Bayesian hypothesis testing of two normal samples using bootstrap prior technique,” Journal of Modern Applied Statistical Methods, vol. 16, no. 2, 2017, doi: 10.22237/jmasm/1509496440.
[33] A. Singh, R. K. Bhatia, and A. Singhrova, “Machine learning based test case prioritization in object oriented testing,” International Journal of Recent Technology and Engineering, vol. 8, no. 3, 2019, doi: 10.35940/ijrte.C3968.098319.
[34] M. M. Sharma, A. Agrawal, and B. Suresh Kumar, “Test case design and test case prioritization using machine learning,” Int J Eng Adv Technol, vol. 9, no. 1, pp. 2742–2748, Oct. 2019, doi: 10.35940/ijeat.A9762.109119.
[35] M. Khatibsyarbini et al., “Trend Application of Machine Learning in Test Case Prioritization: A Review on Techniques,” IEEE Access, vol. 9, pp. 166262–166282, 2021, doi: 10.1109/ACCESS.2021.3135508.
[36] R. Lachmann, M. Nieke, C. Seidl, I. Schaefer, and S. Schulze, “System-level test case prioritization using machine learning,” in Proceedings - 2016 15th IEEE International Conference on Machine Learning and Applications, ICMLA 2016, Institute of Electrical and Electronics Engineers Inc., Jan. 2017, pp. 361–368. doi: 10.1109/ICMLA.2016.163.
[37] A. Bajaj and O. P. Sangwan, “Test Case Prioritization Using Bat Algorithm,” Recent Advances in Computer Science and Communications, vol. 14, no. 2, pp. 593–598, Mar. 2019, doi: 10.2174/2213275912666190226154344.
[38] M. Mann, P. Tomar, and O. P. Sangwan, “Test Case Prioritization Using Metaheuristic Search Techniques,” Arab Gulf Journal of Scientific Research, pp. 157–173, Dec. 2015, doi: 10.51758/agjsr-04-2015-0015