Directed Search Based on Improved Whale Optimization Algorithm for Test Case Prioritization
DOI:
https://doi.org/10.15837/ijccc.2023.2.5049Abstract
With the advent of the information age, the iterative speed of software update is gradually accelerating which makes software development severely limited by software testing. Test case prioritization is an effective way to accelerate software testing progress. With the introduction of heuristic algorithm to this task, the processing efficiency of test cases has been greatly improved. However, to overcome the shortcomings of slow convergence speed and easy fall into local optimum, the improved whale optimization algorithm is proposed for test case prioritization. Firstly, a model called n-dimensional directed search space is established for the swarm intelligence algorithm. Secondly, the enhanced whale optimization algorithm is applied to test case prioritization while the backtracking behavior is conducted for individuals when hitting the wall. In addition, a separate storage space for Pareto second optimization is also designed to filter the optimal solutions of the multi-objective tasks. Finally, both single-objective and multi-objective optimization experiments are carried out for open source projects and real-world projects, respectively. The results show that the improved whale optimization algorithm using n-dimensional directed search space is more conducive to the decisions of test case prioritization with fast convergence speed.References
Minimol, A.J. (2021). Automating and optimizing software testing using artificial intelligence techniques, In International Journal of Advanced Computer Science and Applications, 12(05), 2021.
https://doi.org/10.14569/IJACSA.2021.0120571
Chen, Y. (2022). Analysis and application of software automated testing method, In Modern Industrial Economy and Informatization, 12(01), 167-168+171, 2022.
Mahdieh, M.; Mirian, H.S.H.; Mahdieh, M. (2022). Test case prioritization using test case diversification and fault-proneness estimations, In Automated Software Engineering, 29(02), 50, 2022.
https://doi.org/10.1007/s10515-022-00344-y
Rongcun, W.; Zhengmin, L.; Shujuan, J.; et al (2020). Regression test case prioritization based on fixed size candidate set ART algorithm, In International Journal of Software Engineering and Knowledge Engineering, 30(03), 291-320, 2020.
https://doi.org/10.1142/S0218194020500138
Lee, Y.S. (2022). A study on intermediate code generation for security weakness analysis of smart contract chaincode, In Journal of Logistics, Informatics and Service Science, 9(1), 53-67, 2022.
https://doi.org/10.14704/WEB/V19I1/WEB19318
Kim, J.A. (2022). A case study of domain engineering in software product line engineering, In Journal of Logistics, Informatics and Service Science, 9(1), 97-115, 2022.
Wong, W.; Horgan, J.; London, S.; et al (1997). A study of effective regression testing in practice, In The Eighth International Symposium On Software Reliability Engineering, 264-274, 1997.
Ani, R.; Sabrina, A.; Intan, E.A.J.; et al (2021). A systematic literature review on regression test case prioritization, In International Journal of Advanced Computer Science and Applications, 12(9), 253-267, 2021.
Geetha, U; Sankar, S.; Sandhya, M. (2021). Acceptance testing based test case prioritization, In Cogent Engineering, 8(1), 1-22, 2021.
https://doi.org/10.1080/23311916.2021.1907013
Elbaum, S.; Malishevsky, A. G.; Rothermel, G. (2002). Test case prioritization: A family of empirical studies, In Transactions on software engineering, 28(2), 159-182, 2002.
https://doi.org/10.1109/32.988497
Haiyan, Z.; Hui, F.; Qingsong, X.; et al (2008). Research on test case prioritization, In Computer Engineering and Science, 1(01), 79-81, 2008.
Li, Z.; Harman, M.; Hierons, R. (2007). Search algorithms for regression test case prioritization, In Transactions on Software Engineering, 33(4), 225-237, 2007.
https://doi.org/10.1109/TSE.2007.38
Dharmveer, K.Y.; Sandip, D. (2021). Test case prioritization based on early fault detection technique, In Recent Advances in Computer Science and Communications, 14(1), 302-316, 2021.
https://doi.org/10.2174/2213275912666190404152603
Stanujkic, D.; Karabasevic, D.; Popovic, G.; et al (2021). Multiple-criteria decision-making based on the use of single-valued neutrosophic sets and similarity measures, In Economic Computation And Economic Cybernetics Studies And Research, 55(2), 5-22, 2021.
https://doi.org/10.24818/18423264/55.2.21.01
Weixiang, Z.; Bo, W.; Huisen D. (2015). Test case prioritization method based on genetic algorithm, In Minicomputer System, 36(09), 1998-2002, 2015.
Hongwei, X.; Pengcheng, L.; Zhongxiao C.; et al (2021). Test case prioritization based on artificial immune algorithm, In Tehnički vjesnik, 28(6) , 1871-1876, 2021.
https://doi.org/10.17559/TV-20210311060442
Xue L.; Yunna, T.; Yuan, T. (2021). A survey of swarm intelligence methods, In Information and Computer (theoretical version), 33(24), 63-69, 2021.
Tole, K.; Milani, M.; Mwakondo, F. (2021). Particle swarm algorithm for improved handling of the mirrored traveling tournament problem, In Tehnički vjesnik, 28(5), 1647-1653, 2021.
https://doi.org/10.17559/TV-20200618162959
Liu, L.; Chen, T.; Gao, S.; et al (2021). Optimization of agricultural machinery allocation in heilongjiang reclamation area based on particle swarm optimization algorithm, In Tehnički vjesnik, 28(6), 1885-1893, 2021.
https://doi.org/10.17559/TV-20210427163416
Sabonchi, A.K.S.; Akay, B. (2021). Cryptanalysis of polyalphabetic cipher using differential evolution algorithm, In Tehnicki vjesnik-Technical Gazette, 27(4), 1101-1107, 2021.
https://doi.org/10.17559/TV-20190314095054
Vescan, A.; Pintea, C.M.; Pop, P.C. (2022). Test case prioritization-ANT algorithm with faults severity, In Logic Journal of the IGPL, 30(2), 277-288, 2022.
https://doi.org/10.1093/jigpal/jzaa061
Ying, X.; Xingde, W.; Shen, Q. (2021). Test case prioritization based on artificial fish school algorithm, In Computer Communications, 180, 295-302, 2021.
https://doi.org/10.1016/j.comcom.2021.09.014
Gouda, R.; Chandraprakash, V. (2022). Multi-objective crow search and fruit fly optimization for combinatorial test case prioritization, In International Journal of Software Innovation, 9(4), 1-19, 2022.
https://doi.org/10.4018/IJSI.289173
Anu, B.; Om, P. S. (2021). Test case prioritization using bat algorithm, In Recent Advances in Computer Science and Communications, 14(2), 593-598, 2021.
https://doi.org/10.2174/2213275912666190226154344
Manar, A.H.; Abdelzahir, A.; Souad, L.M.S.; et al (2022). Modified Harris hawks optimization based test case prioritization for software testing, In Computers, Materials & Continua, 72(1), 1951-1965, 2022.
https://doi.org/10.32604/cmc.2022.024692
Bajaj, A.; Sangwan, O.P. (2021). Discrete cuckoo search algorithms for test case prioritization, In Applied Soft Computing Journal, 110, 1-18, 2021.
https://doi.org/10.1016/j.asoc.2021.107584
Gandomi, A.H.; Yang, X.S. (2011). Benchmark problems in structural optimization, In Computation Optimization,Methods and Algorithms, 356, 259-281, 2011.
https://doi.org/10.1007/978-3-642-20859-1_12
Singh, S.; Bansal, J.C. (2022). Mutation-driven grey wolf optimizer with modified search mechanism, In Expert Systems With Applications, 194, 1-24, 2022.
https://doi.org/10.1016/j.eswa.2021.116450
Chunyao, L.; GuangLin, Z. (2021). A hybrid whale optimization algorithm for global optimization, In Mathematics, 9(13), 1477, 2021.
https://doi.org/10.3390/math9131477
Kezhong, L.; Zongmin, M. (2021). A modified whale optimization algorithm for parameter estimation of software reliability growth models, In Journal of Algorithms & Computational Technology, 15, 1-14, 2021.
https://doi.org/10.1177/17483026211034442
Jianxun, L.; Jinfei, S.; Fei, H.; et al (2022). A reinforced exploration mechanism whale optimization algorithm for continuous optimization problems, In Mathematics and Computers in Simulation, 201,23-48, 2022.
https://doi.org/10.1016/j.matcom.2022.04.033
Rothermel, G.; Untch, R.H.; Chu. C.; et al (1999). Test Case Prioritization, An Empirical Study, In International Conference on Software Maintenance, IEEE, 179-188, 1999.
https://doi.org/10.1109/ICSM.1999.792604
Muhammad, H.; Seung, R.J.; Muhammad, F.P.; et al (2021). An ontology based test case prioritization approach in regression testing, In Computers, Materials & Continua, 67(1), 1051-1068, 2021.
https://doi.org/10.32604/cmc.2021.014686
MohdShafie, M.L.; WanKadir, W.M.N.; Khatibsyarbini, M.; et al (2020). Model-based test case prioritization using selective and even-spread count-based methods with scrutinized ordering cri terion, In PloS one, 15(2), 1-27, 2020.
https://doi.org/10.1371/journal.pone.0229312
Li, Z.; Harman, M.; Hierons, R.M. (2007). Search algorithms for regression test case prioritization, In Transactions on Software Engineering, 33(4), 225-237, 2007.
https://doi.org/10.1109/TSE.2007.38
Li F.; Zhou, J.; Li, Y.; Hao, d. (2021). AGA: An Accelerated Greedy Additional Algorithm for Test Case Prioritization, In Transactions on Software Engineering, 48(12), 5102-5119, 2021.
Tizhoosh, H.R. (2005). Opposition-based learning, a new scheme for machine intelligence, In Int. Conf. Comput. Intell. Model, 1, 695-701, 2005.
Jianxun, L.; Shi, J.; Hao, F.; et al (2022). A novel enhanced global exploration whale optimization algorithm based on Lévy flights and judgment mechanism for global continuous optimization problems, In Engineering with Computers, 2022.
Huiling, C.; Chenjun, Y.; Ali, A.H.; et al (2020). An efficient double adaptive random spare reinforced whale optimization algorithm, In Expert Syst, 154, 113-118, 2020.
https://doi.org/10.1016/j.eswa.2019.113018
Awad, N.H.; Ali, M.Z.; Suganthan P.N.; et al (2016). Problem definitions and evaluation criteria, In The CEC 2017 Special Session and Competition on single-objective Real-Parameter Numerical Optimization, 1-34, 2016.
Software-artifact Infrastructure Repository. [Online]. Available, sir.csc.ncsu.edu/content/sir.php.
Hong, G. (2003). Comparison of immune algorithm with genetic algorithm, In Journal of Jinan University(Natural Science & Medicine Edition), 1(01), 22-25, 2003.
Arcuri, A.; Fraser, G. (2013). Parameter tuning or default values? An empirical investigation in search-based software engineering, In Empirical Software Engineering, 13(8), 594-623, 2013.
https://doi.org/10.1007/s10664-013-9249-9
Sayyad, A.S.; Goseva-Popstojanova, K.; Menzies, T. (2013). On parameter tuning in search based software engineering, A replicated empirical study, In 2013 3rd International Workshop on Replication in Empirical Software Engineering Research, 84-90, 2013.
https://doi.org/10.1109/RESER.2013.6
Dario, D.N.; Annibale, P.; Andy, Z.; Andrea, D.L. (2020). A Test Case Prioritization Genetic Algorithm Guided by the Hypervolume Indicator, In Transactions on Software Engineering, 46(6), 674-696, 2020.
Additional Files
Published
Issue
Section
License
Copyright (c) 2023 Bin Yang, Huilai Li, Ying Xing, Fuping Zeng, Chengdong Qian, Youzhi Shen, Jiongbo Wang
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
ONLINE OPEN ACCES: Acces to full text of each article and each issue are allowed for free in respect of Attribution-NonCommercial 4.0 International (CC BY-NC 4.0.
You are free to:
-Share: copy and redistribute the material in any medium or format;
-Adapt: remix, transform, and build upon the material.
The licensor cannot revoke these freedoms as long as you follow the license terms.
DISCLAIMER: The author(s) of each article appearing in International Journal of Computers Communications & Control is/are solely responsible for the content thereof; the publication of an article shall not constitute or be deemed to constitute any representation by the Editors or Agora University Press that the data presented therein are original, correct or sufficient to support the conclusions reached or that the experiment design or methodology is adequate.