Repetitive mutations in genetic algorithm for software test data generations - Kadhim, Mohammed Majid (2022)
Generating test data is the most important part of dynamic software testing. One of the white box testing techniques is path coverage testing. Genetic Algorithm (GA) has proven to be an important method in generating test data for automatic path coverage testing. However, to satisfy path coverage testing, GA’s operation of a single mutation generates test data that covers the same path in a single generation, hence resulting in path coverage duplication, which negatively increases the number of iterations. Therefore, this study proposes a repetitive mutation for GA in order to eliminate path coverage duplication and reduce the number of iterations for test data generations in path coverage testing. The study was conducted in three phases. First, the limitations of existing mutation techniques used in GA to generate test data for path coverage testing were analysed. Then, a repetitive mutation technique for GA was designed and implemented in a numerical simulation using C++ language. Finally, the evaluation phase that compares the outcome of the proposed technique against existing studies in terms of the number of iterations for test data generations. The findings show that the proposed repetitive mutation technique outperformed the single mutation technique by reducing the number of iterations to more than 50 percent for test data generations. The study has revealed the importance of mutation in generating test data and how it can be harnessed to quickly guide GA in producing solutions. In addition, the proposed repetitive mutation in GA can contribute to developing an adaptive GA testing tool.