Evaluation and Analysis of ML Techniques in Test Case Prioritization

Main Article Content

Tapas Kumar Choudhury, Subhendu Kumar Pani, Jibitesh Mishra

Abstract

Software testing refers to checking of software whether the software is working properly and it is defect-free. Software testing is an expensive process. Nowadays as the demand for software is increasing testing of software is very essential and software bugs could be expensive for the company. Regression testing is the type of software testing which clarifies that the program code has not affected the existing program. It is partially or fully re-executing of an already run test case to confirm that the given program is free of fault or bugs. Most regression techniques are usually emphasized in the program code to prioritize test cases. The need for regression testing is when we have changed the code and we need to confirm that the modified code does not affect the other part of the code. Regression testing is large and it requires an intelligent method to categorise the important test case faster so that maximum fault can be detected at the earliest. To ensure early fault detection and addressing crucial issues in the program, we use the concept of test case prioritization. Due to the shortage of time and constraints of resources prioritization of the test case has become an important factor now. Here we use the Average Percentage of Fault Detected (APFD) Value helps to find out how quick the fault is detected in the given test suit. APFD provide a value between 0 and 1. 1 is the best possible point and the higher the APFD value, the failures are detected and executed first and it proves that the algorithm used is fast and efficient for test case prioritization. In this paper, we use 5 basic ML (Machine Learning) based algorithms in the regression-based model. We train different datasets using these algorithms and obtain results on the test case prioritization and analyse the performance of these algorithms.

Article Details

Section
Articles