Artificial Intelligence For Software Testing: A Review Of Automated Test Generation, Defect Prediction, Test Prioritization And LLM-Assisted Testing

14 Nov

Authors: Varhadi Shreya Sachin, Prof. S. S. Bhor, Prof. M. C. Kolse, Prof. S. K. Said

Abstract: Software testing consumes a large share of development effort, and manual test design cannot keep pace with frequent releases. Artificial intelligence and machine learning can automate test case generation, predict where defects are likely, prioritize which tests to run and help analyse results. This paper reviews AI for software testing. It examines search-based and feedback-directed automated test generation, including evolutionary generation of unit test suites and random testing guided by execution feedback, and whitebox fuzzing that uses symbolic execution to reach deep program paths. It reviews defect prediction from code metrics and change history, systematic evidence on fault-prediction performance, and reinforcement learning for test case prioritization and selection in continuous integration, where the goal is to find failures early within a limited time budget. It also reviews the use of large language models trained on code to generate unit tests, with empirical findings on coverage, correctness and the need for human review. A five-layer architecture comprising code and history data, risk modelling, test generation, execution and triage, and feedback layers is proposed, along with research gaps, objectives, a comparison of techniques and challenges such as the oracle problem, flaky tests, dataset quality and trust. The review concludes that AI makes testing faster and better targeted but does not remove the need for human judgement.

DOI: https://doi.org/10.5281/zenodo.24217564