Engineering Science and Technology, an International Journal, cilt.24, ss.806-817, 2021 (SCI-Expanded)
© 2020 Karabuk UniversityTesting an object-oriented software is harder than testing a structural program due to inheritance, states, behaviour of different objects, association, and polymorphism properties of the object-oriented software, which is established based on classes. The classes should be carefully tested using predefined test cases to optimize coverage goals. Because generating test cases manually is labour-intensive, search-based software testing methods that maximize coverage criteria by a search algorithm can be used to generate test cases automatically. Artificial Bee Colony (ABC) algorithm is a powerful search tool that performs balanced exploration and exploitation. In this study, two new multi-criteria and combinatorial ABC algorithms using mutation and crossover operators are proposed to generate a test suite that maximizes a fitness function combining various goals for object-oriented software. First, an archive-based ABC algorithm is proposed to keep covered targets in the archive to use available search resource efficiently. Second, the archive-based ABC algorithm is improved to bring more diversity in the population. To investigate the effect of the archive, the basic ABC algorithm and the archive-based ABC algorithms are compared on a set of classes from SF110 corpus. To validate efficiency of the proposed methods, they are compared to state-of-the-art evolutionary test suite generators and random testing methodology on the classes divided into difficulty levels based on their weight method class values. The experimental results reveal that introducing an archive into the ABC algorithm provides fast convergence compared to the basic ABC and the improved archive-based ABC produces higher coverage for the problems with both low and high difficulty levels.