Abstract

It is estimated that 80% of software development cost is spent on detecting and fixing defects. To tackle this issue, a number of tools and testing techniques have been developed to improve the existing testing framework. Although techniques such as static analysis, random testing and evolutionary testing have been used to automate the testing process, it is not clear what is the best approach. Previous research on evolutionary testing has mainly focused on procedural programming languages with code coverage as the main optimization parameter. In this work, we present an approach that combines a genetic algorithm with static analysis to automatically test Eiffel classes using the number of faults found as the optimization parameter. A total of 115 experiments on 22 Eiffel classes were executed to evaluate the effectiveness of evolutionary testing compared to the results obtained by running a random test case generator for 15, 30 and 60 minutes. The results show a genetic algorithm combined with static analysis can considerably increase the number of faults found compared to a random testing approach. In some cases, evolutionary testing found more faults in 15 minutes than a random testing strategy found in 60 minutes.

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.