Evolutionary testing of object-oriented software
| Authors |
|
|---|---|
| Publication date | 2010 |
| Host editors |
|
| Book title | SAC '10: Proceedings of the 2010 ACM Symposium on Applied Computing |
| ISBN |
|
| Event | 25th Annual ACM Symposium on Applied Computing (SAC 2010), Sierre, Switzerland |
| Pages (from-to) | 1126-1130 |
| Publisher | New York, NY, USA: ACM |
| Organisations |
|
| 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.
|
| Document type | Conference contribution |
| Language | English |
| Published at | https://doi.org/10.1145/1774088.1774326 |
| Permalink to this page | |