I. Introduction
The primary objective of a software project is to get a high-quality software product while reducing the cost and the time required to complete the project. To do that, the software needs to be tested before being released. Software testing is the process of executing software to find if there are any defects or issues before the software is released. Software testing has always been essential during the software development life cycle. According to Capgemini's World Quality Report, companies assign a 25% budget to the testing, and by 2025, it may be around 33% [1].