Abstract:
Software testing is a vital component in the software development lifecycle that ensures the final product's quality and stability. However, determining the best testing technique based on software requirements remains a difficult issue. Selecting and combining appropriate testing techniques in software engineering is difficult. It is difficult to select the optimum strategy for specific software and identify those that detect specific flaws. The goal of this research is to create and assess a unique machine learning-based model for recommending software testing techniques to software testers based on requirements. This study solves this issue by developing a recommender system after comparing machine learning algorithms specifically Random Forest, Support Vector Machine (SVM), XGBoost, GBM, and Cat Boost to select the best model to identify appropriate software testing methodologies depending on specific requirements of the software. The study employs 4548 datasets with attributes such as requirement ID, feature name, priority, description, and type. To successfully manage the textual data inside these characteristics, word embedding such as Word2Vec, Fast Text and TF-IDF are used. Prior to the model training phase, there is a rigorous procedure of data collecting and preprocessing. Hyper parameter tuning is used to improve the performance of the models. The best performing machine learning model is support vector machine learning algorithm with an accuracy of 93% using TF- IDF as a word embedding model. TF-IDF word embedding model performs better than the other word embedding models with all machine learning algorithms. The study has various potential advantages, including increased testing productivity through rapid technique selection, increased testing effectiveness through systematic alignment of techniques to requirements, and consistency and reproducibility in recommendations.
Keywords – Software testing technique, machine learning, word embedding,