Finding, locating, and resolving software defects takes a lot of
time and effort on the part of software engineers. Humans are
required to search and analyses data in traditional testing.
Humans are prone to making incorrect assumptions, resulting
in distorted results, which leads to defects being undetected.
Machine learning enables systems to learn and use what they
have learnt in the future, providing software testers with more
accurate information. Several advanced machine learning
approaches, such as deep learning, are capable of performing
a variety of software engineering tasks, including code
completion, defect prediction, bug localization, clone
detection, code search, and learning API sequences. One of
the most essential methods of examining software quality
assurance is software testing. This procedure is time-
consuming and costly, accounting for over half of the total
cost of software development. Researchers are looking for
using automated methods to reduce the cost and time of the
test, in addition to the cost issue. A survey has been conducted
with comparison between Machine Learning, and Data
Mining algorithms.These algorithms are such as: Hill-
Climbing Algorithm (HCA), Artificial Bee Colony Algorithm
(ABC), Firefly Algorithm (FA), Particle Swarm Optimization
(PSO), Artificial Bee Colony Algorithm (ABC), Genetic
Algorithm (GA), Ant Colony Optimization (ACO), Artificial
Neural Network (ANN), Support Vector Machine (SVM) and
Hybrid Algorithms. |