We report on how the Wrangler refactoring tool has been used to improve and transform test code for Erlang systems. This has been achieved through the removal of code clones, the identification of properties for property-based testing and the definition of testing-aware refactorings and test-framework-specific refactorings. While some of the observations are Erlang-specific, others apply to test code in general. We argue that refactoring is particularly valuable within testing. The Wrangler tool for Erlang provides support for clone detection and removal, and this has been used effectively both for clarifying test code and in extracting higher-level properties from test suites. We also report on refactorings within particular test frameworks, and on the constraints on refactorings that test frameworks impose. 1 Background ProTest [1], EU FP7 grant 215868, concerns property-based testing. The interactions of refactoring and testing are the responsibility of the Kent team. Erlang [2...
Huiqing Li, Simon J. Thompson