Automatic software testing tools are still far from ideal for real world object-oriented (OO) software. The use of nature inspired search algorithms for this problem has been investigated recently. Testing complex data structures (e.g., containers) is very challenging since testing software with simple states is already hard. Because containers are used in almost every type of software, their reliability is of utmost importance. Hence, this paper focuses on the difficulties of testing container classes with nature inspired search algorithms. We will first describe how input data can be automatically generated for testing Java containers. Input space reductions and a novel testability transformation are presented to aid the search algorithms. Different search algorithms are then considered and studied in order to understand when and why a search algorithm is effective for a testing problem. In our experiments, these nature inspired search algorithms seem to give better results than the traditional techniques described in literature. Besides, the problem of minimising the length of the test sequences is also addressed. Finally, some open research questions are given. © 2007 Elsevier Inc. All rights reserved.
Bibliographical noteThis work is supported by an EPSRC grant (EP/D052785/1). The authors wish to thank Ramón Sagarna and Per Kristian Lehre for the useful discussions. The authors are also grateful to the anonymous referees of this paper for their constructive comments.
- Nature inspired algorithms
- Object-oriented software
- Search algorithms
- Search based software engineering
- Software testing
- Testability transformations
- White box testing