A bat-inspired t-way strategy for mixed-strength test suite generation - Ahmad, Yazan Sadeq Al Sariera (2017)
Software testing is essential part of software development life cycle. Yet, exhaustive testing of highly configurable software is impractical owing to the limited time and resources. Furthermore, exhaustive testing leads to a combinatorial explosion problem whereby the test cases grow exponentially with the increase of software inputs. Owing to its effectiveness for bug finding, many researchers are turning to the sampling strategies based on input interaction, called t-way testing, where t indicates the interaction strength. Known to be an NP-complete (i.e. Non-deterministic Polynomial-time) problem, the process of minimizing t-way test cases is challenging owing to the potentially large generated search space when dealing with large input values. To date, many t-way strategies have been proposed in the literature. Recently, researchers have advocated the adoption of meta-heuristic based t-way strategies in line with the emergence of the new field called Search Based Software Engineering (SBSE). Although helpful, no single meta-heuristic based t-way strategies can claim dominance over their other counterparts. For this reason, the search for a new meta-heuristic based t-way strategy is still a useful endeavor. This thesis presents the design and implementation of a new meta-heuristic based t-way strategy, called Bat-inspired t-way Strategy (BTS), for generating a mixed-strength t-way test suite. BTS is the first t-way strategy that adopts the Bat-inspired algorithm as its core implementation and adopts the Hamming distance as the final selection criteria to enhance the exploration of new solution. The experimental results supported by non-parametric statistical analysis demonstrate that BTS gives competitive performance over its counterparts. Specifically, BTS has achieved and matched 68.181% of the best sizes from the published benchmark results with 32.575 % new known best sizes. This finding contributes to the field of software testing by minimizing the number of test cases for test execution.