Software testing is essential for ensuring the reliability and quality of software systems. Fault prediction and proneness have become critical concerns for the tech industry and software professionals. Traditional methods rely on past fault occurrences or faulty modules, which are often resource-intensive and exhaustive. Consequently, there's a growing interest in predictive techniques for early fault detection during the development lifecycle. In this research, Machine learning (ML) classification models have been proposed for fault prediction in software testing, using historical data to train models that recognize patterns indicative of faulty code. Automated software fault recovery models driven by ML further enhance performance, reduce faults, and optimize time and costs. Software defect predictive development models using various ML classification models, including Neural Networks (NN), applied to a real-world testing dataset have been proposed. To overcome Class imbalance problem, SMOTE ENN (Synthetic Minority Oversampling Technique Edited Nearest Neighbor) method has been implemented and accuracy has been used as the primary evaluation metric. The Random Forest model achieved a notable fault prediction accuracy of 93%. Additionally, through comprehensive literature analysis, the research delineates trends, highlights strengths, and suggests potential future research directions.