Test and Production Classes of an Industrial C# System: A Refactoring and Fault Perspective

Matt Gatrell, Steve Counsell, Stephen Swift, Robert M. Hierons, Xinxin Liu · 2015

In a unit testing environment, understanding the relationship between production classes and test classes has implications for overall maintenance and hence systems development costs. Equally, the fault-proneness of each type may have a similar influence on the level or required maintenance. In this paper, we explore two aspects of the differences between test and production classes in a commercial C# system. From a refactoring perspective, a bespoke tool was used to extract fifteen types of refactoring from the system over a period of twelve months. Two research issues were then explored. Firstly, on the overlap and correspondence between refactorings applied to each class type (whether test or production). Secondly, when refactorings were undertaken in each type of class, we explored evolutionary refactoring trends as a means of understanding this issue.

Read the paper · More papers on PaperTik