Multi-task Test Redundancy Reduction Optimization Problem Based on the Sine Cosine Algorithm
摘要
Test redundancy is a situation when one or more requirements are covered by more than one test. During software testing activities, test redundancy is often undesirable owing to costing factors. Considered as optimization problem, many existing works have dealt with the test redundancy reduction problem by exploiting an array of metaheuristic algorithms as the backbone solution implementation (e.g., Simulated Annealing, Sine Cosine algorithm, Particle Swarm Optimization, etc.). To-date, metaheuristic-based implementations have been known to be efficient to address test redundancy and minimize the testing cost accordingly. Although helpful, much existing metaheuristic implementations mainly focus on the test redundancy reduction as a single optimization task. In any real software development endeavor, there is often a need to deal with more than one test redundancy reduction either for the same sub-projects or other parallel running projects. To cater for multiple test redundancy reduction requests, there is a need for multiple runs. Resorting to multiple runs can be inefficient, dull, and potentially a painstakingly difficult process. Addressing these issues, our current work investigates several possibilities to address multi-task test redundancy reduction optimization using the Sine Cosine Algorithm as the backbone algorithm. More precisely, our work investigates a few well-known multi-task optimization paradigms including sequential multi-task implementation, parallel/concurrent multi-task implementation, multi-population multi-task implementation, and multi-factorial implementation. Our evaluation gives promising results, although with minimal execution overhead, multi-task does not affect the test size reduction performance.