|Authors||A. van Deursen, L. Moonen, A. van den Bergh and G. Kok|
|Editors||M. Marchesi and G. Succi|
|Title||Refactoring Test Code|
|Publication Type||Proceedings, refereed|
|Year of Publication||2001|
|Conference Name||Proceedings 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP2001)|
Two key aspects of extreme programming (XP) are unit testing and merciless refactoring. Given the fact that the ideal test code / production code ratio approaches 1:1, it is not surprising that unit tests are being refactored. We found that refactoring test code is different from refactoring production code in two ways: (1) there is a distinct set of bad smells involved, and (2) improving test code involves additional test-specific refactorings. To share our experiences with other XP practitioners, we describe a set of bad smells that indicate trouble in test code, and a collection of test refactorings to remove these smells.