Leveraging Clustering Algorithms for Optimizing Test Case Prioritization in Software Development

Leveraging Clustering Algorithms for Optimizing Test Case Prioritization in Software Development

Authors

  • Sheetal Sharma
  • Swati V. Chande
  • N.K. Joshi

Abstract

In the field of software development, ensuring the quality and reliability of software through rigorous testing is crucial. However, as software systems grow more complex, managing the vast number of test cases becomes increasingly challenging. To address this issue, test case prioritization techniques are essential, as they help identify and execute the most critical test cases first. This research paper proposes a novel approach to test case prioritization by leveraging clustering techniques, specifically K-means, in conjunction with machine learning algorithms. We investigate the advantages of K-means clustering for grouping similar test cases and enhancing prioritization efficiency. Additionally, we explore various machine learning algorithms, including Decision Trees (DT), Random Forests (RF), and Neural Networks (NN), and compare their effectiveness against traditional prioritization methods such as code coverage-based and risk-based techniques. Our study evaluates these methods using multiple datasets and metrics, including the number of test cases executed, fault detection rate, and execution time. The experimental results reveal that integrating K-means clustering with machine learning algorithms can significantly improve test case prioritization by reducing the number of test cases executed while maintaining or even enhancing fault detection rates. We also discuss the limitations of our approach and suggest directions for future research in optimizing test case prioritization with advanced machine learning techniques. Our findings offer valuable insights into developing more efficient software testing practices, ultimately contributing to the enhanced quality and reliability of software systems.

 

References

Abid, R., & Nadeem, A. (2017). A novel approach to multiple criteria-based test case prioritization. Proceedings of the 2017 13th International Conference on Emerging Technologies (ICET), Islamabad, Pakistan, 27–28 December 2017, 1-6. IEEE.

Khatibsyarbini, M., Isa, M. A., Jawawi, D. N. A., & Tumeng, R. (2018). Test case prioritization approaches in regression testing: A systematic literature review. Information and Software Technology, 93, 74–93.

Ammar, A., Gaber, M., & Ibrahim, N. (2016). Enhanced weighted method for test case prioritization in regression testing using unique priority value. Proceedings of the 2016 International Conference on Information Science and Security (ICISS), Pattaya, Thailand, 19–22 December 2016, 1-5. IEEE.

Konsaard, P., & Ramingwong, L. (2015). Using artificial bee colony for code coverage-based test suite prioritization. Proceedings of the 2015 2nd International Conference on Information Science and Security (ICISS), Seoul, Korea, 14–16 December 2015, 1-4. IEEE.

Rosero, R. H., Cruz, J. S., & López, M. A. (2017). Regression testing of database applications under an incremental software development setting. IEEE Access, 5, 18419–18428.

Zhu, Q., Wang, H., & Zhang, X. (2018). Test case prioritization using k-means clustering. Journal of Systems and Software, 137, 46–57.

Wang, S., Wu, L., & Zhou, P. (2017). Test case prioritization using fuzzy logic based on risk, code complexity, and execution time. Journal of Software Testing, Verification & Reliability, 27(6), 1-16.

Srikanth, H., Williams, L., & Osborne, J. (2005). A machine learning approach to test case prioritization for regression testing. Proceedings of the International Symposium on Software Reliability Engineering (ISSRE), 1-10. IEEE.

Jiang, H., Chan, K. Y., & Wu, Y. (2016). Fuzzy logic and neural network-based hybrid approach for test case prioritization. International Journal of Software Engineering and Knowledge Engineering, 26(4), 589–610.

Zheng, Y., Li, Z., & Liu, X. (2019). K-means clustering with fuzzy logic for test case prioritization. International Journal of Software Engineering and Applications, 10(2), 37–50.

Kim DH. Artificial intelligence-based modeling mechanisms for material analysis and discovery. Journal of Intelligent Pervasive and Soft Computing 2022; 1(1): 10–15.

Qayyum F, Kim DH, Bong SJ, et al. A survey of datasets, preprocessing, modeling mechanisms, and simulation tools based on AI for material analysis and discovery. Materials 2022; 15(4): 1428.

Zaman U, Mehmood F, Iqbal N, et al. Towards secure and intelligent internet of health things: A survey of enabling technologies and applications. Electronics 2022; 11(12): 1893. doi: 10.3390/electronics11121893

Meriem, A., & Abdelaziz, M. (2019, March). A Methodology to do Model-Based Testing using FMEA. In Proceedings of the 2nd International Conference on Networking, Information Systems & Security (pp. 1-11).

Srivastava, H., & Gupta, A. (2019). Test case prioritization using K-means clustering. Proceedings of the 2019 IEEE International Conference on Information Communication and Computing Systems (ICICCS), 73–78.

Agarwal, D. S., & Sharma, M. (2020). Enhancing test case prioritization using clustering techniques. Journal of Systems and Software, 159, 110.

Bansal, M., & Gupta, S. (2021). A novel approach for test case prioritization using clustering algorithms. Proceedings of the 2021 IEEE International Conference on Robotics and Automation for Humanitarian Applications (ICRAI), 451–458.

Singh, A. R., & Kumar, N. (2020). Regression test case prioritization using agglomerative clustering. Procedia Computer Science, 171, 72–81.

Downloads

Published

2024-10-05

Issue

Section

Articles

How to Cite

Leveraging Clustering Algorithms for Optimizing Test Case Prioritization in Software Development. (2024). International Journal of Sustainable Development Through AI, ML and IoT, 3(2), 1-9. https://ijsdai.com/index.php/IJSDAI/article/view/66

Most read articles by the same author(s)

1 2 3 4 > >>