Abstract
Test case generation tools that optimize code coverage have been extensively investigated. Recently, researchers have suggested to add other non-coverage criteria, such as mem- ory consumption or readability, to increase the practical use- fulness of generated tests. In this paper, we observe that test code quality metrics, and test cohesion and coupling in particular, are valuable candidates as additional criteria. Indeed, tests with low cohesion and/or high coupling have been shown to have a negative impact on future mainte- nance activities. In an exploratory investigation we show that most generated tests are indeed affected by poor test code quality. For this reason, we incorporate cohesion and coupling metrics into the main loop of search-based algo- rithm for test case generation. Through an empirical study we show that our approach is not only able to generate tests that are more cohesive and less coupled, but can (i) increase branch coverage up to 10% when enough time is given to the search and (ii) result in statistically shorter tests.
Original language | English |
---|---|
Title of host publication | Proceedings of the 25th International Symposium on Software Testing and Analysis, ISSTA 2016 |
Place of Publication | New York, NY |
Publisher | Association for Computing Machinery (ACM) |
Pages | 130-141 |
Number of pages | 12 |
ISBN (Electronic) | 978-1-4503-4390-9 |
DOIs | |
Publication status | Published - Jul 2016 |
Keywords
- Evolutionary testing
- many-objective optimization
- branch coverage
- test code quality