Test Code Refactoring Unveiled: Where and How Does It Affect Test Code Quality and Effectiveness?
Luana Martins, Valeria Pontillo, Heitor Costa, Filomena Ferrucci,, Fabio Palomba, Ivan Machado

TL;DR
This paper investigates how developers refactor test code, examining the impact of such refactoring on test quality and effectiveness through an exploratory mining study of open-source Java projects.
Contribution
It proposes a research agenda to analyze the effects of test code refactoring on quality and effectiveness, filling a knowledge gap in software engineering.
Findings
Refactoring often targets test classes with quality concerns
Refactoring can improve test code quality and effectiveness
Study will analyze the relationship between refactoring and test metrics
Abstract
Context. Refactoring has been widely investigated in the past in relation to production code quality, yet still little is known on how developers apply refactoring on test code. Specifically, there is still a lack of investigation into how developers typically refactor test code and its effects on test code quality and effectiveness. Objective. This paper presents a research agenda aimed to bridge this gap of knowledge by investigating (1) whether test refactoring actually targets test classes affected by quality and effectiveness concerns and (2) the extent to which refactoring contributes to the improvement of test code quality and effectiveness. Method. We plan to conduct an exploratory mining software repository study to collect test refactoring data of open-source Java projects from GitHub and statistically analyze them in combination with quality metrics, test smells, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Scientific Computing and Data Management
