Automated detection of test fixture strategies and smells

More Info
expand_more

Abstract

Paper accepted for publication in the Proceedings of the Sixth International Conference on Software Testing, Verification and Validation, IEEE Computer Society, 18-22 March 2013, ISBN 978-1-4673-5961-0, doi: 10.1109/ICST.2013.45 Designing automated tests is a challenging task. One important concern is how to design test fixtures, i.e. code that initializes and configures the system under test so that it is in an appropriate state for running particular automated tests. Test designers may have to choose between writing in-line fixture code for each test or refactor fixture code so that it can be reused for other tests. Deciding on which approach to use is a balancing act, often trading off maintenance overhead with slow test execution. Additionally, over time, test code quality can erode and test smells can develop, such as the occurrence of overly general fixtures, obscure in-line code and dead fields. In this paper, we show that test smells related to fixture set-up occur in industrial projects. We present a static analysis technique to identify fixture related test smells. We implemented this test analysis technique in a tool, called TestHound, which provides reports on test smells and recommendations for refactoring the smelly test code. We evaluate the tool through three industrial case studies and show that developers find that the tool helps them to understand, reflect on and adjust test code.

Files

TUD-SERG-2013-021.pdf
(pdf | 0.369 Mb)
Unknown license