A Large-Scale Study on the Usage of Testing Patterns that Address Maintainability Attributes Patterns for Ease of Modification, Diagnoses, and Comprehension Danielle Gonzalez ∗, Joanna C.S. Santos∗, Andrew Popovich∗, Mehdi Mirakhorli∗, Mei Nagappany ∗Software Engineering Department, Rochester Institute of Technology, USA yDavid R. Cheriton School of Computer Science, University of Waterloo, Canada fdng2551,jds5109,ajp7560,
[email protected],
[email protected] Abstract—Test case maintainability is an important concern, studies [5], [10], [12], [21] emphasize that the maintainability especially in open source and distributed development envi- and readability attributes of the unit tests directly affect the ronments where projects typically have high contributor turn- number of defects detected in the production code. Further- over with varying backgrounds and experience, and where code ownership changes often. Similar to design patterns, patterns more, achieving high code coverage requires evolving and for unit testing promote maintainability quality attributes such maintaining a growing number of unit tests. Like source code, as ease of diagnoses, modifiability, and comprehension. In this poorly organized or hard-to-read test code makes test main- paper, we report the results of a large-scale study on the usage tenance and modification difficult, impacting defect identifi- of four xUnit testing patterns which can be used to satisfy these cation effectiveness. In “xUnit Test Patterns: Refactoring Test maintainability attributes. This is a first-of-its-kind study which developed automated techniques to investigate these issues across Code” George Meszaro [18] presents a set of automated unit 82,447 open source projects, and the findings provide more insight testing patterns, and promotes the idea of applying patterns to into testing practices in open source projects.