Abstract

Software testing is an important but expensive activity of software development life cycle, as it accounts for more than 52% of entire development cost. Testing requires the execution of all possible test cases in order to find the defects in the software. Therefore, different test suite optimization approaches like the genetic algorithm and the greedy algorithm, etc., are widely used to select the representative test suite without compromising the effectiveness. Test suite optimization is frequently researched to enhance its competences but there is no study published until now that analyzes the latest developments from 2016 to 2019. Hence, in this article, we systematically examine the state-of-the-art optimizations' approaches, tools, and supporting platforms. Principally, we conducted a systematic literature review (SLR) to inspect and examine 58 selected studies that are published during 2016-2019. Subsequently, the selected researches are grouped into five main categories, i.e., greedy algorithm (seven studies), meta-heuristic (28 studies), hybrid (six studies), clustering (five studies), and general (12 studies). Finally, 32 leading tools have been presented, i.e., existing tools (25 tools) and proposed/developed tools (seven tools) along 14 platform supports. Furthermore, it is noted that several approaches aim at solving the single-objective optimization problem. Therefore, researchers should focus on dealing with the multi-objective problem, as multi-objective versions outperform the single-objective ones. Moreover, less attention has been given to clustering-based techniques. Thus, we recommend exploring the machine learning and artificial intelligence-based optimization approaches in the future. A broad exploration of tools and techniques, in this article, will help researchers, practitioners, and developers to opt for adequate techniques, tools, or platforms as per requirements.

Highlights

  • Software testing is one of the most important activities of the software development life cycle

  • Twenty-eight (28) researches are associated with the meta-heuristic category and it is sub-categorized into a genetic algorithm that comprises of thirteen (13) studies, ACA algorithm which incorporates four (4) studies and other meta-heuristic algorithms/techniques embodies eleven (11) studies

  • Current AI (Artificial Intelligence) methods such as classification and clustering algorithms rely on just this type of primarily repetitive data to train models to forecast future outcomes accurately. These methods show the greatest promise for automating software testing today as they are capable to recognize complex patterns and make intelligent decisions based on training data

Read more

Summary

Introduction

Software testing is one of the most important activities of the software development life cycle. It is done to strengthen the quality of the product before delivering it to the client [1]. In spite of that, software testing is high-priced. More than fifty-two percent (>52%) of entire development cost is accounted for it. It is necessary to control the cost of testing process as much as possible because of its monotonous and time-consuming nature [2]. Optimization of test data can be done to control this cost [3]. Because when new test cases are added to the existing test suite for checking enhanced

Results
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.